u-boot/arch/arm
Anurag Kumar Vulisha 110d06b2e3 arm64: zynqmp: Add SMMU support for SATA IP
AXI master interface in CEVA AHCI controller requires two unique
Write/Read ID tags per port. This is because, ahci controller uses
different AXI ID[3:0] bits for identifying non-data transfers(like
reading descriptors, updating PRD tables, etc) and data transfers
(like sending/receiving FIS).To make SMMU work with SATA we need to
add correct SMMU stream id for SATA. SMMU stream id for SATA is
determined based on the AXI ID[1:0] as shown below

	SATA SMMU ID =  <TBU number>, 0011, 00, 00, AXI ID[1:0]
	Note: SATA in  ZynqMp uses TBU1 so TBU number = 0x1, so
	      SMMU ID = 001, 0011, 00, 00, AXI ID[1:0]

Since we have four different AXI ID[3:0] (2 for port0 & 2 for port1
as said above) we get four different SMMU stream id's combinations
for SATA. These AXI ID can be configured using PAXIC register.
In this patch we assumed the below AXI ID values

 Read ID/ Write ID for Non-Data Port0 transfers = 0
 Read ID/ Write ID for Data Port0 transfers = 1
 Read ID/ Write ID for Non-Data Port1 transfers = 2
 Read ID/ Write ID for Data Port1 transfers = 3

Based on the above values,SMMU stream ID's for SATA will be 0x4c0 &
0x4c1 for PORT0, 0x4c2 & 0x4c3 for PORT1. These values needed to be
added to iommus dts property. This patch does the same.

Signed-off-by: Anurag Kumar Vulisha <anuragku@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-11-28 16:09:08 +01:00
..
cpu arm64: zynqmp: Wire QSPI boot mode for SPL 2017-11-28 16:09:02 +01:00
dts arm64: zynqmp: Add SMMU support for SATA IP 2017-11-28 16:09:08 +01:00
include arm64: zynqmp: Add support for CG/EG/EV device detection 2017-11-28 16:09:01 +01:00
lib arm: provide a PCS-compliant setjmp implementation 2017-11-21 23:57:22 +01:00
mach-aspeed aspeed: Refactor SCU to use consistent mask & shift 2017-05-08 11:57:35 -04:00
mach-at91 Drop CONFIG_HAS_DATAFLASH 2017-10-16 09:42:51 -04:00
mach-bcm283x bcm2835_wdt: support for the BCM2835/2836 watchdog 2017-05-09 20:30:08 -04:00
mach-davinci ARM: davinci: Remove CONFIG_SOC_DA830 2017-09-15 12:35:48 -04:00
mach-exynos usb: net: migrate USB Ethernet adapters to Kconfig 2017-09-08 10:23:00 -04:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-imx i.MX6: engicam: Add imx6q/imx6ul boards for existing boards 2017-11-27 10:36:40 +01:00
mach-integrator env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
mach-keystone env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
mach-kirkwood env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
mach-meson arm: add initial support for Amlogic P212 based on Meson GXL family 2017-11-17 07:43:32 -05:00
mach-mvebu arm: mvebu: Add board_setup for xhci hardware 2017-11-16 11:45:20 +01:00
mach-omap2 ARM: dra7: Kconfig: Add thermal configs for dra7xx and am57xx 2017-11-21 08:03:39 -05:00
mach-orion5x spl: add hierarchical defaults for SPL_LDSCRIPT 2017-08-13 17:12:37 +02:00
mach-qemu ARM: Add a new arch + board for QEMU's 'virt' machine 2017-10-06 11:28:16 -04:00
mach-rmobile cosmetic: rmobile: renesas spelled wrong 2017-11-06 09:59:03 -05:00
mach-rockchip rockchip: fix turning off boot-mode via Kconfig 2017-11-26 14:57:11 +01:00
mach-s5pc1xx arm: s5pc1xx: move SoC to mach-s5pc1xx 2015-11-30 17:17:01 +09:00
mach-snapdragon dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
mach-socfpga socfpga: boot0 hook: adjust to unified boot0 semantics 2017-11-21 23:57:21 +01:00
mach-sti board: Add STMicroelectronics STiH410-B2260 support 2017-03-14 20:40:21 -04:00
mach-stm32 stm32: fix STMicroelectronics copyright 2017-11-06 09:51:01 -05:00
mach-sunxi sunxi: video: add LCD support to DE2 driver 2017-10-27 09:44:48 +02:00
mach-tegra treewide: replace with error() with pr_err() 2017-10-04 11:59:44 -04:00
mach-uniphier ARM: uniphier: use pr_*() more where appropriate 2017-10-23 01:09:22 +09:00
mach-versatile arm: Remove versatileab board 2015-09-11 15:01:25 -04:00
mach-zynq spl: add hierarchical defaults for SPL_LDSCRIPT 2017-08-13 17:12:37 +02:00
thumb1/include/asm/proc-armv arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
config.mk arm: Always keep the dtb section on objcopy 2017-06-05 14:13:11 -04:00
Kconfig rockchip: enable boot0-hook for all Rockchip SoCs 2017-11-21 23:57:21 +01:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00