1
0
Fork 0
remarkable-uboot/arch
Nishanth Menon 2283284b05 ARM: keystone2: Add missing privilege ID settings
Add missing Privilege ID settings for KS2 SoCs.

Based on:
K2H/K: Table 6-7. Privilege ID Settings from SPRS866E (Nov 2013)
  http://www.ti.com/lit/ds/symlink/66ak2h14.pdf (page 99)
K2L: Table 7-7. Privilege ID Settings from SPRS930 (April 2015)
  http://www.ti.com/lit/ds/symlink/66ak2l06.pdf (page 71)
K2E: Table 7-7. Privilege ID Settings from SPRS865D (Mar 2015)
  http://www.ti.com/lit/ds/symlink/66ak2e05.pdf (page 75)
K2G: Table 3-16. PrivIDs from SPRUHY8 (Jan 2016)
  http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf (page 238)

Overall mapping:
-------+-----------+-----------+-----------+---------
PrivID | KS2H/K    | K2L       | K2E       | K2G
-------+-----------+-----------+-----------+---------
0      | C66x 0    | C66x 0    | C66x 0    | C66x 0
1      | C66x 1    | C66x 1    | Reserved  | ARM
2      | C66x 2    | C66x 2    | Reserved  | ICSS0
3      | C66x 3    | C66x 3    | Reserved  | ICSS1
4      | C66x 4    | Reserved  | Reserved  | NETCP
5      | C66x 5    | Reserved  | Reserved  | CPIE
6      | C66x 6    | Reserved  | Reserved  | USB
7      | C66x 7    | Reserved  | Reserved  | Reserved
8      | ARM       | ARM       | ARM       | MLB
9      | NetCP     | NetCP     | NetCP     | PMMC
10     | QM_PDSP   | QM_PDSP   | QM_PDSP   | DSS
11     | PCIe_0    | PCIe_0    | PCIe_0    | MMC
12     | DEBUG/DAP | DEBUG/DAP | DEBUG/DAP | DEBUG/DAP
13     | Reserved  | Reserved  | PCIe_1    | Reserved
14     | HyperLink | PCIe_1    | HyperLink | Reserved
15     | Reserved  | Reserved  | TSIP      | Reserved
-------+-----------+-----------+-----------+---------

NOTE: Few of these might have default configurations, however,
since most are software configurable, it is better to explicitly
configure the system to have a known default state.

Without programming these, we end up seeing lack of coherency on certain
peripherals resulting in inexplicable failures (such as USB peripheral's
DMA data not appearing on ARM etc and weird workarounds being done by
drivers including cache flushes which tend to have system wide
performance impact).

By marking these segments as shared, we also ensure SoC wide coherency
is enabled.

Reported-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-01 17:17:40 -04:00
..
arc arc: cache - utilize IO coherency (AKA IOC) engine 2016-02-20 11:20:05 +03:00
arm ARM: keystone2: Add missing privilege ID settings 2016-04-01 17:17:40 -04:00
avr32 avr32: Use the generic bitops headers 2015-11-05 10:52:31 -05:00
blackfin Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
m68k m68k: M54418TWR: drop board/freescale/m54418twr/config.mk 2016-01-20 10:19:34 -05:00
microblaze Kconfig: Move CONFIG_FIT and related options to Kconfig 2016-03-14 19:18:07 -04:00
mips MIPS: fix mips_cache fallback without __builtin_mips_cache 2016-03-09 11:00:40 +01:00
nds32 Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
nios2 dm: Use uclass_first_device_err() where it is useful 2016-03-14 15:34:50 -06:00
openrisc openrisc: Fix build errors 2016-01-25 10:40:01 -05:00
powerpc Fix spelling of "transferred". 2016-03-22 12:16:16 -04:00
sandbox sandbox: Avoid calling commands when not available 2016-03-22 12:16:10 -04:00
sh Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
sparc Fix spelling of "transferred". 2016-03-22 12:16:16 -04:00
x86 arm: x86: Drop command-line code when CONFIG_CMDLINE is disabled 2016-03-22 12:16:09 -04:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig MIPS: add initial infrastructure for device-tree files 2016-01-16 21:06:45 +01:00