1. 15 9月, 2020 16 次提交
    • S
      configs: j7200_evm_a72: Enhance bootcmd to start remoteprocs · f61687df
      Suman Anna 提交于
      The A72 U-boot can support early booting of any of the Main or MCU R5F
      remote processors from U-boot prompt to achieve various system usecases
      before booting the Linux kernel. Update the default BOOTCOMMAND to provide
      an automatic and easier way to start various remote processors through
      added environment variables.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      f61687df
    • S
      configs: j7200_evm_a72: Enable R5F remoteproc driver · d529e4a4
      Suman Anna 提交于
      The J7200 SoCs has two R5F sub-systems. Enable the TI K3
      R5F remoteproc driver and the remoteproc command options
      to allow these R5F processors to be booted from A72 U-Boot.
      
      The Kconfigs are added using savedefconfig.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      d529e4a4
    • S
      env: ti: j721e-evm: Update rproc_fw_binaries env variable for J7200 · c091bb04
      Suman Anna 提交于
      The J7200 SoCs have different number of remote processors, but reuse
      the same environment settings as the J721E SoCs. The current env
      variable rproc_fw_binaries is geared towards J721E SoCs and is
      incorrect for J7200 SoCs. Please see the logic originally added in
      commit 0b4ab9c9 ("env: ti: j721e-evm: Add support to boot rprocs
      including R5Fs and DSPs").
      
      Fix this by defining the DEFAULT_RPROCS macro appropriately using
      the corresponding TARGET_EVM Kconfig symbol. This macro is used by
      the 'rproc_fw_binaries' env variable in the common remoteproc env
      header file k3_rproc.h.
      
      The list of R5F cores to be started before loading and booting the
      Linux kernel are as follows, and mainly comprises of the Main R5FSS0
      cores in this order:
         Main R5FSS0 (Split) Core0 : 2 /lib/firmware/j7200-main-r5f0_0-fw
         Main R5FSS0 (Split) Core1 : 3 /lib/firmware/j7200-main-r5f0_1-fw
      
      The MCU R5FSS0 is in LockStep mode and is expected to be booted by
      R5 SPL, so it is not included in the list. The order of rprocs to
      boot cannot be really modified as only the Main R5FSS0 cores are
      involved and Core0 has to be booted first always before the
      corresponding Core1.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      c091bb04
    • S
      arm: dts: k3-j7200-main: Add MAIN domain R5F cluster nodes · 3f7e032f
      Suman Anna 提交于
      The J7200 SoCs have 2 dual-core Arm Cortex-R5F processor (R5FSS)
      subsystems/clusters. One R5F cluster is present within the MCU
      domain (MCU_R5FSS0), and the other one is present within the MAIN
      domain (MAIN_R5FSS0). Each of these can be configured at boot time
      to be either run in a LockStep mode or in an Asymmetric Multi
      Processing (AMP) fashion in Split-mode. These subsystems have 64 KB
      each Tightly-Coupled Memory (TCM) internal memories for each core
      split between two banks - ATCM and BTCM (further interleaved into
      two banks). The TCMs of both Cores are combined in LockStep-mode
      to provide a larger 128 KB of memory.
      
      Add the DT node for the MAIN domain R5F cluster/subsystem, the two
      R5F cores are added as child nodes to the main cluster/subsystem node.
      The cluster is configured to run in Split-mode by default, with the
      ATCMs enabled to allow the R5 cores to execute code from DDR with
      boot-strapping code from ATCM. The inter-processor communication
      between the main A72 cores and these processors is achieved through
      shared memory and Mailboxes.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      3f7e032f
    • S
      arm: dts: k3-j7200-mcu: Add MCU domain R5F cluster node · 10c4de02
      Suman Anna 提交于
      The J7200 SoCs have 2 dual-core Arm Cortex-R5F processor (R5FSS)
      subsystems/clusters. One R5F cluster is present within the MCU
      domain (MCU_R5FSS0), and the other one is present within the MAIN
      domain (MAIN_R5FSS0). Each of these can be configured at boot time
      to be either run in a LockStep mode or in an Asymmetric Multi
      Processing (AMP) fashion in Split-mode. These subsystems have 64 KB
      each Tightly-Coupled Memory (TCM) internal memories for each core
      split between two banks - ATCM and BTCM (further interleaved into
      two banks). The TCMs of both Cores are combined in LockStep-mode
      to provide a larger 128 KB of memory.
      
      Add the DT node for the MCU domain R5F cluster/subsystem, the two
      R5F cores are added as child nodes to the main cluster/subsystem node.
      The cluster is configured to run in LockStep mode by default, with
      the ATCMs enabled to allow the R5 cores to execute code from DDR with
      boot-strapping code from ATCM. The inter-processor communication
      between the main A72 cores and these processors is achieved through
      shared memory and Mailboxes.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      10c4de02
    • S
      armv8: K3: j7200: Add custom MMU support · 7873e9df
      Suman Anna 提交于
      The A72 U-Boot code can load and boot a number of the available
      R5FSS Cores on the J7200 SoC. Change the memory attributes for the
      DDR regions used by the remote processors so that the cores can see
      and execute the proper code.
      
      The J7200 SoC has less number of remote processors compared to J721E,
      so use less memory for the remote processors. So, a separate table
      based on the current J721E table is added for J7200 SoCs, and selected
      using the appropriate Kconfig CONFIG_TARGET_J7200_A72_EVM symbol.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      7873e9df
    • S
      remoteproc: k3-r5: Add support for J7200 R5Fs · 6aa3b740
      Suman Anna 提交于
      The K3 J7200 SoC family has a revised R5F sub-system and contains a
      subset of the R5F clusters present on J721E SoCs. The integration of
      these clusters is very much similar to J721E SoCs otherwise.
      
      The revised IP has the following two new features:
       1. TCMs are auto-initialized during module power-up, and the behavior
          is programmable through a MMR bit controlled by System Firmware.
       2. The LockStep-mode allows the Core1 TCMs to be combined with the
          Core0 TCMs effectively doubling the amount of TCMs available.
          The LockStep-mode on previous SoCs could only use the Core0 TCMs.
          This combined TCMs appear contiguous at the respective Core0 TCM
          addresses.
      
      Add the support to these clusters in the K3 R5F remoteproc driver
      using J7200 specific compatibles and revised logic accounting for
      the above IP features/differences.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      6aa3b740
    • S
      dt-bindings: remoteproc: k3-r5f: Update bindings for J7200 SoCs · ca569e9b
      Suman Anna 提交于
      The K3 J7200 SoCs have two dual-core Arm R5F clusters/subsystems, with
      2 R5F cores each, one in each of the MCU and MAIN voltage domains.
      
      These clusters are a revised version compared to those present on
      J721E SoCs. Update the K3 R5F remoteproc bindings with the compatible
      info relevant to these R5F clusters/subsystems on K3 J7200 SoCs.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      ca569e9b
    • S
      env: ti: j721e-evm: Limit scope of rproc env variables used by R5 SPL · a9e5caf5
      Suman Anna 提交于
      The commit 316c9271 ("include: configs: j721e_evm: Add env variables
      for mcu_r5fss0_core0 & main_r5fss0_core0") added four different new env
      variables 'addr_mainr5f0_0load', 'name_mainr5f0_0fw', 'addr_mcur5f0_0load'
      and 'name_mcur5f0_0fw' to the generic environment, but these are only
      needed and used in R5 SPL for early-booting the MCU R5FSS0 and Main
      R5FSS0 Core0 on J721E SoCs.
      
      These are not really needed for A72 U-Boot, so limit the scope of
      these variables only to R5 SPL. While at this, also fix the loadaddr
      variable values to include the hex prefix like with other such env
      variables.
      
      Cc: Keerthy <j-keerthy@ti.com>
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      a9e5caf5
    • S
      configs: j721e_evm: Add Main R5FSS1 Core1 to default rproc boot list · 3c195299
      Suman Anna 提交于
      The default rproc list currently used by A72 U-Boot to boot various
      remote processors include the Main R5FSS0 (Split-mode) Core1, Main
      R5FSS1 (LockStep mode) Core0 and the three DSPs. The Main R5FSS1 cluster
      is configured for Split mode by default in the dts now, so add the
      Main R5FSS1 Core1 (rproc #5) to the default rproc boot list. This
      core is now booted after the Main R5FSS1 Core0 and before the DSPs.
      
      The order of the rprocs to boot can always be changed at runtime if
      desired by overwriting the 'rproc_fw_binaries' environment variable
      at U-boot prompt. Note that the R5FSS Core1 cannot be booted before
      its associated Core0.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      3c195299
    • S
      arm: dts: k3-j721e-main: Configure MAIN R5FSS1 for Split-mode · 31defbd3
      Suman Anna 提交于
      Switch the MAIN R5FSS1 cluster to be configured for Split-mode as the
      default so that two different applications can be run on each of the
      R5F cores in performance mode. LockStep-mode would be available only
      on SoCs efused with the appropriate bit, and Split-mode is the mode
      that is available on all J721E SoCs.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      31defbd3
    • V
      configs: j721e_evm.h: Add U-Boot image address for HyperFlash boot · f8d3d4d1
      Vignesh Raghavendra 提交于
      Add memory mapped address location of U-Boot images in HyperFlash boot
      mode.
      Signed-off-by: NVignesh Raghavendra <vigneshr@ti.com>
      f8d3d4d1
    • V
      configs: j7200_evm_*_defconfig: Enable HyperFlash boot related configs · f7fdeec4
      Vignesh Raghavendra 提交于
      Enable configs required to support HyperFlash boot and detection of
      onboard mux switch for HyperFlash selection
      Signed-off-by: NVignesh Raghavendra <vigneshr@ti.com>
      f7fdeec4
    • V
      ARM: dts: k3-j7200-r5-common-proc-board: Enable HyperFlash · c07d0685
      Vignesh Raghavendra 提交于
      Enable HyperBus and HyperFlash to support HyperFlash boot.
      Signed-off-by: NVignesh Raghavendra <vigneshr@ti.com>
      c07d0685
    • V
      board: ti: j721e: Add support for HyperFlash detection · e85382fc
      Vignesh Raghavendra 提交于
      On J7200 SoC OSPI and HypeFlash are muxed at HW level and only one of
      them can be used at any time. J7200 EVM has both HyperFlash and OSPI
      flash on board. There is a user switch (SW3.1) that can be toggled to
      select OSPI flash vs HyperFlash.
      Read the state of this switch via wkup_gpio0_6 line and fixup the DT
      nodes to select OSPI vs HyperFlash
      Signed-off-by: NVignesh Raghavendra <vigneshr@ti.com>
      e85382fc
    • V
      arm: mach-k3: Add HyperFlash boot mode support · 7ce6c8ae
      Vignesh Raghavendra 提交于
      HBMC controller on TI K3 SoC provides MMIO access to HyperFlash similar
      to legacy Parallel CFI NOR flashes. Therefore alias HyperFlash bootmode
      to NOR boot to enable SPL to load next stage using NOR boot flow.
      Signed-off-by: NVignesh Raghavendra <vigneshr@ti.com>
      7ce6c8ae
  2. 08 9月, 2020 2 次提交
  3. 07 9月, 2020 8 次提交
  4. 04 9月, 2020 4 次提交
  5. 03 9月, 2020 4 次提交
  6. 02 9月, 2020 1 次提交
  7. 01 9月, 2020 5 次提交