9 years agoMerge branch 'v3.10/15-keystone-devicetree' into v3.10/master-rt K2_RT_LINUX_03.10.10_14.06
Merge branch 'v3.10/15-keystone-devicetree' into v3.10/master-rt
Merge branch 'v3.10/24-drivers-net' into v3.10/master-rt
net: keystone: xge: add serdes cdfe configuration
This patch adds support of serdes cdfe configurations. Serdes
c1, c2, cm, tx_att, tx_vreq configurations can be passed in
from device tree bindings. Serdes equalizer configurations
can be enabled or disabled through device tree bindings also.
Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
This patch adds support of serdes cdfe configurations. Serdes
c1, c2, cm, tx_att, tx_vreq configurations can be passed in
from device tree bindings. Serdes equalizer configurations
can be enabled or disabled through device tree bindings also.
Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
keystone: dts: k2hk: xge: add serdes config bindings
Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
Merge branch '24-drivers-net' into gtgit-master-rt
Merge branch '15-keystone-devicetree' into gtgit-master-rt
Merge branch '23-drivers-dmaengine' into gtgit-master-rt
Merge branch '34-drivers-crypto' into gtgit-master-rt
keystone: dts: k2hk: Add support for Rx checksum offload
This patch adds the dts entries required by the NETCP PA driver for recieve
checksum offload to NETCP.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
This patch adds the dts entries required by the NETCP PA driver for recieve
checksum offload to NETCP.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
dma: keystone: Add support for retrieving CPPI err
CPPI descriptor has error flags which can be set by NETCP to indicate error in
packet. For e.g. L3/L4 protocol checksum verification errors are indicated in
these flags, which the ethernet driver would need to access.
This patch adds support for retrieving the CPPI error flags through pktdma
driver.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
CPPI descriptor has error flags which can be set by NETCP to indicate error in
packet. For e.g. L3/L4 protocol checksum verification errors are indicated in
these flags, which the ethernet driver would need to access.
This patch adds support for retrieving the CPPI error flags through pktdma
driver.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
net: keystone: Add support for Rx checksum offload
NETCP PA can do IP, UDP, TCP & SCTP checksum verification on incoming packets.
For UDP & TCP checksum verification the packet has to forwarded upto LUT-2
classification. Any checksum verification errors are reported in the CPPI
descriptor error flag.
This patch adds support for Rx checksum offload for UDP/TCP to NETCP.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
NETCP PA can do IP, UDP, TCP & SCTP checksum verification on incoming packets.
For UDP & TCP checksum verification the packet has to forwarded upto LUT-2
classification. Any checksum verification errors are reported in the CPPI
descriptor error flag.
This patch adds support for Rx checksum offload for UDP/TCP to NETCP.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
crypto: keystone: Workaround for SASS PSINFO alignment issue in k2le
SASS in k2le is not able to handle certain combination of tag size
plus extra psinfo data. The workaround for this is to have the
extra data in psinfo to be 16 byte aligned.
Signed-off-by: Tinku Mannan <tmannan@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
SASS in k2le is not able to handle certain combination of tag size
plus extra psinfo data. The workaround for this is to have the
extra data in psinfo to be 16 byte aligned.
Signed-off-by: Tinku Mannan <tmannan@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Merge branch '15-keystone-devicetree' into gtgit-master-rt
Merge branch '24-drivers-net' into gtgit-master-rt
keystone: dts: Increase Tx descriptors for inflow IPSec for k2hk
This patch increases the number of Tx descriptors for inflow IPSec use case
to 1024. This is needed for higher throughput.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
This patch increases the number of Tx descriptors for inflow IPSec use case
to 1024. This is needed for higher throughput.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
net: keystone: net core data structure optimizations
Following 3 types of optimizations are done:
- unused element is removed
- some frequently used elements within the structure are cache aligned
- Number of psdata words to copied from HW descriptor is reduced to what is
used
This optimization yielded another ~3kpps of throughput increase for IP
forwarding use case.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
Following 3 types of optimizations are done:
- unused element is removed
- some frequently used elements within the structure are cache aligned
- Number of psdata words to copied from HW descriptor is reduced to what is
used
This optimization yielded another ~3kpps of throughput increase for IP
forwarding use case.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
net: keystone: sa: ipsec inflow issues on egress path with sa context stored in skb.
If ipsec inflow is enabled, for egress packets the sa context structure
is allocated and carried in the skb. The sa context structure needs to
be updated to include a reference count so that it wont be double freed
in case the skb is cloned, as well as a magic number/id field in order
for the sa_tx_hook to differeniate the sa context from a kernel structure
kernel structure that is used whenever ipsec is used on the receive path.
Signed-off-by: Tinku Mannan <tmannan@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
If ipsec inflow is enabled, for egress packets the sa context structure
is allocated and carried in the skb. The sa context structure needs to
be updated to include a reference count so that it wont be double freed
in case the skb is cloned, as well as a magic number/id field in order
for the sa_tx_hook to differeniate the sa context from a kernel structure
kernel structure that is used whenever ipsec is used on the receive path.
Signed-off-by: Tinku Mannan <tmannan@ti.com>
Signed-off-by: Hao Zhang <hzhang@ti.com>
Merge branch 'rebuild/15-keystone-devicetree' into v3.10/master-rt
This is a duplicate merge as the commits to the DT feature branch
was accidently not pushed to remote. The commits are now cherry
picked to feature branch from master and merged to master again.
This is a duplicate merge as the commits to the DT feature branch
was accidently not pushed to remote. The commits are now cherry
picked to feature branch from master and merged to master again.
keystone: dts: add PA device tree bindings for K2L
This patch adds Packet Accelerator device tree bindings for
K2L device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch adds Packet Accelerator device tree bindings for
K2L device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
keystone: dts: add PA device tree bindings for K2E
This patch adds Packet Accelerator device tree bindings for
K2E device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch adds Packet Accelerator device tree bindings for
K2E device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
keystone: dts: add network device tree bindings for K2L
This patch adds the network related device tree bindings (QoS tree,
netcp, etc.) for K2L device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <mkaricheri@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch adds the network related device tree bindings (QoS tree,
netcp, etc.) for K2L device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <mkaricheri@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
keystone: dts: add network device tree bindings for K2E
This patch adds the network related device tree bindings (QoS tree,
netcp, etc.) for K2E device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
Signed-off-by: Murali Karicheri <mkaricheri@ti.com>
This patch adds the network related device tree bindings (QoS tree,
netcp, etc.) for K2E device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
Signed-off-by: Murali Karicheri <mkaricheri@ti.com>
keystone: dts: add sgmii serdes bindings
This adds bindings for sgmii serdes driver
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This adds bindings for sgmii serdes driver
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
Merge branch 'rebuild/15-keystone-devicetree' into v3.10/master-rt
Merge branch 'rebuild/26-drivers-misc' into v3.10/master-rt
Merge branch 'rebuild/01-upstream' into v3.10/master-rt
gpio: keystone: update for second instance of gpio
On Lamarr, there are two instances of GPIO. Current code assumes
that address space 0x00 - 0x10 that has binten register is common
across all instances of GPIO. But this is not true and every GPIO
has its own memory map for this. So this is fixed to have common
register space.
Also changed __raw_readl/writel() APIs to readl/writel(). Update the
devicetree bindings documentation to reflect the reg property value
change.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
On Lamarr, there are two instances of GPIO. Current code assumes
that address space 0x00 - 0x10 that has binten register is common
across all instances of GPIO. But this is not true and every GPIO
has its own memory map for this. So this is fixed to have common
register space.
Also changed __raw_readl/writel() APIs to readl/writel(). Update the
devicetree bindings documentation to reflect the reg property value
change.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
keystone: dts: k2l: Fix chip selects for SPI devices
There are 5 chip selects per SPI0 and SPI2 and 3 per SPI1. SPI2 needs
to be pinned out to use and by default they are disabled. So keep the
state disabled to reflect default.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
There are 5 chip selects per SPI0 and SPI2 and 3 per SPI1. SPI2 needs
to be pinned out to use and by default they are disabled. So keep the
state disabled to reflect default.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
keystone: dts: add support for second GPIO device for K2L
In K2L SoC, there is a second GPIO device available through Pin Mux. This
patch add the bindings for this, but keep the status disabled. Also
added a note stating, this can be enabled only with pin mux configured.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
In K2L SoC, there is a second GPIO device available through Pin Mux. This
patch add the bindings for this, but keep the status disabled. Also
added a note stating, this can be enabled only with pin mux configured.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
keystone: dts: fix DT bindings for GPIO.
GPIO driver commit "gpio: keystone: update for second instance of gpio"
changed the reg property to have a single range. Update the DT bindings
to work with this change.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
GPIO driver commit "gpio: keystone: update for second instance of gpio"
changed the reg property to have a single range. Update the DT bindings
to work with this change.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
spi: davinci: add support to configure GPIO CS through DT
Currently driver supports only configuration of GPIO CS through
platform data. This patch enhances the driver to configure GPIO
CS through DT. Also update the DT binding documentation to
reflect the availability of cs-gpios.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Currently driver supports only configuration of GPIO CS through
platform data. This patch enhances the driver to configure GPIO
CS through DT. Also update the DT binding documentation to
reflect the availability of cs-gpios.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
spi: davinci: fix to support more than 2 chip selects
Currently, the driver defines SPI_MAX_CHIPSELECT as 2 and
use per device array bytes_per_word based on this. This breaks
if num_chipselect per device is greater than 2. This patch
fix this and allocate memory for this array based on
num_chipselect.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Currently, the driver defines SPI_MAX_CHIPSELECT as 2 and
use per device array bytes_per_word based on this. This breaks
if num_chipselect per device is greater than 2. This patch
fix this and allocate memory for this array based on
num_chipselect.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
[tmp] net: keystone2: workaround for the MAC ID efuse regs swapping issue
This patch works around a problem that some of the initial bring-up
K2L/K2E SoC have the two MAC ID efuse registers swapped.
Signed-off-by: Hao Zhang <hzhang@ti.com>
This patch works around a problem that some of the initial bring-up
K2L/K2E SoC have the two MAC ID efuse registers swapped.
Signed-off-by: Hao Zhang <hzhang@ti.com>
net: keystone: ethernet: add PA2 plugin driver
This patch adds Packet Accelerator 2 plugin driver to support the
NSS (Network Sub-System) for TI Keystone II K2E and K2L devices.
The new driver supports 9 clusters with up to 15 PDSP processors
(8 Ingress, 2 post and 5 Egress PDSPs).
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch adds Packet Accelerator 2 plugin driver to support the
NSS (Network Sub-System) for TI Keystone II K2E and K2L devices.
The new driver supports 9 clusters with up to 15 PDSP processors
(8 Ingress, 2 post and 5 Egress PDSPs).
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
net: keystone: ethernet: create ethss2 plugin driver
This patch creates a new 1GB Ethernet driver plugin driver to support
the NSS (Network Sub-System) for TI Keystone II K2E and K2L devices.
The new driver supports a Ethernet switch with up to 8 EMAC (slave)
ports and 1 host port.
Signed-off-by: Hao Zhang <hzhang@ti.com>
This patch creates a new 1GB Ethernet driver plugin driver to support
the NSS (Network Sub-System) for TI Keystone II K2E and K2L devices.
The new driver supports a Ethernet switch with up to 8 EMAC (slave)
ports and 1 host port.
Signed-off-by: Hao Zhang <hzhang@ti.com>
net: keystone: serdes: add SGMII SERDES driver
This patch creates a new SGMII SERDES driver to support
TI Keystone II SERDES IP. The driver has generic API's
that are also extendable to other Keystone II peripherals,
such as PCSR SERDES, PCIe SERDES, etc.)
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch creates a new SGMII SERDES driver to support
TI Keystone II SERDES IP. The driver has generic API's
that are also extendable to other Keystone II peripherals,
such as PCSR SERDES, PCIe SERDES, etc.)
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
net: keystone: ale: add support for ALE rev 1.4
This patch updates the Address Lookup Engine driver to support
new revision (v1.4) of ALE IP which has up to 8 slave ports
and 1 host port.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch updates the Address Lookup Engine driver to support
new revision (v1.4) of ALE IP which has up to 8 slave ports
and 1 host port.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
Merge branch 'rebuild/15-keystone-devicetree' into v3.10/master-rt
Merge branch 'rebuild/24-drivers-net' into v3.10/master-rt
Merge branch 'rebuild/20-firmware' into v3.10/master-rt
[tmp] net: keystone: workaround for the MAC ID efuse regs swapping issue
This patch works around a problem that some of the initial bring-up
K2L/K2E SoC have the two MAC ID efuse registers swapped.
Signed-off-by: Hao Zhang <hzhang@ti.com>
This patch works around a problem that some of the initial bring-up
K2L/K2E SoC have the two MAC ID efuse registers swapped.
Signed-off-by: Hao Zhang <hzhang@ti.com>
keystone: dts: add PA device tree bindings for K2L
This patch adds Packet Accelerator device tree bindings for
K2L device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch adds Packet Accelerator device tree bindings for
K2L device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
keystone: dts: add PA device tree bindings for K2E
This patch adds Packet Accelerator device tree bindings for
K2E device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch adds Packet Accelerator device tree bindings for
K2E device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
keystone: dts: add network device tree bindings for K2L
This patch adds the network related device tree bindings (QoS tree,
netcp, etc.) for K2L device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <mkaricheri@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch adds the network related device tree bindings (QoS tree,
netcp, etc.) for K2L device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <mkaricheri@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
keystone: dts: add network device tree bindings for K2E
This patch adds the network related device tree bindings (QoS tree,
netcp, etc.) for K2E device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
Signed-off-by: Murali Karicheri <mkaricheri@ti.com>
This patch adds the network related device tree bindings (QoS tree,
netcp, etc.) for K2E device.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
Signed-off-by: Murali Karicheri <mkaricheri@ti.com>
keystone: dts: add sgmii serdes bindings
This adds bindings for sgmii serdes driver
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This adds bindings for sgmii serdes driver
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
firmware: keystone: pa: add PA PDSP firmwares for K2E/K2L
This patch adds PDSP firmwares for Packet Accelerator 2 driver
to support TI Keystone II K2E and K2L devices.
Signed-off-by: Hao Zhang <hzhang@ti.com>
This patch adds PDSP firmwares for Packet Accelerator 2 driver
to support TI Keystone II K2E and K2L devices.
Signed-off-by: Hao Zhang <hzhang@ti.com>
net: keystone: ethernet: add PA2 plugin driver
This patch adds Packet Accelerator 2 plugin driver to support the
NSS (Network Sub-System) for TI Keystone II K2E and K2L devices.
The new driver supports 9 clusters with up to 15 PDSP processors
(8 Ingress, 2 post and 5 Egress PDSPs).
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch adds Packet Accelerator 2 plugin driver to support the
NSS (Network Sub-System) for TI Keystone II K2E and K2L devices.
The new driver supports 9 clusters with up to 15 PDSP processors
(8 Ingress, 2 post and 5 Egress PDSPs).
Signed-off-by: Hao Zhang <hzhang@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
net: keystone: ethernet: create ethss2 plugin driver
This patch creates a new 1GB Ethernet driver plugin driver to support
the NSS (Network Sub-System) for TI Keystone II K2E and K2L devices.
The new driver supports a Ethernet switch with up to 8 EMAC (slave)
ports and 1 host port.
Signed-off-by: Hao Zhang <hzhang@ti.com>
This patch creates a new 1GB Ethernet driver plugin driver to support
the NSS (Network Sub-System) for TI Keystone II K2E and K2L devices.
The new driver supports a Ethernet switch with up to 8 EMAC (slave)
ports and 1 host port.
Signed-off-by: Hao Zhang <hzhang@ti.com>
net: keystone: serdes: add SGMII SERDES driver
This patch creates a new SGMII SERDES driver to support
TI Keystone II SERDES IP. The driver has generic API's
that are also extendable to other Keystone II peripherals,
such as PCSR SERDES, PCIe SERDES, etc.)
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch creates a new SGMII SERDES driver to support
TI Keystone II SERDES IP. The driver has generic API's
that are also extendable to other Keystone II peripherals,
such as PCSR SERDES, PCIe SERDES, etc.)
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
net: keystone: ale: add support for ALE rev 1.4
This patch updates the Address Lookup Engine driver to support
new revision (v1.4) of ALE IP which has up to 8 slave ports
and 1 host port.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
This patch updates the Address Lookup Engine driver to support
new revision (v1.4) of ALE IP which has up to 8 slave ports
and 1 host port.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Acked-by: Reece Pollack <x0183204@ti.com>
Merge branch 'rebuild/12-keystone-machine' into v3.10/master-rt
Merge branch 'rebuild/15-keystone-devicetree' into v3.10/master-rt
ARM: keystone: ecc: add DDR3 ECC interrupt handling
This patch adds DDR3 ECC interrupt handling for Keystone II
devices, the kernel will reboot if detected error is a
2-bit error.
Signed-off-by: Hao Zhang <hzhang@ti.com>
This patch adds DDR3 ECC interrupt handling for Keystone II
devices, the kernel will reboot if detected error is a
2-bit error.
Signed-off-by: Hao Zhang <hzhang@ti.com>
ARM: keystone: Build all keystone dt blobs
Now we have additional two SOC/boards supported, so add
make file rule so that all device tree blobs can be build
for keystone with 'make dtbs'.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Murali Karicheri <m-karicheri2@ti.com>
Now we have additional two SOC/boards supported, so add
make file rule so that all device tree blobs can be build
for keystone with 'make dtbs'.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Murali Karicheri <m-karicheri2@ti.com>
keystone: dts: add DDR3 ECC error interrupt bindings
This patch add DT bindings to support ECC error handling for K2 family
of devices.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
This patch add DT bindings to support ECC error handling for K2 family
of devices.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
keystone2: dts: create K2L device tree bindings
This patch creates TI Keystone II K2L device specific tree bindings
which include K2L clocks, SoC and EVM specific device tree files.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
This patch creates TI Keystone II K2L device specific tree bindings
which include K2L clocks, SoC and EVM specific device tree files.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
keystone2: dts: create k2e device tree bindings
This patch creats TI Keystone II K2E specific device tree bindings,
which includes clocks, SoC and EVM device tree files.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
This patch creats TI Keystone II K2E specific device tree bindings,
which includes clocks, SoC and EVM device tree files.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Merge branch 'rebuild/15-keystone-devicetree' into master/master-rt
keystone: dts: move QoS specific nodes to EVM dts file
Network QoS related parameters doesn't belong to the common SoC
specific DTS file. This is an application and should be defined
at a board level. A specific implementation may not use QoS at all or
use it on a specific interface based on use case. So move this to
to board specific dts file.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Network QoS related parameters doesn't belong to the common SoC
specific DTS file. This is an application and should be defined
at a board level. A specific implementation may not use QoS at all or
use it on a specific interface based on use case. So move this to
to board specific dts file.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Merge branch 'rebuild/12-keystone-machine' into v3.10/master-rt
Merge branch 'rebuild/15-keystone-devicetree' into v3.10/master-rt
keystone: dts: change evm compatibility string for k2hk EVM
Change from ti,tci6638-evm to ti,keystone as per upstream.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Change from ti,tci6638-evm to ti,keystone as per upstream.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
keystone: dts: move k2hk specific bindings to separate files
This patch moves TI Keystone II K2HK specific clocks, network, SoC
bindings from k2hk-evm.dts to k2hk-clocks.dtsi, k2hk-net.dtsi and
k2hk.dtsi. Also common aliases are moved to keystone.dtsi and
specific ones retained in k2hk-evm.dts
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
This patch moves TI Keystone II K2HK specific clocks, network, SoC
bindings from k2hk-evm.dts to k2hk-clocks.dtsi, k2hk-net.dtsi and
k2hk.dtsi. Also common aliases are moved to keystone.dtsi and
specific ones retained in k2hk-evm.dts
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
keystone: dts: move common QoS tree bindings to a separate file
This patch moves common Keystone II QoS network related bindings from
k2hk-evm.dts to keystone-qostree.dtsi, so that it can be re-used across
all the TI Keystone II devices.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
This patch moves common Keystone II QoS network related bindings from
k2hk-evm.dts to keystone-qostree.dtsi, so that it can be re-used across
all the TI Keystone II devices.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
keystone: dts: move common clock bindings to a separate file
This patch moves Keystone II common clock bindings from k2hk-evm.dts
to keystone-clocks.dtsi so that it can be re-used across all the Keystone
II devices, such as K2HK, K2E and K2L.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
This patch moves Keystone II common clock bindings from k2hk-evm.dts
to keystone-clocks.dtsi so that it can be re-used across all the Keystone
II devices, such as K2HK, K2E and K2L.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
keystone: dts: move common SoC bindings to a separate file
This patch moves common Keystone II SoC bindings from k2hk-evm.dts
to keystone.dtsi so that it can be re-used across all the TI
Keystone II devices. keystone.dtsi includes common Keystone II clock
related bindings and common network related binding. It also includes
other common device configurations, such as hardware queue driver,
packet dma driver, etc.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
This patch moves common Keystone II SoC bindings from k2hk-evm.dts
to keystone.dtsi so that it can be re-used across all the TI
Keystone II devices. keystone.dtsi includes common Keystone II clock
related bindings and common network related binding. It also includes
other common device configurations, such as hardware queue driver,
packet dma driver, etc.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Merge branch '24-drivers-net' into gtgit-master-rt
The following commit was not merged to the feature branch during the original
merge. This merge/commit is to fix that issue.
4b00ca8 net: keystone: change Rx NAPI weight to 64
The following commit was not merged to the feature branch during the original
merge. This merge/commit is to fix that issue.
4b00ca8 net: keystone: change Rx NAPI weight to 64
net: keystone: change Rx NAPI weight to 64
This patch changes the Rx NAPI weight to 64. Empirical data for
ip forwarding use case showed stable throughput performance for
this NAPI weight along with reduced number of descriptors for the
Rx flow.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
This patch changes the Rx NAPI weight to 64. Empirical data for
ip forwarding use case showed stable throughput performance for
this NAPI weight along with reduced number of descriptors for the
Rx flow.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
Merge branch '15-keystone-devicetree' into gtgit-master-rt
The following commit was not merged to the feature branch during the original
merge. This merge/commit is to fix that issue.
33d2463 tci6638: dts: change Rx FDQ depth to 128
The following commit was not merged to the feature branch during the original
merge. This merge/commit is to fix that issue.
33d2463 tci6638: dts: change Rx FDQ depth to 128
tci6638: dts: change Rx FDQ depth to 128
This patch changes the number of primary Rx descriptors in Rx flow to 128.
Empirical data for ip forwarding use case showed stable throughput performance
for this count along with a Rx NAPI weight of 64.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
This patch changes the number of primary Rx descriptors in Rx flow to 128.
Empirical data for ip forwarding use case showed stable throughput performance
for this count along with a Rx NAPI weight of 64.
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
ARM: keystone: use common "ti,keystone" compatible
This patch uses a common "ti,keystone' top-level compatilbe for
all the Keystone II platforms.
This is the same patch as the upstream commit "ARM: dts: keystone:
use common "ti,keystone" compatible instead of -evm", and need to be
dropped once rebaseline to the upstream kernel.
Signed-off-by: Hao Zhang <hzhang@ti.com>
This patch uses a common "ti,keystone' top-level compatilbe for
all the Keystone II platforms.
This is the same patch as the upstream commit "ARM: dts: keystone:
use common "ti,keystone" compatible instead of -evm", and need to be
dropped once rebaseline to the upstream kernel.
Signed-off-by: Hao Zhang <hzhang@ti.com>
Merge branch 'no-upstream' into master-rt
Outer shared Hack
-
From 7c203ddc9436793c55201661088d8e4980afdeae Mon Sep 17 00:00:00 2001
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
Date: Fri, 7 Feb 2014 15:21:11 -0500
Subject: [PATCH] Hack for Outer sharable memory
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
-
From 7c203ddc9436793c55201661088d8e4980afdeae Mon Sep 17 00:00:00 2001
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
Date: Fri, 7 Feb 2014 15:21:11 -0500
Subject: [PATCH] Hack for Outer sharable memory
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Merge branch 'rebuild/13-keystone-defconfig' into v3.10/master-rt
ARM: keystone2: defconfig: add CRYPTO_SHA256 option
Merge remote-tracking branch 'origin/master/rebuild/22-drivers-hwqueue' into master/master-rt
hwqueue: keystone: Support "blended-scheduler" QoS node type
This patch adds support for the "blended-scheduler" QoS node type,
which allows a mix of "strict-priority" and "weighted-round-robin"
functionality in a single port. Child nodes containing a "priority"
attribute are treated as SP inputs, while child nodes with a
"weight" attribute are treated as WRR inputs. SP inputs are given
priority above WRR inputs.
Children with a new attribute, "low-priority", are treated as SP
inputs, except they are processed only when all SP and WRR input
queues are empty.
This exposes the full functionality of the underlying firmware and
can permit significant reduction in port usage.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
This patch adds support for the "blended-scheduler" QoS node type,
which allows a mix of "strict-priority" and "weighted-round-robin"
functionality in a single port. Child nodes containing a "priority"
attribute are treated as SP inputs, while child nodes with a
"weight" attribute are treated as WRR inputs. SP inputs are given
priority above WRR inputs.
Children with a new attribute, "low-priority", are treated as SP
inputs, except they are processed only when all SP and WRR input
queues are empty.
This exposes the full functionality of the underlying firmware and
can permit significant reduction in port usage.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
9 years agoMerge remote-tracking branch 'origin/master/rebuild/24-drivers-net' into master/master-rt
Merge remote-tracking branch 'origin/master/rebuild/24-drivers-net' into master/master-rt
Merge remote-tracking branch 'origin/master/rebuild/22-drivers-hwqueue' into master/master-rt
net: keystone: Allocate QoS channels based on num_tx_queues
This patch replaces the compile-time sizing of the "channels"
array with run-time sizing based on the net_device field
"num_tx_queues". This field is set during device creation
(in ethss, based on the device tree "intf_tx_queues" parameter)
and indicates the number of TX queues Linux allocates.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
This patch replaces the compile-time sizing of the "channels"
array with run-time sizing based on the net_device field
"num_tx_queues". This field is set during device creation
(in ethss, based on the device tree "intf_tx_queues" parameter)
and indicates the number of TX queues Linux allocates.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
hwqueue: keystone: Correct Linking RAM 0 Size register configuration
This patch corrects a configuration error in the Linking RAM 0 Size
register. The spec reads "Any descriptor index less than or equal to
this value will be considered in Linking RAM 0." Thus this register
needs to be configured as (Size - 1), rather than Size.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
This patch corrects a configuration error in the Linking RAM 0 Size
register. The spec reads "Any descriptor index less than or equal to
this value will be considered in Linking RAM 0." Thus this register
needs to be configured as (Size - 1), rather than Size.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
Merge branch 'master/rebuild/22-drivers-hwqueue' into master/master-rt
hwqueue: keystone: Fix a bug in the sched_out_throttle calculations
Parameter "sched_out_throttle" is configured too small. This leads
to under-utilization (low rate) and unexpected drops. Seen with
1000:100:10:1 ratio WRR with 80mbit output and 60-80mbit input. The
ratio kicks in with drops when all traffic should pass.
This patch increments the value of this parameter unless it's zero.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
Parameter "sched_out_throttle" is configured too small. This leads
to under-utilization (low rate) and unexpected drops. Seen with
1000:100:10:1 ratio WRR with 80mbit output and 60-80mbit input. The
ratio kicks in with drops when all traffic should pass.
This patch increments the value of this parameter unless it's zero.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
hwqueue: keystone: Bounds-check the output-rate burst size
If the second parameter of the output-rate parameter (or the sysfs
burst_size attribute) is set too large, the firmware's calculation
of the circuit credit will roll negative. This causes unwanted
packet drops.
This patch applies bounds-checking to these parameters. If the
device tree contains a bad value we cap it at the calculated
maximum value and output a warning. If a bad value is written to
sysfs, we reject it by returning an error.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
If the second parameter of the output-rate parameter (or the sysfs
burst_size attribute) is set too large, the firmware's calculation
of the circuit credit will roll negative. This causes unwanted
packet drops.
This patch applies bounds-checking to these parameters. If the
device tree contains a bad value we cap it at the calculated
maximum value and output a warning. If a bad value is written to
sysfs, we reject it by returning an error.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
Merge branch 'master/rebuild/22-drivers-hwqueue' into master/master-rt
hwqueue: keystone: Fix bug setting WRR weights through sysfs
This patch corrects a bug when changing the WRR weights through
sysfs. This bug affected only the input queues associated with
the odd port of an even/odd port pair.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
This patch corrects a bug when changing the WRR weights through
sysfs. This bug affected only the input queues associated with
the odd port of an even/odd port pair.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
Merge remote-tracking branch 'origin/master/rebuild/22-drivers-hwqueue' into master/master-rt
Merge remote-tracking branch 'origin/master/rebuild/15-keystone-devicetree' into master/master-rt
Merge remote-tracking branch 'origin/master/rebuild/20-firmware' into master/master-rt
hwqueue: keystone: Support joint-lite QoS port pairs
QoS firmware 2.0.1.7 supports the concept of "joint" ports, where
an even/odd pair of lite ports work as if they are a single double-
wide port, managing 8 instead of 4 input queues.
This patch adds configuration support for this to the Hardware
Queue QoS module.
No new configuration keywords are necessary to take advantage of
this feature. Configuring a WRR or SP port with more than 4 inputs
will automatically result in the allocation of a joint port pair.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
QoS firmware 2.0.1.7 supports the concept of "joint" ports, where
an even/odd pair of lite ports work as if they are a single double-
wide port, managing 8 instead of 4 input queues.
This patch adds configuration support for this to the Hardware
Queue QoS module.
No new configuration keywords are necessary to take advantage of
this feature. Configuring a WRR or SP port with more than 4 inputs
will automatically result in the allocation of a joint port pair.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
tci6638: dts: Update QMSS QoS firmware to 2.0.1.7
QMSS QoS firmware 2.0.1.7 adds support for "lite" ports that can be
paired (even/odd) to support 8 input queues.
This commit changes the name of the QMSS QoS firmware. This commit
must be synchronized with the earlier commit that adds the 2.0.1.7
firmware.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
QMSS QoS firmware 2.0.1.7 adds support for "lite" ports that can be
paired (even/odd) to support 8 input queues.
This commit changes the name of the QMSS QoS firmware. This commit
must be synchronized with the earlier commit that adds the 2.0.1.7
firmware.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
firmware: keystone: Update QMSS QoS firmware to 2.0.1.7
QMSS QoS firmware 2.0.1.7 adds support for "lite" ports that can be
paired (even/odd) to support 8 input queues.
This patch adds firmware 2.0.1.7 and deletes 2.0.1.6. It also deletes
the unused file "qmss_qos.fw.ihex" to avoid further confusion.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
QMSS QoS firmware 2.0.1.7 adds support for "lite" ports that can be
paired (even/odd) to support 8 input queues.
This patch adds firmware 2.0.1.7 and deletes 2.0.1.6. It also deletes
the unused file "qmss_qos.fw.ihex" to avoid further confusion.
Signed-off-by: Reece R. Pollack <x0183204@ti.com>
Merge remote-tracking branch 'gtgit/master/rebuild/01-upstream' into v3.10/master-rt
serial: uart: add hw flow control support configuration
8250 uart driver currently supports only software assisted hw flow
control. The software assisted hw flow control maintains a hw_stopped
flag in the tty structure to stop and start transmission and use modem
status interrupt for the event to drive the handshake signals. This is
not needed if hw has flow control capabilities. This patch adds a
DT attribute for enabling hw flow control for a uart port. Also skip
stop and start if this flag is present in flag field of the port
structure.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
CC: Rob Herring <robh+dt@kernel.org>
CC: Pawel Moll <pawel.moll@arm.com>
CC: Mark Rutland <mark.rutland@arm.com>
CC: Ian Campbell <ijc+devicetree@hellion.org.uk>
CC: Kumar Gala <galak@codeaurora.org>
CC: Randy Dunlap <rdunlap@infradead.org>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: Jiri Slaby <jslaby@suse.cz>
CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
8250 uart driver currently supports only software assisted hw flow
control. The software assisted hw flow control maintains a hw_stopped
flag in the tty structure to stop and start transmission and use modem
status interrupt for the event to drive the handshake signals. This is
not needed if hw has flow control capabilities. This patch adds a
DT attribute for enabling hw flow control for a uart port. Also skip
stop and start if this flag is present in flag field of the port
structure.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
CC: Rob Herring <robh+dt@kernel.org>
CC: Pawel Moll <pawel.moll@arm.com>
CC: Mark Rutland <mark.rutland@arm.com>
CC: Ian Campbell <ijc+devicetree@hellion.org.uk>
CC: Kumar Gala <galak@codeaurora.org>
CC: Randy Dunlap <rdunlap@infradead.org>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: Jiri Slaby <jslaby@suse.cz>
CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
Merge remote-tracking branch 'gtgit/master/rebuild/15-keystone-devicetree' into v3.10/master-rt
tci6638: dts: fix timer15 interrupt
Correct interrupt line for timer15 is 110. 80 is for timer0. This
patch fix this.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Correct interrupt line for timer15 is 110. 80 is for timer0. This
patch fix this.
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Merge branch 'merge/rebuild/24-drivers-net' into merge/master-rt
net: keystone: ale: explicitly disable ALE forwarding on all ports at start up
During the start up of the ethernet switch driver, the switch is not reset and
unused ports are not reconfigured. Hence the forwarding state of these unused
ports are inherited from u-boot's configuration which is undesirable. This
patch adds code to disable the forwarding state of all ports during the start
up of the ALE driver. The forwarding state is enabled when a port is
configured.
Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
During the start up of the ethernet switch driver, the switch is not reset and
unused ports are not reconfigured. Hence the forwarding state of these unused
ports are inherited from u-boot's configuration which is undesirable. This
patch adds code to disable the forwarding state of all ports during the start
up of the ALE driver. The forwarding state is enabled when a port is
configured.
Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
Merge branch 'my_prj/rebuild/15-keystone-devicetree' into gtgit-master-rt