1. 26 7月, 2021 2 次提交
  2. 24 7月, 2021 3 次提交
    • P
      armv8: Initialize CNTFRQ if at highest exception level · c48fec6e
      Peter Hoyes 提交于
      CNTFRQ_EL0 is only writable from the highest supported exception
      level on the platform. For Armv8-A, this is typically EL3, but
      technically EL2 and EL3 are optional so it may need to be
      initialized at EL2 or EL1. For Armv8-R, the highest exception
      level is always EL2.
      
      This patch moves the initialization outside of the switch_el
      block and uses a new macro branch_if_not_highest_el which
      dynamically detects whether it is at the highest supported
      exception level.
      
      Linux's docs state that CNTFRQ_EL0 should be initialized by the
      bootloader. If not set, the the U-Boot prompt countdown hangs.
      Signed-off-by: NPeter Hoyes <Peter.Hoyes@arm.com>
      c48fec6e
    • S
      board: dragonboard410c: Load U-Boot directly without LK · 0204d1b5
      Stephan Gerhold 提交于
      At the moment the U-Boot port for the DragonBoard 410c is designed
      to be loaded as an Android boot image after Qualcomm's Little Kernel (LK)
      bootloader. This is simple to set up but LK is redundant in this case,
      since everything done by LK can be also done directly by U-Boot.
      
      Dropping LK entirely has at least the following advantages:
        - Easier installation/board code (no need for Android boot images)
        - (Slightly) faster boot
        - Boot directly in 64-bit without a round trip to 32-bit for LK
      
      So far this was not possible yet because of unsolved problems:
      
        1. Signing tool: The firmware expects a "signed" ELF image with extra
           (Qualcomm-specific) ELF headers, usually used for secure boot.
           The DragonBoard 410c does not have secure boot by default but the
           extra ELF headers are still required.
      
        2. PSCI bug: There seems to be a bug in the PSCI implementation
           (part of the TrustZone/tz firmware) that causes all other CPU cores
           to be started in 32-bit mode if LK is missing in the boot chain.
           This causes Linux to hang early during boot.
      
      There is a solution for both problems now:
      
        1. qtestsign (https://github.com/msm8916-mainline/qtestsign)
           can be used as a "signing" tool for U-Boot and other firmware.
      
        2. A workaround for the "PSCI bug" is to execute the TZ syscall when
           entering U-Boot. That way PSCI is made aware of the 64-bit switch
           and starts all other CPU cores in 64-bit mode as well.
      
      Simplify the dragonboard410c board by removing all the extra code that
      is only used to build an Android boot image that can be loaded by LK.
      This allows dropping the custom linker script, special image magic,
      as well as most of the special build/installation instructions.
      
      CONFIG_REMAKE_ELF is used to build a new ELF image that has both U-Boot
      and the appended DTB combined. The resulting u-boot.elf can then be
      passed to the "signing" tool (e.g. qtestsign).
      
      The PSCI workaround is placed in the "boot0" hook that is enabled
      with CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK. The extra check for EL1 allows
      compatibility with custom firmware that enters U-Boot in EL2 or EL3,
      e.g. qhypstub (https://github.com/msm8916-mainline/qhypstub).
      
      As a first step these changes apply only to DragonBoard410c.
      Similar changes could likely also work for the DragonBoard 820c.
      
      Note that removing LK wouldn't be possible that easily without a lot of
      work already done three years ago by Ramon Fried. A lot of missing
      initialization, pinctrl etc was already added back then even though
      it was not strictly needed yet.
      
      Cc: Ramon Fried <rfried.dev@gmail.com>
      Signed-off-by: NStephan Gerhold <stephan@gerhold.net>
      0204d1b5
    • M
      dts: synquacer: Add partition information to the spi-nor · 11cd1d6a
      Masami Hiramatsu 提交于
      Add partition information to the spi-nor flash.
      This is required for accessing NOR flash via mtdparts.
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu@linaro.org>
      Reviewed-by: NMarek Behún <marek.behun@nic.cz>
      11cd1d6a
  3. 21 7月, 2021 3 次提交
    • M
      ARM: dts: rmobile: Disable RPC HF by default · 3d5f45c9
      Marek Vasut 提交于
      The RPC HF might be locked by ATF, and any access to its register
      space would result in complete hang. Disable the RPC HF by default.
      The ATF should be patched to set RPC node status = "okay" in the DT
      fragment it passes to U-Boot in case the RPC HF access is unlocked,
      and that way U-Boot could access the RPC HF safely.
      Signed-off-by: NMarek Vasut <marek.vasut+renesas@gmail.com>
      3d5f45c9
    • M
      ARM: rmobile: Align CPU: print with other prints · 91c6a3a4
      Marek Vasut 提交于
      The CPU: print only has one space after it, while the other prints
      from U-Boot align the value to offset 7. Align the CPU: print too.
      No functional change.
      Signed-off-by: NMarek Vasut <marek.vasut+renesas@gmail.com>
      91c6a3a4
    • M
      ARM: dts: rmobile: Add sysinfo extras on R-Car Gen3 · 778fbe26
      Marek Vasut 提交于
      Add sysinfo node and phandle to the board ID EEPROM on all boards
      where this functionality is described in DT, which is Salvator-X(S),
      ULCB and Ebisu. The u-boot,dm-pre-reloc is necessary here, since the
      sysinfo must be available early during boot. The V3M and V3H boards
      currently do not describe this board ID EEPROM in upstream DT, but
      that could be easily added later, once the DTs contain the necessary
      nodes.
      
      ULCB and Ebisu needs the full EEPROM node in the u-boot extras DT,
      since the EEPROM node is still missing in the upstream DTs. Ebisu
      also needs extra compatible string override for the i2c_dvfs.
      Signed-off-by: NMarek Vasut <marek.vasut+renesas@gmail.com>
      778fbe26
  4. 20 7月, 2021 1 次提交
    • C
      arm: dts: ls1043ardb: configure the RGMII ports with rgmii-id · af956271
      Camelia Groza 提交于
      The RGMII ports on LS1043ARDB platforms require both RX and TX internal
      delays to be enabled. The device tree reports only the TX ID because the
      RX ID used to be enabled by default.
      
      With the addition of RX ID support for the Realtek 8211F PHY driver in
      commit e32e4d0f ("net: phy: realtek: add rx delay support for
      RTL8211F"), the RX ID is disabled by the driver if not reported explicitly.
      This causes the RX to no longer work.
      
      Change the phy-connection-type for the RGMII ports to "rgmii-id" in order
      to enable both RX and TX internal delays.
      
      Fixes: be1d7589 ("ARM: dts: add QorIQ DPAA 1 FMan v3 to LS1043ARDB")
      Signed-off-by: NCamelia Groza <camelia.groza@nxp.com>
      Reviewed-by: NPriyanka Jain <priyanka.jain@nxp.com>
      af956271
  5. 19 7月, 2021 4 次提交
    • P
      arm: mvebu: Espressobin: Enable 'mtd' command and define SPI NOR partitions · a675eb14
      Pali Rohár 提交于
      U-Boot now supports parsing SPI NOR partitions from Device Tree. So enable
      'mtd' command support for Espressobin board and define partition layout in
      U-Boot Espressobin DTS file. Access to SPI NOR via 'sf' command is old
      method and 'mtd' command is now preferred variant.
      
      From include file remove '#define CONFIG_MTD_PARTITIONS' as this option is
      now defined and enabled in defconfig file. This change is required to fix
      compile error:
      
            CC      arch/arm/lib/asm-offsets.s
          In file included from include/config.h:4,
                           from include/common.h:16,
                           from lib/asm-offsets.c:14:
          include/configs/mvebu_armada-37xx.h:63: warning: "CONFIG_MTD_PARTITIONS" redefined
           #define CONFIG_MTD_PARTITIONS  /* required for UBI partition support */
      
          In file included from ././include/linux/kconfig.h:4,
                           from <command-line>:
          include/generated/autoconf.h:44: note: this is the location of the previous definition
           #define CONFIG_MTD_PARTITIONS 1
      
      After enabling support for mtd command, output from 'mtd list' on
      Espressobin board is:
      
          => mtd list
          List of MTD devices:
          * w25q32dw
            - device: spi-flash@0
            - parent: spi@10600
            - driver: jedec_spi_nor
            - path: /soc/internal-regs/spi@10600/spi-flash@0
            - type: NOR flash
            - block size: 0x1000 bytes
            - min I/O: 0x1 bytes
            - 0x000000000000-0x000000400000 : "w25q32dw"
                    - 0x000000000000-0x0000003f0000 : "firmware"
                    - 0x0000003f0000-0x000000400000 : "u-boot-env"
          =>
      Signed-off-by: NPali Rohár <pali@kernel.org>
      Reviewed-by: NKonstantin Porotchkin <kostap@marvell.com>
      Reviewed-by: NStefan Roese <sr@denx.de>
      a675eb14
    • M
      ARM: dts: armada-385-turris-omnia: add `u-boot-env` NOR partition · 644b9864
      Marek Behún 提交于
      Specify a separate partition `u-boot-env` for U-Boot's env settings for
      the Turris Omnia board.
      
      Do this only in U-Boot's specific DTS. We do not want to do this in
      Linux' official DTS, because Omnia's stock U-Boot stores env at a
      different address, and there are still boards with stock U-Boot.
      
      In a subsequent patch will add board code that fixes Linux's DTB before
      booting Linux.
      Signed-off-by: NMarek Behún <marek.behun@nic.cz>
      Reviewed-by: NStefan Roese <sr@denx.de>
      644b9864
    • T
      arm: kirkwood: NSA310S: Add device tree DTS for Zyxel NSA310S board · ee48f537
      Tony Dinh 提交于
      Add device tree kirkwood-nsa310s.dts for Zyxel NSA310S board to
      convert to Driver Model.
      Signed-off-by: NTony Dinh <mibodhi@gmail.com>
      Reviewed-by: NStefan Roese <sr@denx.de>
      ee48f537
    • T
      usb: Enforce DM_USB migration for USB_HOST devices. · be5c0608
      Tom Rini 提交于
      As the deadline for migration to DM_USB, when using a USB host
      controller has now gone two years past the deadline, enforce migration.
      This is done by:
      
      - Ensuring that all host controller options (other than the very legacy
        old MUSB ones) now select USB_HOST.  USB_HOST now enforces DM_USB and
        OF_CONTROL.
        - Remove other parts of Kconfig logic that had platforms pick DM_USB.
        - To keep Kconfig happy, have some select statements test for USB_HOST
          as well.
      - Re-order some Kconfig entries and menus so that we can cleanly pick
        host or gadget roles.  For the various HCD options that have platform
        glue options, group them together and update dependencies in some
        cases.
      - As SPL_DM_USB is not required, on platforms that had not yet enabled
        it, disable it.
      
      Cc: Marek Vasut <marex@denx.de>
      Cc: Icenowy Zheng <icenowy@aosc.io>
      Cc: Samuel Holland <samuel@sholland.org>
      Cc: FUKAUMI Naoki <naobsd@gmail.com>
      Cc: Andre Przywara <andre.przywara@arm.com>
      Cc: Jagan Teki <jagan@amarulasolutions.com>
      Signed-off-by: NTom Rini <trini@konsulko.com>
      be5c0608
  6. 17 7月, 2021 2 次提交
  7. 16 7月, 2021 13 次提交
  8. 15 7月, 2021 12 次提交