soc_css_def.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #ifndef SOC_CSS_DEF_H
  7. #define SOC_CSS_DEF_H
  8. #include <lib/utils_def.h>
  9. #include <plat/common/common_def.h>
  10. /*
  11. * Definitions common to all ARM CSS SoCs
  12. */
  13. /* Following covers ARM CSS SoC Peripherals and PCIe expansion area */
  14. #define SOC_CSS_DEVICE_BASE 0x40000000
  15. #define SOC_CSS_DEVICE_SIZE 0x40000000
  16. #define SOC_CSS_PCIE_CONTROL_BASE 0x7ff20000
  17. /* PL011 UART related constants */
  18. #define SOC_CSS_UART0_BASE 0x7ff80000
  19. #define SOC_CSS_UART1_BASE 0x7ff70000
  20. #define SOC_CSS_UART0_CLK_IN_HZ 7372800
  21. #define SOC_CSS_UART1_CLK_IN_HZ 7372800
  22. /* SoC NIC-400 Global Programmers View (GPV) */
  23. #define SOC_CSS_NIC400_BASE 0x7fd00000
  24. #define SOC_CSS_NIC400_USB_EHCI 0
  25. #define SOC_CSS_NIC400_TLX_MASTER 1
  26. #define SOC_CSS_NIC400_USB_OHCI 2
  27. #define SOC_CSS_NIC400_PL354_SMC 3
  28. /*
  29. * The apb4_bridge controls access to:
  30. * - the PCIe configuration registers
  31. * - the MMU units for USB, HDLCD and DMA
  32. */
  33. #define SOC_CSS_NIC400_APB4_BRIDGE 4
  34. /* Non-volatile counters */
  35. #define SOC_TRUSTED_NVCTR_BASE 0x7fe70000
  36. #define TFW_NVCTR_BASE (SOC_TRUSTED_NVCTR_BASE + 0x0000)
  37. #define TFW_NVCTR_SIZE 4
  38. #define NTFW_CTR_BASE (SOC_TRUSTED_NVCTR_BASE + 0x0004)
  39. #define NTFW_CTR_SIZE 4
  40. /* Keys */
  41. #define SOC_KEYS_BASE 0x7fe80000
  42. #define TZ_PUB_KEY_HASH_BASE (SOC_KEYS_BASE + 0x0000)
  43. #define TZ_PUB_KEY_HASH_SIZE 32
  44. #define HU_KEY_BASE (SOC_KEYS_BASE + 0x0020)
  45. #define HU_KEY_SIZE 16
  46. #define END_KEY_BASE (SOC_KEYS_BASE + 0x0044)
  47. #define END_KEY_SIZE 32
  48. #define SOC_CSS_MAP_DEVICE MAP_REGION_FLAT( \
  49. SOC_CSS_DEVICE_BASE, \
  50. SOC_CSS_DEVICE_SIZE, \
  51. MT_DEVICE | MT_RW | MT_SECURE)
  52. /*
  53. * The bootsec_bridge controls access to a bunch of peripherals, e.g. the UARTs.
  54. */
  55. #define SOC_CSS_NIC400_BOOTSEC_BRIDGE 5
  56. #define SOC_CSS_NIC400_BOOTSEC_BRIDGE_UART1 (1 << 12)
  57. /*
  58. * Required platform porting definitions common to all ARM CSS SoCs
  59. */
  60. #if JUNO_AARCH32_EL3_RUNTIME
  61. /*
  62. * Following change is required to initialize TZC
  63. * for enabling access to the HI_VECTOR (0xFFFF0000)
  64. * location needed for JUNO AARCH32 support.
  65. */
  66. #define PLAT_ARM_SCP_TZC_DRAM1_SIZE ULL(0x8000)
  67. #else
  68. /* 2MB used for SCP DDR retraining */
  69. #define PLAT_ARM_SCP_TZC_DRAM1_SIZE ULL(0x00200000)
  70. #endif
  71. #endif /* SOC_CSS_DEF_H */