summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2022-01-13riscv: dts: starfive: add watchdog nodeHal Feng1-0/+14
Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
2022-01-11riscv: dts: starfive: Modify devicee tree for VisionFive to support WM8960 ↵Som Qin1-2/+2
daughter board Modify the gpio node to keep i2s pins state. Signed-off-by: Som Qin <som.qin@starfivetech.com>
2022-01-07dts: fixed libcamera report locaton warning about imx219Andy Hu1-0/+2
Signed-off-by: 123curry <curry.zhang@starfivetech.com>
2022-01-05starfive: apply VisionFive board changesSom.Qin1-0/+15
The VisionFive dts is base on Starlight dts, and the difference of rst gpio, eeprom and gmac should be applied. Signed-off-by: Som.Qin <som.qin@starfivetech.com>
2022-01-04Convert CONFIG_ID_EEPROM to KconfigTom Rini2-0/+6
This converts the following to Kconfig: CONFIG_ID_EEPROM Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-30starfive: add JH7100 VisionFive V1 Support.Jianlong.Huang2-0/+18
Signed-off-by: Jianlong.Huang <jianlong.huang@starfivetech.com>
2021-09-29starfive: GPIO pin initsw.multimedia25-0/+147750
This patch should be removed, once we can do GPIO pin init in secondboot or ddrinit Include: starfive: Add init GPIO for ALSA audio framework starfive: remove useless gpio operation Signed-off-by: sw.multimedia <sw.multimedia@starfivetech.com> Signed-off-by: michael.yan <michael.yan@starfivetech.com> Signed-off-by: andy.hu <andy.hu@starfivetech.com>
2021-09-29starfive(multimedia): Add pwmdac pinctl and keep 0,2,3,45 gpio for i2s to dtssw.multimedia2-6/+25
2021-09-29starfive(multimedia): apply starfive v4l2 pinctl to dtssw.multimedia3-5/+119
Signed-off-by: sw.multimedia <sw.multimedia@starfivetech.com>
2021-09-29starfive: apply the pinctl to dtssw.multimedia2-12/+323
2021-09-29starfive: Add v4l2 video sensor device and DRM framework in dtssw.multimedia3-21/+380
Signed-off-by: sw.multimedia <sw.multimedia@starfivetech.com> Signed-off-by: andy.hu <andy.hu@starfivetech.com> Signed-off-by: david.li <david.li@starfivetech.com> Signed-off-by: keithzhao <keith.zhao@starfivetech.com> Signed-off-by: Curry Zhang <curry.zhang@starfivetech.com>
2021-09-29starfive: dtsi fix for dma2psw.multimedia1-0/+1
2021-09-29starfive: Add more audio codecs support in dtssw.multimedia6-0/+128
2021-09-29starfive: add clock info in dts for audiosw.multimedia2-0/+154
2021-09-29starfive: add i2c dev info in dts for audiosw.multimedia1-6/+30
2021-09-29starfive: fix dts(linux)TekkamanV1-4/+11
1, ccache 2, mmc This patch adds the necessary info for mmc driver: bus-width = <4>; max-frequency = <?0000000>; 3, uart0(console) 4, SPI Nor Flash 5, Switch dtb to linux dts
2021-09-29starfive: Porting jh7100-beaglev-starlight.dts from linuxTekkamanV4-0/+1105
https://github.com/starfive-tech/linux/tree/beaglev
2021-09-29starfive: Add JH7100 supportTekkamanV9-0/+1807
This patch adds StarFive JH7100 main support, including Starlight and EVB support, ported from StarFive HiFive_U-Boot REPO. The original authors are bo.li <bo.li@starfivetech.com> Chenjieqin <Jessica.Chen@starfivetech.com> Huan.Feng <huan.feng@starfivetech.com> jack.zhu <jack.zhu@starfivetech.com> Jianlong Huang <jianlong.huang@starfivetech.com> ke.zhu <ke.zhu@starfivetech.com> Micheal Zhu <michael.zhu@starfivetech.com> Samin Guo <samin.guo@starfivetech.com> yanhong.wang <yanhong.wang@starfivetech.com> yiming.li <yiming.li@starfivetech.com> Note: 1, disable BTRFS(will trigger a link error with *some* RV64 GCC) But RV64 GCC on Fedora works well with enabling BTRFS. BTRFS will select ZSTD which will trigger a link error with *some* RV64 GCC: --- riscv64-unknown-linux-gnu-ld.bfd: /usr/lib/gcc/riscv64-unknown-linux-gnu/11.2.0/libgcc.a(_clzsi2.o): can't link double-float modules with soft-float modules riscv64-unknown-linux-gnu-ld.bfd: failed to merge target specific data of file /usr/lib/gcc/riscv64-unknown-linux-gnu/11.2.0/libgcc.a(_clzsi2.o) riscv64-unknown-linux-gnu-ld.bfd: /usr/lib/gcc/riscv64-unknown-linux-gnu/11.2.0/libgcc.a(_clz.o): can't link double-float modules with soft-float modules riscv64-unknown-linux-gnu-ld.bfd: failed to merge target specific data of file /usr/lib/gcc/riscv64-unknown-linux-gnu/11.2.0/libgcc.a(_clz.o) make: *** [Makefile:1787: u-boot] Error 1 --- 2, enable OF_SEPARATE: This is required so that openSBI can add itself to /reserved-memory, and let EFI know about it. By Andreas Schwab <schwab@suse.de> 3, Set default fdtfile name By Andreas Schwab <schwab@suse.de>
2021-09-29sifive_cache: add flush_range func in sifive cache driverTekkamanV1-0/+21
Signed-off-by: TekkamanV <tekkamanv@starfivetech.com>
2021-09-29riscv: add reset_misc function (__weak)TekkamanV2-0/+7
Signed-off-by: TekkamanV <tekkamanv@starfivetech.com>
2021-09-29riscv: add #define in asm/io.h for cadence_qspi_apb.cTekkamanV1-0/+4
Signed-off-by: TekkamanV <tekkamanv@starfivetech.com>
2021-09-28imx: imx7d-sdb: fix ethernet, sync .dts with linuxRasmus Villemoes1-3/+3
Commit 0d52bab46 (mx7dsabre: Enable DM_ETH) changed these flags from 0 (aka GPIO_ACTIVE_HIGH) to GPIO_ACTIVE_LOW. It claimed to "Also sync device tree with v5.5-rc1", but in the linux tree, these gpios have always been GPIO_ACTIVE_HIGH ever since this node was introduced around v4.13 (linux commit 184f39b5). I'm guessing that the reason for the GPIO_ACTIVE_LOW was to work around the behaviour of the soft-spi driver back then, which effectively defaulted to spi-mode 3 and not 0. That was arguably a bug in the soft-spi driver, which then got fixed in 0e146993bb3 (spi: add support for all spi modes with soft spi), but that commit then broke ethernet on this board. Fix it by setting the gpios as active high, which as a bonus actually brings us in sync with the .dts in the linux source tree. Without this, one gets Net: Could not get PHY for FEC0: addr 0 No ethernet found. With this, ethernet (at least ping and tftp) works as expected from the U-Boot shell. Cc: Fabio Estevam <festevam@gmail.com> Cc: Joris Offouga <offougajoris@gmail.com> Cc: "Christian Bräuner Sørensen" <yocto@bsorensen.net> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
2021-09-22arm: socfpga: vining: Fix UDC controller phandle in DTMarek Vasut1-1/+1
The USB peripheral controller is the DWC2 controller 1, not 0. Update the phandle to fix UDC support on this board. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Siew Chin Lim <elly.siew.chin.lim@intel.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Cc: Tien Fong Chee <tien.fong.chee@intel.com>
2021-09-22arm: socfpga: vining: Un-disable WDT in DTMarek Vasut1-4/+0
The WDT on this system should be enabled, make it so. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Siew Chin Lim <elly.siew.chin.lim@intel.com> Cc: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com> Cc: Tien Fong Chee <tien.fong.chee@intel.com>
2021-09-22x86: tangier: acpi: Add GPIO card detection to SDHCI #2Andy Shevchenko1-0/+32
On Intel Tangier the SDHCI #2 provides SD card connection. Add GPIO card detection for it. Fixes: 39665beed6f7 ("x86: tangier: Enable ACPI support for Intel Tangier") BugLink: https://github.com/edison-fw/meta-intel-edison/issues/135 Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Bin Meng <bmeng.cn@gmail.com>
2021-09-22x86: edison: Mark eMMC non-removableAndy Shevchenko1-0/+1
eMMC is non-removable on Intel Edison board. Fix the DTS accordingly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2021-09-21arm: dts: stm32mp1: use ssbl partition name for U-BootPatrick Delaunay2-2/+6
Continue to use the "ssbl" name for GPT partition of secondary boot stage = U-Boot for basic boot with SPL to avoid to disturb existing user. The "fip" partition name is only used for TFA_BOOT with FIP, it is a TF-A BL2 requirement; it the default configuration for STMicroelectronics boards. Fixes: b73e8bf453f8 ("arm: stm32mp: add defconfig for trusted boot with FIP") Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2021-09-17arm: mach-k3: common: Make sure firmware sections are loaded prior to armv8 ↵Nishanth Menon1-12/+18
startup With Device Manager firmware in an elf file form, we cannot load the FIT image to the exact same address as any of the executable sections of the elf file itself is located. However, the device tree descriptions for the ARMV8 bootloader/OS includes DDR regions only the final sections in DDR where the Device Manager firmware is actually executing out of. As the R5 uC is usually operating at a slower rate than an ARMv8 MPU, by starting the Armv8 ahead of parsing the elf and copying the correct sections to the required memories creates a race condition where the ARMv8 could overwrite the elf image loaded from the FIT image prior to the R5 completing parsing and putting the correct sections of elf in the required memory locations. OR create rather obscure debug conditions where data in the section is being modified by ARMV8 OS while the elf copy is in progress. To prevent all these conditions, lets make sure that the elf parse and copy operations are completed ahead of ARMv8 being released to execute. We will pay a penalty of elf copy time, but that is a valid tradeoff in comparison to debug of alternate scenarios. Signed-off-by: Nishanth Menon <nm@ti.com>
2021-09-17arm: mach-k3: am6_init: Prioritize MSMC traffic over DDR in NAVSS NorthbridgeRoger Quadros2-0/+21
NB0 is bridge to SRAM and NB1 is bridge to DDR. To ensure that SRAM transfers are not stalled due to delays during DDR refreshes, SRAM traffic should be higher priority (threadmap=2) than DDR traffic (threadmap=0). This fixup is critical to provide deterministic access latency to MSMC from ICSSG, it applies to all AM65 silicon revisions and is due to incorrect reset values (has no erratum id) and statically setting things up should be done independent of usecases and board. This specific style of Northbridge configuration is specific only to AM65x devices, follow-on K3 devices have different data prioritization schemes (ASEL and the like) and hence the fixup applies purely to AM65x. Without this fix, ICSSG TX lock-ups due to delays in MSMC transfers in case of SR1 devices, on SR2 devices, lockups were not observed so far but high retry rates of ICSSG Ethernet (icssg-eth) and, thus, lower throughput. Signed-off-by: Roger Quadros <rogerq@ti.com> Acked-by: Andrew F. Davis <afd@ti.com> Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Benoit Parrot <bparrot@ti.com> [Jan: rebased, dropped used define, extended commit log] Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> [Nishanth: Provide relevant context in the commit message] Signed-off-by: Nishanth Menon<nm@ti.com>
2021-09-17clk: ti: k3: Update driver to account for divider flagsSuman Anna2-97/+99
The K3 SoCs have some PLL output clocks (POSTDIV clocks) which in turn serve as inputs to other HSDIV output clocks. These clocks use the actual value to compute the divider clock rate, and need to be registered with the CLK_DIVIDER_ONE_BASED flags. The current k3-clk driver and data lacks the infrastructure to pass in divider flags. Update the driver and data to account for these divider flags. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2021-09-17arm: mach-k3: Add note to auto-generated filesDave Gerlach4-4/+20
Add a note to the automatically generated clk-data and dev-data files for j721e and j7200 to indicate that they are in fact auto-generated and should not be hand edited. Also adjust TI URL to use https instead of http and also add an empty line before first header inclusion. Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2021-09-17arm: mach-k3: j7200: Fix clk-data parenting for postdiv PLL clocksSuman Anna1-4/+4
The TI K3 Fractional PLLs use two programmable POSTDIV1 and POSTDIV2 divisors to generate the final FOUTPOSTDIV clock. These are in sequence with POSTDIV2 following the POSTDIV1 clock. The current J7200 clock data has the POSTDIV2 clock as the parent for the POSTDIV1 clock, which is opposite of the actual implementation. Fix the data by simply adjusting the register bit-shifts. The Main PLL1 POSTDIV clocks were also defined incorrectly using Main PLL0 register values, fix these as well. Fixes: 277729eaf373 ("arm: mach-k3: Add platform data for j721e and j7200") Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2021-09-17arm: mach-k3: j721e: Fix clk-data parenting for postdiv PLL clocksSuman Anna1-4/+4
The TI K3 Fractional PLLs use two programmable POSTDIV1 and POSTDIV2 divisors to generate the final FOUTPOSTDIV clock. These are in sequence with POSTDIV2 following the POSTDIV1 clock. The current J721E clock data has the POSTDIV2 clock as the parent for the POSTDIV1 clock, which is opposite of the actual implementation. Fix the data by simply adjusting the register bit-shifts. The Main PLL1 POSTDIV clocks were also defined incorrectly using Main PLL0 register values, fix these as well. Fixes: 277729eaf373 ("arm: mach-k3: Add platform data for j721e and j7200") Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2021-09-17arm: mach-k3: common: Add a release_resources_for_core_shutdown() stubSuman Anna1-0/+5
Add a weak release_resources_for_core_shutdown() stub implementation that can be overridden by actual implementation if a SoC supports that function. Signed-off-by: Suman Anna <s-anna@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2021-09-15ARM: bcm283x: change the virtual address of the XHCI PCI device baseMarek Szyprowski1-2/+2
Move the XHCI PCI device base up in the virtual address space. This fixes initialization failure observed with newer Raspberry Pi firmware, later than 63b1922311 ("firmware: arm_loader: Update armstubs with those from PR 117). It looks that chosing 0xff800000 as the XHCI PCI device base conflicts with the updated ARM/VideoCore firmware. This also requires to reduce the size of the mapped PCI device region from 8MiB to 4MiB to fit into 32bit address space. This is still enough for the XHCI PCI device. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Nicolas Saenz Julienne <nsaenz@kernel.org> Tested-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
2021-09-15arm: dts: bcm283x: Add minimal smbios informationMatthias Brugger1-0/+19
At present SMBIOS tables are empty, which breaks some use-cases that rely on that. Add some minimal information to fulfill this. Signed-off-by: Matthias Brugger <mbrugger@suse.com>
2021-09-14pci: Drop DM_PCISimon Glass4-4/+3
This option has not effect now. Drop it, using PCI instead where needed. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-09-14ppc: Remove UCP1020 boardSimon Glass1-7/+0
This board has not been converted to CONFIG_DM_PCI by the deadline. Remove it. Note that we have to add CONFIG_SPIFLASH to scripts/config_whitelist.txt because it's not really migrated at this point. Acked-by: Michael Durrant <mdurrant@arcturusnetworks.com> Acked-by: Oleksandr Zhadan <oleks@arcturusnetworks.com> Acked-by: Oleksandr Zhadan and Michael Durrant <arcsupport@arcturusnetworks.com> Signed-off-by: Simon Glass <sjg@chromium.org> [trini: Handle CONFIG_SPIFLASH differently and delete Kconfig file] Signed-off-by: Tom Rini <trini@konsulko.com>
2021-09-11arm: dts: k3-j721e-r5-*.dts: Fix clock-names property in the usb0 instanceAswath Govindraju1-1/+1
In the cdns3 usb driver, the clock name looked for is ref. Therefore, fix the clock-names property in usb0 instance for proper initialization of cdns3 usb gadget driver. Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
2021-09-11ARM: dts: Fix node status to "okay" on TI boardsRoger Quadros20-34/+34
As per Device Tree Specification [1], the status parameter of nodes can be "okay", "disabled", etc. "ok" is not a valid parameter. U-boot Driver Model does not recognize status="ok" either and treats the node as disabled. [1] https://github.com/devicetree-org/devicetree-specification/releases/tag/v0.3 Signed-off-by: Roger Quadros <rogerq@kernel.org> Reviewed-by: Nishanth Menon <nm@ti.com>
2021-09-11arm: dts: k3-am642-evm-u-boot: Add u-boot, dm-spl tag in the pinmux node of mmc1Aswath Govindraju1-0/+4
Add u-boot,dm-spl tag in the pinmux device tree node, required for MMCSD1 subsystem. Fixes: b6059ddc45b9 ("arm: dts: k3-am642: Add r5 specific dt support") Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
2021-09-11am33xx: Fix USB for am335x boardsMatwey V. Kornilov1-6/+0
USB nodes were mistakenly disabled in commit 942853dd96df ("arm: dts: Resync BeagleBone device trees") This commit is to fix the following issue: starting USB... No working controllers found USB is stopped. Please issue 'usb start' first. starting USB... No working controllers found Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0782e8572ce43f521ed6ff15e4a7ab9aa5acdc85 Fixes: 942853dd96df ("arm: dts: Resync BeagleBone device trees") Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com> Reviewed-by: Paul Barker <paul.barker@sancloud.com>
2021-09-10arm: mvebu: dts: Armada8k enable mdioSven Auhagen4-0/+4
Since mvpp2 is using the new mdio driver and the cp110 has been synced with the linux upstream, the mdio has to enabled in the device tree file. This is missing for some device tree files and therefore the network cards do not come online. Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de> Reviewed-by: Stefan Roese <sr@denx.de>
2021-09-08lib: Drop SHA512_ALGO in lieu of SHA512Alexandru Gagniuc1-1/+1
SHA512_ALGO was used as a "either SHA512 or SHA384", although the implementations of these two algorithms share a majority of code. From a Kconfig interface perspective, it makes sense to present two distinct options. This requires #ifdefing out the SHA512 implementation from sha512.c. The latter doesn't make any sense. It's reasonable to say in Kconfig that SHA384 depends on SHA512, and seems to be the more polite way to handle the selection. Thus, automatically select SHA512 when SHA384 is enabled. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2021-09-07riscv: lib: modify the indentZong Li1-1/+1
We usually use a space in function declaration, rather than a tab. Signed-off-by: Zong Li <zong.li@sifive.com> Reviewed-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Rick Chen <rick@andestech.com>
2021-09-07board: sifive: use ccache driver instead of helper functionZong Li8-140/+4
Invokes the common cache_init function to initialize ccache. Signed-off-by: Zong Li <zong.li@sifive.com> Reviewed-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Rick Chen <rick@andestech.com>
2021-09-07riscv: lib: implement enable_caches for sifive cacheZong Li3-0/+33
The enable_caches is a generic hook for architecture-implemented, we define this function to enable composable cache of sifive platforms. In sifive_cache, it invokes the generic cache_enable interface of cache uclass to execute the relative implementation in SiFive ccache driver. Signed-off-by: Zong Li <zong.li@sifive.com> Reviewed-by: Rick Chen <rick@andestech.com>
2021-09-07common: board_r: support enable_caches for RISC-VZong Li1-0/+4
The enable_caches is a generic hook for architecture-implemented, we leverage this function to enable caches for RISC-V Signed-off-by: Zong Li <zong.li@sifive.com> Reviewed-by: Rick Chen <rick@andestech.com>
2021-09-07riscv: show code leading to exceptionHeinrich Schuchardt1-0/+33
To make analyzing exceptions easier output the code that leads to it. We already do the same on the ARM platform. Here is an example: => exception ebreak Unhandled exception: Breakpoint EPC: 000000008ff5d50e RA: 000000008ff5d62c TVAL: 0000000000000000 EPC: 000000008020b50e RA: 000000008020b62c reloc adjusted Code: 2785 0693 07a0 dce3 fef6 47a5 d563 00e7 (9002) To disassemble the code we can use the decodecode script: $ echo 'Code: 2785 0693 07a0 dce3 fef6 47a5 d563 00e7 (9002)' | \ CROSS_COMPILE=riscv64-linux-gnu- scripts/decodecode Code: 2785 0693 07a0 dce3 fef6 47a5 d563 00e7 (9002) All code ======== 0: 2785 addiw a5,a5,1 2: 07a00693 li a3,122 6: fef6dce3 bge a3,a5,0xfffffffffffffffe a: 47a5 li a5,9 c: 00e7d563 bge a5,a4,0x16 10:* 9002 ebreak <-- trapping instruction ... Code starting with the faulting instruction =========================================== 0: 9002 ebreak ... As it is not always clear if the first 16 bits are at the start or in the middle of a 32bit instruction it may become necessary to strip the first u16 from the output before calling decodecode to get the correct disassembled code. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Sean Anderson <seanga2@gmail.com>
2021-09-06stm32mp: Fix board_get_usable_ram_top()Patrice Chotard1-1/+1
When booting in EFI, lib/efi_loader/efi_memory.c calls board_get_usable_ram_top(0) which returns by default gd->ram_base + gd->ram_size which is the top of DDR. In case of OPTEE boot, the top of DDR is currently reserved by OPTEE, board_get_usable_ram_top(0) must return an address outside OPTEE reserved memory. gd->ram_top matches this constraint as it has already been initialized by substracting all DT reserved-memory (included OPTEE memory area). Fixes: 92b611e8b003 ("stm32mp: correctly handle board_get_usable_ram_top(0)") Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>