1. 17 Dec, 2019 4 commits
    • Heiko Stuebner's avatar
      rockchip: make miniloader ddr_parameter handling optional · df5a9683
      Heiko Stuebner authored
      
      
      Transfering the regions of ddr memory to additionally protect is very much
      specific to some rockchip internal first stage bootloader and doesn't get
      used in either mainline uboot or even Rockchip's published vendor uboot
      sources.
      
      This results in a big error
          ERROR:   over or zero region, nr=0, max=10
      getting emitted on every boot for most users and such a message coming
      from early firmware might actually confuse developers working with the
      system.
      
      As this mechanism seems to be only be used by Rockchip's internal miniloader
      hide it behind a build conditional, so it doesn't confuse people too much.
      Signed-off-by: default avatarHeiko Stuebner <heiko.stuebner@theobroma-systems.com>
      Change-Id: I52c02decc60fd431ea78c7486cad5bac82bdbfbe
      df5a9683
    • Heiko Stuebner's avatar
      rockchip: px30: cleanup securing of ddr regions · f55ef85e
      Heiko Stuebner authored
      
      
      So far the px30-related ddr security was loading data for regions to secure
      from a pre-specified memory location and also setting region0 to secure
      the first megabyte of memory in hard-coded setting (top=0, end=0, meaning
      1MB).
      
      To make things more explicit and easier to read add a function doing
      the settings for specified memory areas, like other socs have and also
      add an assert to make sure any descriptor read from memory does not
      overlap the TZRAM security in region0 and TEE security in region1.
      Signed-off-by: default avatarHeiko Stuebner <heiko.stuebner@theobroma-systems.com>
      Change-Id: I78441875112bf66a62fde5f1789f4e52a78ef95f
      f55ef85e
    • Heiko Stuebner's avatar
      rockchip: px30: move secure init to separate file · d2483afa
      Heiko Stuebner authored
      
      
      Similar to others like rk3399 and rk3288 move the secure init to a
      separate file to unclutter the soc init a bit.
      Signed-off-by: default avatarHeiko Stuebner <heiko.stuebner@theobroma-systems.com>
      Change-Id: Iebb38e24f1c7fe5353f139c896fb8ca769bf9691
      d2483afa
    • Heiko Stuebner's avatar
      rockchip: bring TZRAM_SIZE values in line · c6ee020e
      Heiko Stuebner authored
      
      
      The agreed upon division of early boot locations is 0x40000 for bl31
      to leave enough room for u-boot-spl and 0x100000 for bl33 (u-boot).
      
      rk3288 and rk3399 already correctly secure the ddr up to the 1MB boundary
      so pull the other platforms along to also give the Rockchip TF-A enough
      room to comfortably live in.
      Signed-off-by: default avatarHeiko Stuebner <heiko.stuebner@theobroma-systems.com>
      Change-Id: Ie9e0c927d3074a418b6fd23b599d2ed7c15c8c6f
      c6ee020e
  2. 27 Nov, 2019 1 commit
  3. 20 Sep, 2019 2 commits
    • Kever Yang's avatar
      rockchip: Update BL31_BASE to 0x40000 · 0aad563c
      Kever Yang authored
      
      
      Rockchip platform is using the first 1MB of DRAM as secure ram space,
      and there is a vendor loader who loads and runs the BL31/BL32/BL33,
      this loader is usually load by SoC BootRom to the start addres of DRAM,
      we need to reserve enough space for this loader so that it doesn't need
      to do the relocate when loading the BL31. eg.
      We use U-Boot SPL to load ATF BL31 and U-Boot proper as BL33, the SPL
      TEXT BASE is offset 0 of DRAM which is decide by Bootrom; if we update
      the BL31_BASE to offset 0x40000(256KB), then the 0~0x40000 should be
      enough for SPL and no need to do the relocate while the space size
      0x10000(64KB) may not enough for SPL.
      After this update, the BL31 can use the rest 768KB of the first 1MB,
      which is also enough, and the loader who is using BL31 elf file can
      support this update without any change.
      
      Change-Id: I66dc685594d77f10f9a49c3be015fd6729250ece
      Signed-off-by: default avatarKever Yang <kever.yang@rock-chips.com>
      0aad563c
    • Kever Yang's avatar
      rockchip: Fix typo for TF content text · 382ddb3d
      Kever Yang authored
      
      
      The 'txet' should be 'text'.
      
      Change-Id: I2217a1adf50c3b86f3087b83c77d9291b280627c
      Signed-off-by: default avatarKever Yang <kever.yang@rock-chips.com>
      382ddb3d
  4. 05 Aug, 2019 1 commit
    • Heiko Stuebner's avatar
      rockchip: px30: add uart5 as option for serial output · 5f441a7b
      Heiko Stuebner authored
      
      
      The px30 mini-evb can use either uart2 (muxed with the sd-card pins) or
      uart5 via its pin header for serial output. Uart5 is especially useful
      when needing to boot from the sd-card, where uart2 obviously is not
      useable.
      
      So add the uart5 constants and it as uart option for the serial-param
      handler.
      Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Change-Id: Ib88df7a55d761ee104d312c9953a13de3beba1c4
      5f441a7b
  5. 29 Jul, 2019 1 commit
  6. 25 Jul, 2019 1 commit
    • Ambroise Vincent's avatar
      rockchip: px30: Fix build error · 8a079e88
      Ambroise Vincent authored
      "result of '1 << 31' requires 33 bits to represent, but 'int' only has
      32 bits [-Werror=shift-overflow=]"
      
      This is treated as an error since commit 93c690eb
      
       ("Enable
      -Wshift-overflow=2 to check for undefined shift behavior")
      
      Only the actual errors are being tackled by this patch. It is up to the
      platform to choose whether there needs to be further modifications to
      the code.
      
      Change-Id: I70860ae5f2a34d7c684bd491b76da50aa04f778e
      Signed-off-by: default avatarAmbroise Vincent <ambroise.vincent@arm.com>
      8a079e88
  7. 09 Jul, 2019 1 commit
    • XiaoDong Huang's avatar
      rockchip: px30: support px30 · 010d6ae3
      XiaoDong Huang authored
      
      
      px30 is a Quad-core soc and Cortex-a53 inside.
      This patch supports the following functions:
      1. basic platform setup
      2. power up/off cpus
      3. suspend/resume cpus
      4. suspend/resume system
      5. reset system
      6. power off system
      
      Change-Id: I73d55aa978096c078242be921abe0ddca9e8f67e
      Signed-off-by: default avatarXiaoDong Huang <derrick.huang@rock-chips.com>
      010d6ae3