summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2018-10-03riscv: Add QEMU virt board supportBin Meng
This adds QEMU RISC-V 'virt' board target support, with the hope of helping people easily test U-Boot on RISC-V. The QEMU virt machine models a generic RISC-V virtual machine with support for the VirtIO standard networking and block storage devices. It has CLINT, PLIC, 16550A UART devices in addition to VirtIO and it also uses device-tree to pass configuration information to guest software. It implements RISC-V privileged architecture spec v1.10. Both 32-bit and 64-bit builds are supported. Support is pretty much preliminary, only booting to U-Boot shell with the UART driver on a single core. Booting Linux is not supported yet. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: kconfig: Imply DM support for some common driversBin Meng
This implies DM support for some common drivers that are used on RISC-V. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: kconfig: Select DM and OF_CONTROLBin Meng
RISC-V is a pretty new architecture and should support DM and OF_CONTROL by default. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: ae350: Clean up mixed tabs and spaces in the dtsBin Meng
There are quite a lot of mixed tabs and spaces in the ae350.dts. Clean them up. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: Make start.S available for all targetsBin Meng
Currently start.S is inside arch/riscv/cpu/ax25/, but it can be common for all RISC-V targets. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: bootm: Pass mhartid CSR value to kernelBin Meng
So far this is hardcoded to zero, and we should read the value from mhartid CSR and pass it to Linux kernel. Suggested-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Reviewed-by: Rick Chen <rick@andestech.com>
2018-10-03riscv: Remove CSR read/write defines in encoding.hBin Meng
There is no reason to keep two versions of CSR read/write defines in encoding.h. We already have one set of defines in csr.h, which is from Linux kernel, and let's drop the one in encoding.h. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Reviewed-by: Rick Chen <rick@andestech.com>
2018-10-03riscv: Add a helper routine to print CPU informationBin Meng
This adds a helper routine to print CPU information. Currently it prints all the instruction set extensions that the processor core supports. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: Explicitly pass -march and -mabi to the compilerBin Meng
At present the compiler flag against which architecture and abi variant the riscv image is built for is not explicitly indicated which means the default compiler configuration is used. But this does not work if we want to build a different target (eg: 32-bit riscv images using a toolchain configured for 64-bit riscv). Fix this by explicitly passing -march and -mabi to the compiler. Since generically we don't use floating point in U-Boot, specify the RV[32|64]IMA ISA and software floating ABI. This also fix some alignment coding style issues. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: Fix coding style issues in the linker scriptBin Meng
There are several coding style issues in the linker script. Fix them. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: Move the linker script to the CPU root directoryBin Meng
The linker script can be shared by all RISC-V targets. Move it to a common place. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: Remove mach typeBin Meng
Since the mach_id is not used by RISC-V, remove it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: bootm: Correct the 1st kernel argument to hart idBin Meng
The first argument of Linux kernel is the risc-v core hart id, from which the kernel is booted from. It is not the mach_id, which seems to be copied from arm. While we are here, this also changes the Linux kernel entry parameters' type to support both 32-bit and 64-bit. Note the hart id is hardcoded to zero for now, and we should change to fill in it with the value read from mhartid CSR of the hart which this routine is currently running on. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Reviewed-by: Rick Chen <rick@andestech.com>
2018-10-03riscv: Remove setup.hBin Meng
This was copied from ARM, and does not apply to RISC-V. While we are here, bootm.h is eventually removed as its content is only the inclusion of setup.h. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-10-03riscv: kconfig: Normalize architecture name spellingBin Meng
It's RISC-V that is the official name, not RISCV. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Reviewed-by: Rick Chen <rick@andestech.com>
2018-10-02Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini
This is the PR for SPI-NAND changes along with few spi changes. [trini: Re-sync changes for ls1012afrwy_qspi*_defconfig] Signed-off-by: Tom Rini <trini@konsulko.com>
2018-10-02rockchip: rk3188: explicitly set vcc_sd0 pin to gpio on rk3188-radxarockHeiko Stuebner
It is good practice to make the setting of gpio-pinctrls explicitly in the devicetree, and in this case even necessary. Rockchip boards start with iomux settings set to gpio for most pins and while the linux pinctrl driver also implicitly sets the gpio function if a pin is requested as gpio that is not necessarily true for other drivers. The issue in question stems from uboot, where the sdmmc_pwr pin is set to function 1 (sdmmc-power) by the bootrom when reading the 1st-stage loader. The regulator controlled by the pin is active-low though, so when the dwmmc hw-block sets its enabled bit, it actually disables the regulator. By changing the pin back to gpio we fix that behaviour. [picked from the identical linux patch https://patchwork.kernel.org/patch/10609253/] Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-10-02rockchip: rk3188: add u-boot-specific mmc propertiesHeiko Stuebner
The dwmmc controllers on rk3188 do not have idma support, so need to use the fifo-mode and it my tests they became confused and stopped working if the frequency was to high. While I only tested in somewhat bigger steps, 32MHz for example hung the controller, while reducing it to 16MHz worked just fine and is reasonably fast to load a kernel from mmc. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2018-09-30Merge git://git.denx.de/u-boot-dmTom Rini
2018-09-30dts: db410c: Add bindings for MSM USB phyRamon Fried
Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
2018-09-30db410c: serial# env using msm board serialRamon Fried
The serial# environment variable needs to be defined so it will be used by fastboot as serial for the endpoint descriptor. Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
2018-09-30dts: db410c: add alias for USBRamon Fried
Alias is required so req-seq will be filled. Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
2018-09-29Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2018-09-29dm: test: Add "/firmware" node scan testRajan Vaja
Add a test which verifies that all subnodes under "/firmware" nodes are scanned. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org> Added 'imply FIRMWARE' to sandbox Kconfig to fix test failures, fixed ordering of lines in arch/sandbox/dts/test.dts and test/dm/Makefile, updated #if condition in drivers/firmware/firmware-uclass.c: Signed-off-by: Simon Glass <sjg@chromium.org>
2018-09-29test: Add tests for board uclassMario Six
Add tests for the new board uclass. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Mario Six <mario.six@gdsys.cc>
2018-09-29Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini
2018-09-29Merge tag 'mpc85xx-for-v2018.11-rc1' of git://git.denx.de/u-boot-mpc85xxTom Rini
Use device tree for mpc85xx with binman. Enabled for T2080QDS.
2018-09-29Merge tag 'fsl-qoriq-for-v2018.11-rc1' of git://git.denx.de/u-boot-fsl-qoriqTom Rini
Switch to driver model for eSDHC on Layerscape SoCs including LS1021A, LS1043A, LS1046A, LS1088A, LS2088A. Switch to driver model for SATA on LS1021A and LS1043A. Add support for LS1012AFRWY rev C board. Enable SMMU for LS1043A.
2018-09-29ARM: da850evm_direct_nor_defconfig: Enable DM_SERIALAdam Ford
With DM enabled, this patch enables DM_SERIAL and removes the NS16550 initialization from da850_lowlevel since the driver will take care of that itself. Signed-off-by: Adam Ford <aford173@gmail.com>
2018-09-29ARM: DTS: various omap3: Remove cd-inverted from u-boot.dtsiAdam Ford
With the omap_mmc driver no longer supporting cd-inverted, this patch removes all these references since they are not needed. Signed-off-by: Adam Ford <aford173@gmail.com>
2018-09-29mmc: omap_mmc: Remove invert referencesAdam Ford
With DM_GPIO and DM_MMC translating GPIO_ACTIVE_LOW, any boards using the 'cd-invert' option will no longer need to do this. This patch removes the support for 'invert' from the MMC driver. Signed-off-by: Adam Ford <aford173@gmail.com> [trini: Fix warning over when !DM_GPIO] Signed-off-by: Tom Rini <trini@konsulko.com>
2018-09-28ARM: dts: at91: sama5d4_xplained: add onewire connector for LCD eepromEugen Hristev
Add onewire node in device tree for TM series LCDs Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2018-09-28ARM: dts: at91: sama5d2_ptc: add onewire connector for LCD eepromEugen Hristev
Add onewire node in device tree for TM series LCDs Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2018-09-28ARM: dts: at91: sama5d27_som1_ek: add onewire connector for LCD eepromEugen Hristev
Add onewire node in device tree for TM series LCDs Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2018-09-28ARM: dts: at91: sama5d3_xplained: add onewire connector for LCD eepromEugen Hristev
Add onewire node in device tree for TM series LCDs Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2018-09-28ARM: dts: at91: sama5d2_xplained: add onewire connector for LCD eepromEugen Hristev
Add onewire node in device tree for TM series LCDs Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2018-09-28board: sama5d2_ptc_ek: add pda detect call at init timeEugen Hristev
Call the PDA detection mechanism at boot time so we can have the pda environment variable ready for use. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2018-09-28board: sama5d3_xplained: add pda detect call at init timeEugen Hristev
Call the PDA detection mechanism at boot time so we can have the pda environment variable ready for use. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2018-09-28sandbox: DTS: w1: add node for one wire interface on GPIOEugen Hristev
Add a node for the one wire uclass and one wire gpio driver in sandbox. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
2018-09-28ARM: dts: sun8i: Update A23/A33/r16 dts(i) files from Linux-v4.18-rc3Jagan Teki
Update all A23/A33/r16 devicetree dtsi and dtsi files from Linux-v4.18-rc3 with below commits. A23: commit bc3bd041fe766219a44688b182c260064007f0cc Author: Miquel Raynal <miquel.raynal@bootlin.com> Date: Tue Apr 24 17:55:02 2018 +0200 ARM: dts: sun8i: a23/a33: declare NAND pins A33: commit 88fe315d2c0a397ef42d7639addab0e021ae911d Author: Maxime Ripard <maxime.ripard@bootlin.com> Date: Wed Apr 4 11:57:15 2018 +0200 ARM: dts: sun8i: a33: Add the DSI-related nodes r16: commit 9621d0bd1b0d61167e1853ac68cf4869c31bcc96 Author: Miquel Raynal <miquel.raynal@bootlin.com> Date: Tue Apr 24 17:55:03 2018 +0200 ARM: dts: nes: add Nintendo NES/SuperNES Classic Edition support Note: - Drop pinctrl from sun8i-r16-nintendo-nes-classic-edition.dts since sun8i-a23-a33.dtsi is added with Linux sync. - Don't sync non U-Boot supported dts files sun8i-a23-ippo-q8h-v1.2.dts sun8i-a23-ippo-q8h-v5.dts sun8i-a33-et-q8-v1.6.dts sun8i-a33-ippo-q8h-v1.2.dts sun8i-r16-nintendo-nes-classic.dts sun8i-r16-nintendo-super-nes-classic.dts Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-09-28ARM: dts: sun7i: Update A20 dts(i) files from Linux-v4.18-rc3Jagan Teki
Update all A10 devicetree dtsi and dtsi files from Linux-v4.18-rc3 with below commit: commit 5d9ef839f874f4e3923c8a9ae7b136c6c3912cd5 Author: Stefan Mavrodiev <stefan@olimex.com> Date: Wed May 16 14:38:08 2018 +0300 ARM: dts: sun7i: Add Olimex A20-SOM-EVB-eMMC board Note: - Update sun7i-a20-primo73.dts as per Linux, since this dts is U-Boot specific. - Drop sun7i-a20-olimex-som-evb-emmc.dts since no board added for this. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-09-28ARM: dts: sun6i: Update A31/A31s dts(i) files from Linux-v4.18-rc3Jagan Teki
Update all A31/A31s devicetree dtsi and dtsi files from Linux-v4.18-rc3 with below commit: commit b240b419db5d624ce7a5a397d6f62a1a686009ec Merge: 9c2dd8405c0c 518d2f43c358 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Thu Apr 5 21:18:09 2018 -0700 Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-09-28ARM: dts: sun5i: Update A10s/A13/gr8/r8 dts(i) files from Linux-v4.18-rc3Jagan Teki
Update all A10s/A13/gr8/r8devicetree dtsi and dtsi files from Linux-v4.18-rc3 with below commit: commit 190e3138f9577885691540dca59c2f07540bde04 Merge: cafc87023b0d a7affb13b271 Author: Arnd Bergmann <arnd@arndb.de> Date: Tue Mar 27 14:58:00 2018 +0200 Merge tag 'sunxi-h3-h5-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-09-28ARM: dts: sun4i: Update A10 dts(i) files from Linux-v4.18-rc3Jagan Teki
Update all A10 devicetree dtsi and dtsi files from Linux-v4.18-rc3 with below commit: commit 590b0c0cfc6162aeebbf43eaafb9753b56df1532 Author: Pascal Roeleven <dev@pascalroeleven.nl> Date: Fri Apr 20 12:21:12 2018 +0200 ARM: dts: sun4i: Fix incorrect clocks for displays Note: Update pinctrl-0 for sun4i-a10-inet-3f.dts, sun4i-a10-inet-3w.dts like other dts file since there dts file are U-Boot specific. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
2018-09-28video_osd: Add osd sandbox driver and testsMario Six
Add sandbox driver and tests for the new OSD uclass. Signed-off-by: Mario Six <mario.six@gdsys.cc> Reviewed-by: Simon Glass <sjg@chromium.org>
2018-09-27powerpc: dts: Enable device tree support for T2080QDSJagdish Gediya
Add device tree for T2080QDS board and enable CONFIG_OF_CONTROL so that device tree can be compiled. Update board README for device tree usage. Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: York Sun <york.sun@nxp.com>
2018-09-27powerpc: dts: Add u-boot.dtsi to use binman for MPC85xx boardsJagdish Gediya
Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: York Sun <york.sun@nxp.com>
2018-09-27powerpc: mpc85xx: Use binman to embed dtb inside U-BootJagdish Gediya
Below is the sequence to embed dtb inside U-Boot, 1. Remove bootpg and resetvec section if needed 2. Append dtb 3. Append bootpg and resetvec section back if removed in step 1 Above procedure is required only when CONFIG_MPC85xx and CONFIG_OF_SEPARATE are defined. Add new config CONFIG_MPC85XX_HAVE_RESET_VECTOR to indicate that image has resetvec section. Step 1 and step 3 described above are required only if this config is y. Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: York Sun <york.sun@nxp.com>
2018-09-27powerpc: mpc85xx: Select BINMAN by defaultJagdish Gediya
Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: York Sun <york.sun@nxp.com>
2018-09-27powerpc/dts: Makefile changes to clean and build dtsJagdish Gediya
Signed-off-by: Jagdish Gediya <jagdish.gediya@nxp.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: York Sun <york.sun@nxp.com>