1. 17 9月, 2020 4 次提交
    • H
      net, qe: add DM support for QE UEC ethernet · 6e31c62a
      Heiko Schocher 提交于
      add DM/DTS support for the UEC ethernet on QUICC Engine
      Block.
      Signed-off-by: NHeiko Schocher <hs@denx.de>
      Patch-cc: Mario Six <mario.six@gdsys.cc>
      Patch-cc: Qiang Zhao <qiang.zhao@nxp.com>
      Patch-cc: Holger Brunck <holger.brunck@hitachi-powergrids.com>
      Patch-cc: Madalin Bucur <madalin.bucur@oss.nxp.com>
      
      Series-changes: 3
      - revert:
        commit "3374264d" ("drivers: net: qe: deselect QE when DM_ETH is enabled")
        as now qe works with DM and DM_ETH support.
      - fix mailaddress from Holger
      
      Series-changes: 2
      - add comments from Qiang Zhao:
        - add device node documentation
        - I did not drop the dm_qe_uec_phy.c and use drivers/net/fsl_mdio.c
          because using drivers/net/fsl_mdio.c leads in none existent
          udevice mdio@3320
          instead boards with DM ETH support should use now this
          driver.
      - remove RFC tag
      
      Commit-notes:
      
      - I let the old none DM based implementation in code
        so boards should work with old implementation.
        This Code should be removed if all boards are converted
        to DM/DTS.
      
      - add the DM based qe uec driver under drivers/net/qe
      
      - Therefore copied the files uccf.c uccf.h uec.h from
        drivers/qe. So there are a lot of Codingstyle problems
        currently. I fix them in next version if this RFC
        patch is OK or it needs some changes.
      
      - The dm based driver code is now under drivers/net/qe/dm_qe_uec.c
        Used a lot of functions from drivers/qe/uec.c
      
      - seperated the PHY specific code into seperate file
        drivers/net/qe/dm_qe_uec_phy.c
      
      END
      6e31c62a
    • H
      powerpc, qe: add DTS support for parallel I/O ports · 5990b059
      Heiko Schocher 提交于
      add DM support for parallel I/O ports on QUICC Engine Block
      Signed-off-by: NHeiko Schocher <hs@denx.de>
      Patch-cc: Mario Six <mario.six@gdsys.cc>
      Patch-cc: Qiang Zhao <qiang.zhao@nxp.com>
      Patch-cc: Holger Brunck <holger.brunck@hitachi-powergrids.com>
      
      Series-changes: 2
      - remove RFC
      - fixed Codingstyle errors, therefore new patch
        powerpc, mpc83xx: fix codingstyle issues for qe_io.c
      - moved DM part to drivers/pinctrl
      
      Commit-notes:
      Open questions / discussion:
      
      - I let the old none DM based implementation in code
        so boards should work with old implementation.
      
        This should be removed if all boards are converted to
        DM/DTS.
      
      - Unfortunately linux DTS does not use "pinctrl-"
        properties, instead "pio-handle" properties.
      
        Even worser old U-Boot code initializes all pins
        defined in "const qe_iop_conf_t qe_iop_conf_tab[]"
        table in board code. As linux does the same I decided
        to also scan through all subnodes containing "pio-map"
        property and initialize them too.
      
        The proper solution would be to check for "pio-handle"
        when a device is probed.
      
      END
      5990b059
    • H
      powerpc, qe: fix codingstyle issues for drivers/qe · 9bd64448
      Heiko Schocher 提交于
      fix Codingstyle for files in drivers/qe, remaining following
      check warnings:
      
      $ ./scripts/checkpatch.pl -f drivers/qe/uec.h
      CHECK: Macro argument reuse '_bd' - possible side-effects?
      +#define BD_ADVANCE(_bd, _status, _base)        \
      +       (((_status) & BD_WRAP) ? (_bd) = \
      +        ((struct buffer_descriptor *)(_base)) : ++(_bd))
      
      total: 0 errors, 0 warnings, 1 checks, 692 lines checked
      
      $ ./scripts/checkpatch.pl -f drivers/qe/uec_phy.h
      total: 0 errors, 0 warnings, 0 checks, 214 lines checked
      $ ./scripts/checkpatch.pl -f drivers/qe/uccf.c
      total: 0 errors, 0 warnings, 0 checks, 507 lines checked
      $ ./scripts/checkpatch.pl -f drivers/qe/uec.c
      total: 0 errors, 0 warnings, 0 checks, 1434 lines checked
      $ ./scripts/checkpatch.pl -f drivers/qe/uec_phy.c
      total: 0 errors, 0 warnings, 0 checks, 927 lines checked
      
      $ ./scripts/checkpatch.pl -f drivers/qe/qe.c
      CHECK: Lines should not end with a '('
      +U_BOOT_CMD(
      
      total: 0 errors, 0 warnings, 1 checks, 830 lines checked
      Signed-off-by: NHeiko Schocher <hs@denx.de>
      9bd64448
    • H
      mpc83xx: remove unneeded extern declaration in cpu_init · 1a1b4f5d
      Heiko Schocher 提交于
      remove
      extern void qe_init(uint qe_base);
      extern void qe_reset(void);
      
      and include fsl_qe.h instead.
      Signed-off-by: NHeiko Schocher <hs@denx.de>
      
      Series-changes: 2
      - new in v2
      1a1b4f5d
  2. 16 9月, 2020 1 次提交
  3. 15 9月, 2020 26 次提交
    • F
      configs: Add spiboot support for am335x · 5ba28831
      Faiz Abbas 提交于
      am335x internal SRAM is too small to support the addition of
      SPI bootmode to the default defconfig. Add a separate spiboot_defconfig
      Signed-off-by: NFaiz Abbas <faiz_abbas@ti.com>
      5ba28831
    • F
      spi: omap3_spi: Read platform data in ofdata_to_platdata() · afd4f15a
      Faiz Abbas 提交于
      Add an ofdata_to_platdata() callback to access dts in U-boot and
      access all platform data in it. This prepares the driver for supporting
      both device tree as well as static platform data structures in SPL.
      Signed-off-by: NFaiz Abbas <faiz_abbas@ti.com>
      afd4f15a
    • F
      arm: mach-omap2: am33xx: Add device structure for spi · 41cf3cb3
      Faiz Abbas 提交于
      Add platform data and a device structure for the spi device
      present on am335x-icev2. This requires moving all omap3_spi
      platform data structures and symbols to an omap3_spi.h so that
      the board file can access them.
      Signed-off-by: NFaiz Abbas <faiz_abbas@ti.com>
      41cf3cb3
    • F
      spi: spi-uclass: Block dm_scan_fdt_dev with OF_CONTROL to prevent build failures · 280af011
      Faiz Abbas 提交于
      There are devices which don't use OF_CONTROL or OF_PLATDATA but instead
      rely on statically defined platdata. Block dm_scan_fdt_dev() with both
      configs to avoid build failures under this condition.
      Signed-off-by: NFaiz Abbas <faiz_abbas@ti.com>
      Reviewed-by: NJagan Teki <jagan@amarulasolutions.com>
      280af011
    • F
      arm: dts: am335x-icev2: Add spi node · 38e6ddc4
      Faiz Abbas 提交于
      Add spi and spi nor flash nodes for am335x-icev2.
      Signed-off-by: NFaiz Abbas <faiz_abbas@ti.com>
      38e6ddc4
    • M
    • M
      ti: Use devtype=mmc instead of setenv devtype mmc · 42b7aebe
      Matwey V. Kornilov 提交于
      If devtype variable is setted via setenv, then the following devtype=X style is
      ignored. Currently, many u-boot commands use devtype variable in the latter
      manner:
      
          mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi
      
      Use devtype=mmc instead of setenv devtype mmc to avoid bugs with booting from
      another devtype.
      Signed-off-by: NMatwey V. Kornilov <matwey.kornilov@gmail.com>
      42b7aebe
    • S
      configs: j7200_evm_r5: Enable FS_LOADER · a0549cc9
      Suman Anna 提交于
      Enable the FS_LOADER and associated configs in the j7200_evm_r5_defconfig
      so that the R5 SPL can support the loading of firmware files from a boot
      media/file system.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      a0549cc9
    • S
      arm: dts: k3-j7200-r5: Add fs_loader node · 70377b72
      Suman Anna 提交于
      Add a generic fs_loader node to the K3 J7200 R5 common board dts
      file and use it as the chosen firmware-loader so that it can be
      used for loading various firmwares from a boot media/filesystem
      in R5 SPL on K3 J7200 EVM.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      70377b72
    • S
      env: ti: j721e-evm: Update R5 SPL rproc env variables for J7200 · 615d10f7
      Suman Anna 提交于
      The R5 SPL on J7200 SoCs will be limited to booting just the
      MCU R5FSS0 R5F core in LockStep-mode at present, so add the
      two required environment variables 'addr_mcur5f0_0load' and
      'name_mcur5f0_0fw' that are needed by the R5 SPL early-boot
      logic. The firmware name used is also different from that on
      J721E SoCs.
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      615d10f7
    • 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
  4. 11 9月, 2020 1 次提交
  5. 10 9月, 2020 8 次提交