summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * ARM: renesas: Scrub duplicate memory nodes from DT on Gen3Marek Vasut2021-05-122-0/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Scrub duplicate /memory@* node entries here. Some R-Car DTs might contain multiple /memory@* nodes, however fdt_fixup_memory_banks() either generates single /memory node or updates the first /memory node. Any remaining memory nodes are thus potential duplicates. However, it is not possible to delete all the memory nodes right away, since some of those might not be DRAM memory nodes, but some sort of other memory. Thus, delete only the memory nodes which are in the R-Car3 DBSC ranges. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
| * ARM: rmobile: Add missing rcar-common/common.c to Beacon RZG2M kitMarek Vasut2021-05-122-16/+1
| | | | | | | | | | | | | | | | | | The rcar-common/common.c contains various common board functions shared by all R-Car and RZG boards. This board is not compiling the file in, so add it. This way, part of the board code can be de-duplicated too. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Adam Ford <aford173@gmail.com>
* | Merge tag 'u-boot-amlogic-20210514' of ↵Tom Rini2021-05-144-5/+35
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-amlogic - dts: add missing -u-boot.dtsi to enable HDMI on Beelink GTKing/King-Pro - usb: dwc3-meson-g12a: skip phy on -ENODATA aswell - net: dwmac_meson8b: do not set TX delay in TXID & RXID - net: designware: meson8b: add g12a compatible
| * | net: designware: meson8b: add g12a compatibleNeil Armstrong2021-05-141-0/+1
| | | | | | | | | | | | | | | | | | Add support for the Meson G12A dwmac glue compatible needed after Linux 5.12 sync. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
| * | net: dwmac_meson8b: do not set TX delay in TXID & RXIDNeil Armstrong2021-05-141-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | When the PHY interface is set as TXID & RXID, the delays should be taken from DT, but first they should not be hardcoded since the PHY driver will set them. Fixes: 798424e857 ("net: designware: add Amlogic Meson8b & later glue driver") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
| * | usb: dwc3-meson-g12a: skip phy on -ENODATA aswellNeil Armstrong2021-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the PHY isn't specified in the DT, -ENODATA means it should be skipped, handle it like -ENOENT. With that, devices without USB3 supported can have USB working (Odroid-HC4). Fixes: adb049abf7 ("usb: dwc3: Add Meson G12A USB Glue") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
| * | ARM: dts: add missing -u-boot.dtsi to enable HDMI on Beelink GTKing/King-ProNeil Armstrong2021-05-142-0/+14
| | | | | | | | | | | | | | | | | | | | | This lacks the right u-boot specific DT include to make HDMI work. Reported-by: B1oHazard <ty3uk@mail.ua> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
* | | Merge https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini2021-05-1411-86/+59
|\ \ \ | |/ / |/| |
| * | Revert "riscv: cpu: fu740: clear feature disable CSR"Bin Meng2021-05-141-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bc8bbb77f74f21582b3bfd790334397757f88575. This commit breaks U-Boot booting on SiFive Unleashed board, as there is no such CSR on U54 core. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
| * | pwm: sifive: make set_config() and set_enable() work properlyVincent Chen2021-05-141-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pwm_sifive_set_config() and pwm_sifive_set_enable() cannot work properly due to the wrong implementations. It will cause the u-boot PWM command to not work as expected. The bugs will be resolved in this patch. Signed-off-by: Vincent Chen <vincent.chen@sifive.com> Reviewed-by: Rick Chen <rick@andestech.com>
| * | riscv: Don't reserve AI ram in k210 dtsSean Anderson2021-05-141-12/+0
| | | | | | | | | | | | | | | | | | | | | It is no longer necessary to disallow ai ram, since it is enabled by the sram driver. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | riscv: k210: Use AI as the parent clock of aisram, not PLL1Sean Anderson2021-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Testing showed that disabling AI while leaving PLL1 enabled disabled the aisram. This suggests that AI is a more appropriate clock for that ram bank. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | riscv: k210: Rename airam to aisramSean Anderson2021-05-142-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This is more consistent with the naming of other ram banks, and matches what Linux is doing. Reported-by: Damien Le Moal <Damien.LeMoal@wdc.com> Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | riscv: Enable AI ram on K210Sean Anderson2021-05-143-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | We just need to initialize all the clocks pre-reloc. The clock driver creates a bunch of devices, so we need to increase the pre-reloc malloc arena. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | riscv: Enable some devices pre-relocationSean Anderson2021-05-141-0/+4
| | | | | | | | | | | | | | | | | | | | | These devices are necessary for the clock driver, which is required by the sram driver, to run pre-relocation. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | clk: Add support for the k210 clock driver pre-relocationSean Anderson2021-05-141-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | Variables which had previously been stored in .bss are moved to .data. In addition, probed needs to be reset when the clock driver is re-bound post-relocation. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | clk: k210: Move the clint clock to under aclkSean Anderson2021-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | No other (real) clocks have the cpu clock as their parent; instead they are children of aclk. Move the clint clock under aclk to match them. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | clk: k210: Remove k210_register_pllSean Anderson2021-05-143-32/+3
| | | | | | | | | | | | | | | | | | | | | This simplifies the PLL creation process, since we don't have to pass all the parameters individually. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | clk: k210: Fix PLL enable always getting takenSean Anderson2021-05-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This conditional always evaluated as false, regardless of the value of reg. Fix it so that it properly tests the bits in the PLL register. Also test PLL_EN, now that we set it. Reported-by: Damien Le Moal <Damien.LeMoal@wdc.com> Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | clk: k210: Fix PLLs not being enabledSean Anderson2021-05-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After starting or setting the rate of a PLL, the enable bit must be set. This fixes a bug where the AI ram would not be accessible, because it requires PLL1 to be running. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
| * | clk: Warn on failure to assign rateSean Anderson2021-05-141-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | If the user/dev explicitly requests a clock be assigned a certain rate, then we should warn them if we can't do it. This makes it clear if the clock is running at the default rate. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * | MAINTAINERS: Add a co-maintainer for RISC-VRick Chen2021-05-141-0/+1
|/ / | | | | | | | | | | Add Leo as co-maintainer for RISC-V. Signed-off-by: Rick Chen <rick@andestech.com>
* | Merge branch '2021-05-13-extension-board-detection-and-DT-overlay-application'Tom Rini2021-05-1336-84/+837
|\ \ | | | | | | | | | | | | - Improve support for various forms of extension boards and add DT overlay application support.
| * | am335x: add support for cape detect functionalityKory Maincent2021-05-132-0/+2
| | | | | | | | | | | | | | | | | | | | | Update the Kconfig and the board file to make the am335x board compatible with cape detection. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
| * | arm: am335x: add support for i2c2 busKory Maincent2021-05-134-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | The am335x from BeagleBone use i2c EEPROM to detect capes. The memory is wired to i2c bus 2 therefore it need to be enabled. Add i2c2 clock, pinmux description and pinmux enable function. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
| * | configs: CHIP: add support for DIP detect functionalityKory Maincent2021-05-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit enables using the extension board detection mechanism on CHIP boards Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Acked-by: Maxime Ripard <maxime@cerno.tech> Acked-by: Andre Przywara <andre.przywara@arm.com>
| * | arm: sunxi: add support for DIP detection to CHIP boardKory Maincent2021-05-133-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the extension_board_scan specific function to scan the information of the EEPROM on one-wire and fill the extension struct. Add the Kconfig symbol to enable the needs to detect DIPs. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Reviewed-by: Maxime Ripard <maxime@cerno.tech> Acked-by: Andre Przywara <andre.przywara@arm.com>
| * | w1: replace dt detection by automatic detectionKory Maincent2021-05-136-35/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes the functioning of the detection of w1 devices. The old way was a comparison between detected w1 and the ones described in the device tree. Now it will just look for the driver matching the family id of the w1 detected. The patch is inspired from Maxime Ripard code. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Reviewed-by: Maxime Ripard <maxime@cerno.tech>
| * | am57xx: add support for cape detect functionalityKory Maincent2021-05-132-0/+2
| | | | | | | | | | | | | | | | | | | | | This commit enables using the extension board detection mechanism on AM57xx based platforms. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
| * | ti/common: add support for extension_scan_board functionKory Maincent2021-05-134-0/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The BeagleBone platforms all use a common mechanism to discover and identify extension boards (called "capes"): each extension board has an I2C-connected EEPROM describing itself. This patch implements a generic extension_scan_board() feature that can be used by all BeagleBone platforms to read those I2C EEPROMs and fill in the list of "extension" structures. Following commits will enable this common logic on two BeagleBone platforms. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
| * | pytest: add sandbox test for "extension" commandKory Maincent2021-05-136-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit extends the sandbox to implement a dummy extension_board_scan() function and enables the extension command in the sandbox configuration. It then adds a test that checks the proper functionality of the extension command by applying two Device Tree overlays to the sandbox Device Tree. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> [trini: Limit to running on sandbox] Signed-off-by: Tom Rini <trini@konsulko.com>
| * | cmd: add support for a new "extension" commandKory Maincent2021-05-136-0/+323
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new "extension" command, which aims at detecting extension boards connected to the hardware platform, and apply the Device Tree overlays that describe the hardware present on those extension boards. In order to enable this mechanism, board-specific code must implement the extension_board_scan() function that fills in a linked list of "struct extension", each describing one extension board. In addition, the board-specific code must select the SUPPORT_EXTENSION_SCAN Kconfig boolean. Based on this: - "extension scan" makes the generic code call the board-specific extension_board_scan() function to retrieve the list of detected extension boards. - "extension list" allows to list the detected extension boards. - "extension apply <number>|all" allows to apply the Device Tree overlay(s) corresponding to one, or all, extension boards The latter requires two environment variables to exist and set one variable to run: - extension_overlay_addr: the RAM address where to load the Device Tree overlays - extension_overlay_cmd: the U-Boot command to load one overlay. Indeed, the location and mechanism to load DT overlays is very setup specific. - extension_overlay_name: set by the command: the name of the DT which will be load during the execution. When calling the command described in the extension_overlay_cmd variable, the variable extension_overlay_name will be defined. So a typical extension_overlay_cmd will look like this: extension_overlay_cmd=load mmc 0:1 $extension_overlay_addr /boot/$extension_overlay_name Here is an example on how to use it: => run loadfdt => fdt addr $fdtaddr => setenv extension_overlay_addr 0x1000 => setenv extension_overlay_cmd 'load mmc 0:1 ${extension_overlay_addr} /boot/${extension_overlay_name}' => extension scan Found 1 extension board(s). => extension apply 0 519 bytes read in 3 ms (168.9 KiB/s) Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Reviewed-by: Maxime Ripard <maxime@cerno.tech>
| * | fdt_support: move fdt_valid from cmd_fdt.c to fdt_support.cKory Maincent2021-05-133-49/+48
|/ / | | | | | | | | | | | | | | | | | | | | | | Move the fdt_valid function to fdt_support. This changes allow to be able to test the validity of a devicetree in other c files. Update code syntax. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Maxime Ripard <maxime@cerno.tech>
* | Merge tag 'ti-v2021.07-rc3' of ↵Tom Rini2021-05-12121-23609/+57482
|\ \ | |/ |/| | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-ti - Initial support for AM64 EVM and SK - K3 DDR driver unification for J7 and AM64 platforms. - Minor fixes for TI clock driver
| * ARM: dts: k3-am642-sk: Add ethernet related DT nodesVignesh Raghavendra2021-05-122-0/+78
| | | | | | | | | | | | | | Add CPSW related nodes for AM642 SK. There are two CPSW ports on the board but U-Boot supports only the first port. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * ARM: dts: k3-am64-main: Add CPSW DT nodesVignesh Raghavendra2021-05-124-0/+185
| | | | | | | | | | | | | | | | | | AM64 as CPSW3G IP with 2 external ports. Add DT entries for the same (based on kernel DT). Disable second port as its by default set to ICSS usage on EVM. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * net: ti: am65-cpsw-nuss: Add a new compatible for AM64Vignesh Raghavendra2021-05-121-0/+1
| | | | | | | | | | | | Add a new compatible to support AM64 SoC Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * net: ti: am65-cpsw-nuss: Don't cache disabled port IDVignesh Raghavendra2021-05-121-1/+1
| | | | | | | | | | | | | | | | Currently driver may end up caching disabled port ID as active interface. Fix this by bailing out earlier in case port is marked disabled in the DT. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * net: ti: am65-cpsw-nuss: Prepare to support non primary ext portVignesh Raghavendra2021-05-121-1/+1
| | | | | | | | | | | | | | | | | | CPSW NUSS IP on K3 SoCs can have more than one external port (upto 8) Therefore increase AM65_CPSW_CPSWNU_MAX_PORTS to 9 (8 ext + 1 Root port) as preparation to allow any one of the 8 ports to be used as ethernet interface in U-Boot. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * dma: ti: k3-udma: Add BCDMA and PKTDMA supportVignesh Raghavendra2021-05-121-64/+939
| | | | | | | | | | | | Sync BCDMA and PKTDMA support from Kernel for AM64 SoC Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * dma: ti: k3-psil-am64: Add AM64 PSIL endpoint dataVignesh Raghavendra2021-05-124-0/+160
| | | | | | | | | | | | Add AM64 SoC specific channel mapping and endpoint data. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * dma: ti: k3-psil: Extend PSIL EP data extension for AM64Vignesh Raghavendra2021-05-121-0/+16
| | | | | | | | | | | | Extend PSIL EP data to include AM64 DMA specific information Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * dma: ti: k3-psil-am654: Drop unused PSIL EP static dataVignesh Raghavendra2021-05-121-25/+7
| | | | | | | | | | | | | | | | | | | | ICSSG Ethernet driver uses two src threads per port (one per slice). Similarly CPSW uses one src thread. Drop PSIL EP static data for other src threads in order to reduce R5 SPL footprint. This makes AM65x board bootable again. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * soc: ti: k3-navss-ringacc: Remove unused ring modesVignesh Raghavendra2021-05-122-310/+8
| | | | | | | | | | | | | | | | | | | | | | | | With AM64x supporting only K3_NAV_RINGACC_RING_MODE_RING or the exposed ring mode, all other K3 SoCs have also been moved to this common baseline. Therefore drop other modes such as K3_NAV_RINGACC_RING_MODE_MESSAGE (and proxy) to save on SPL footprint. There is a saving of ~800 bytes with this change for am65x_evm_r5_defconfig. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
| * soc: ti: k3-navss-ringacc: Add AM64 ringacc supportVignesh Raghavendra2021-05-122-5/+283
| | | | | | | | | | | | | | | | | | | | | | | | AM64 dual mode rings are modeled as pair of Rings objects which has common configuration and memory buffer, but separate real-time control register sets for each direction mem2dev (forward) and dev2mem (reverse). AM64 rings must be requested only using k3_ringacc_request_rings_pair(), and forward ring must always be initialized/configured. After this any other Ringacc APIs can be used without any callers changes. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * firmware: ti_sci: Update ti_sci_cmd_rm_udmap_tx_ch_cfg() API to the latestVignesh Raghavendra2021-05-123-0/+35
| | | | | | | | | | | | | | Update struct ti_sci_msg_rm_udmap_tx_ch_cfg_req to latest ABI to support AM64x BCDMA Block copy channels. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * board: ti: am64x: Parse MAC address from board EEPROMVignesh Raghavendra2021-05-121-0/+9
| | | | | | | | | | | | | | Parse MAC addresses from EEPROM and set them in the env. This is needed to get MAC address for additional ethernet ports on the EVM. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
| * configs: am64x_evm_a53: Enable support for building multiple dtbsLokesh Vutla2021-05-121-0/+3
| | | | | | | | | | | | | | Enable all relevant configs for building multiple dtbs into a single fit image and load the right dtb for next stage. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
| * configs: am64x_evm_a53: Enable support for reading eepromLokesh Vutla2021-05-122-0/+7
| | | | | | | | | | | | | | Enable relevant configs for reading eeprom data and updating env variables. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
| * configs: am64x_evm_a53: Enable configs for printing cpuinfoLokesh Vutla2021-05-121-1/+2
| | | | | | | | | | | | Enable all relevant configs for printing CPU info. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>