summaryrefslogtreecommitdiff
path: root/board
Commit message (Collapse)AuthorAgeLines
* board/chiliboard: Add support for chiliBoardMarcin Niestroj2017-01-28-0/+266
| | | | | | | | | | | | | chiliBoard is a development board which uses chiliSOM as its base. Hardware specification: * chiliSOM (TI AM335x, DRAM, NAND) * Ethernet PHY (id 0) * USB host (usb1) * MicroSD slot (mmc0) Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* aspeed: Support for ast2500 Eval Boardmaxims@google.com2017-01-28-0/+19
| | | | | ast2500 Eval Board device tree and board specific configuration. Reviewed-by: Simon Glass <sjg@chromium.org>
* arm: Note vendor-required status of certain MACH_TYPE valuesTom Rini2017-01-28-1/+1
| | | | | | | | | | | | | | In the cases of some boards, a MACH_TYPE number is used which is either not registered upstream or worse (for functionality) is re-using the number of a different (or reference) platform instead. Make sure we have a comment in these cases. Cc: Albert ARIBAUD <albert.aribaud@3adev.fr> Cc: Walter Schweizer <swwa@users.sourceforge.net> Cc: Stefan Roese <sr@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Stefan Roese <sr@denx.de>
* arm: Clean up MACH_TYPE_xxx usage after re-sync of mach-typesTom Rini2017-01-28-3/+3
| | | | | | | | With the latest mach-types values we have many instances where we no longer need to define a value and a few cases where the name (but not value) have changed slightly. Signed-off-by: Tom Rini <trini@konsulko.com>
* Revert "arm: Remove unregister MACH_TYPE_xxx uses"Tom Rini2017-01-28-0/+19
| | | | | | | | | | This reverts commit 70b26cd057f42c7126088b49d4285955c8a00eae. This is not a strict revert as it is easier to fix board/atmark-techno/armadillo-800eva/armadillo-800eva.c to now the correct name (same value) than to revert that change too. Signed-off-by: Tom Rini <trini@konsulko.com>
* Drop CONFIG_CMD_DOCSimon Glass2017-01-25-12/+0
| | | | | | | This is not used in U-Boot, and the only usage calls a non-existent function. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* powerpc: Drop probecpu() in favour of arch_cpu_init()Simon Glass2017-01-25-13/+13
| | | | | | | To avoid an unnecessary arch-specific call in board_init_f(), rename this function. Signed-off-by: Simon Glass <sjg@chromium.org>
* arm: am57xx: cl-som-am57x: fix EthernetUri Mashiach2017-01-24-1/+1
| | | | | | | | | | | | | | | | | | | | The module is continuously rebooting with the following message: Net: data abort pc : [<fff77f42>] lr : [<fff6e32b>] reloc pc : [<80816f42>] lr : [<8080d32b>] sp : fdf5ce48 ip : fdf5d79c fp : 00000017 r10: 8083cd58 r9 : fdf5cef0 r8 : fdf5d5d0 r7 : 48485000 r6 : 400000ff r5 : fdf5d6e0 r4 : fdf5d618 r3 : fdf5d5b4 r2 : fdf5d5d0 r1 : 643a3631 r0 : fdf5d6e0 Flags: nzCv IRQs off FIQs off Mode SVC_32 Resetting CPU ... Modifications: * Enable Ethernet configuration in the SPL. * Update PINMUX of PHY enable GPIO. Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il> Reviewed-by: Tom Rini <trini@konsulko.com>
* Kconfig: Migrate BOARD_LATE_INIT to a selectTom Rini2017-01-24-0/+1
| | | | | | | | | This option should not really be user selectable. Note that on PowerPC we currently only need BOARD_LATE_INIT when CHAIN_OF_TRUST is enabled so be conditional on that. Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com> (for UniPhier)
* NXP: Introduce board/freescale/common/Kconfig and migrate CHAIN_OF_TRUSTTom Rini2017-01-24-0/+66
| | | | | | | | | Introduce board/freescale/common/Kconfig so that we have a single place for CONFIG options that are shared between ARM and PowerPC NXP platforms. Cc: York Sun <york.sun@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: York Sun <york.sun@nxp.com>
* imx31_phycore: Split the eet variant out into a different TARGETTom Rini2017-01-24-1/+1
| | | | | | | Rename CONFIG_IMX31_PHYCORE_EET to CONFIG_TARGET_IMX31_PHYCORE_EET and make this a distinct config target. Signed-off-by: Tom Rini <trini@konsulko.com>
* rpi: Fix device tree path on ARM64Tuomas Tynkkynen2017-01-24-21/+27
| | | | | | | | | The directory structure of device tree files produced by the kernel's 'make dtbs_install' is different on ARM64, the RPi3 device tree file is in a 'broadcom' subdirectory there. Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com> Acked-by: Stephen Warren <swarren@wwwdotorg.org>
* status_led: Kconfig migrationUri Mashiach2017-01-21-64/+91
| | | | | | | | | | | | | Move all of the status LED feature to drivers/led/Kconfig. The LED status definitions were moved from the board configuration files to the defconfig files. TBD: Move all of the definitions in the include/status_led.h to the relevant board's defconfig files. Tested boards: CL-SOM-AM57x, CM-T335 Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
* serial, ns16550: bugfix: ns16550 fifo not enabledHeiko Schocher2017-01-20-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit: 65f83802b7a5b "serial: 16550: Add getfcr accessor" breaks u-boot commandline working with long commands sending to the board. Since the above patch, you have to setup the fcr register. For board/archs which enable OF_PLATDATA, the new field fcr in struct ns16550_platdata is not filled with a default value ... This leads in not setting up the uarts fifo, which ends in problems, when you send long commands to u-boots commandline. Detected this issue with automated tbot tests on am335x based shc board. The error does not popup, if you type commands. You need to copy&paste a long command to u-boots commandshell (or send a long command with tbot) Possible boards/plattforms with problems: ./arch/arm/cpu/arm926ejs/lpc32xx/devices.c ./arch/arm/mach-tegra/board.c ./board/overo/overo.c ./board/quipos/cairo/cairo.c ./board/logicpd/omap3som/omap3logic.c ./board/logicpd/zoom1/zoom1.c ./board/timll/devkit8000/devkit8000.c ./board/lg/sniper/sniper.c ./board/ti/beagle/beagle.c ./drivers/serial/serial_rockchip.c Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Tested-by: Adam Ford <aford173@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* Merge git://git.denx.de/u-boot-fsl-qoriqTom Rini2017-01-19-0/+206
|\
| * armv8: ls1012a: define esdhc_status_fixup for RDB boardYangbo Lu2017-01-18-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On LS1012ARDB board, three dual 1:4 mux/demux devices drive the SDHC2 signals to eMMC, SDIO wifi, SPI and Ardiuno shield. Only when we select eMMC and SDIO wifi, the SDHC2 could be used. Otherwise, the command inhibit bits of eSDHC2_PRSSTAT register will never release. This would cause below continious error messages in linux since it uses polling mode to detect card. "mmc1: Controller never released inhibit bit(s)." "mmc1: Controller never released inhibit bit(s)." "mmc1: Controller never released inhibit bit(s)." This patch is to define esdhc_status_fixup function for RDB to disable SDHC2 status if no SDIO wifi or eMMC is selected. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
| * armv8: ls1012a: define esdhc_status_fixup for QDS boardYangbo Lu2017-01-18-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The LS1012AQDS board has a hardware issue. When there is no eMMC adapter card inserted in SDHC2 adapter slot, the command inhibit bits of eSDHC2_PRSSTAT register will never release. This would cause below continious error messages in linux since it uses polling mode to detect card. "mmc1: Controller never released inhibit bit(s)." "mmc1: Controller never released inhibit bit(s)." "mmc1: Controller never released inhibit bit(s)." This patch is to define esdhc_status_fixup function for QDS to disable SDHC2 status if no eMMC adapter card is detected. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
| * ls1046ardb: Add support power initializationHou Zhiqiang2017-01-18-0/+34
| | | | | | | | | | | | | | | | | | Add the chip power supply voltage initialization on LS1046ARDB. Add function power_init_board(), and it will initialize the PMIC and call the chip power initialization function. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
| * ls1046ardb: cpld: add API for selecting core voltHou Zhiqiang2017-01-18-0/+10
| | | | | | | | | | Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
| * pmic: pmic_mc34vr500: Add APIs to set/get SWx voltHou Zhiqiang2017-01-18-0/+96
| | | | | | | | | | | | Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: York Sun <york.sun@nxp.com>
* | Merge git://git.denx.de/u-boot-samsungTom Rini2017-01-18-124/+125
|\ \
| * | exynos5: Don't potentially undervoltage the CPUSjoerd Simons2017-01-18-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For snow when chainloading u-boot the CPU seems to be running at full speed. The lower CPU voltage seems to be ok for u-boot, but when booting linux (bringing up all cores) I'm seeing random crashes. Bump the voltage up to a level that's safe for all cpu frequencies. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | board: samsung: universal_c210: remove the codes relevant to soft_i2cJaehoon Chung2017-01-18-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the codes of soft_i2c. There is no usasge for universal_c210, also didn't define CONFIG_SOFT_I2C_GPIO_SCL. This code seems a dead code. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | board: samsung: universal_210: use the driver model for max8998Jaehoon Chung2017-01-18-75/+94
| | | | | | | | | | | | | | | | | | | | | | | | Revmoe the "ifndef CONFIG_DM_I2C". Intead, use the driver model for max8998. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | board: samsung: goni: fix the pmic's name for gettingJaehoon Chung2017-01-18-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Getting from uclass, use the "max8998-pmic" as name. It also needs to change the dt-node's name as "max8998-pmic". Otherwise, it doesn't find the pmic device. Because it's only searching for 'max8998_pmic'. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * | arm: samsung: goni: use the driver model for max8998Jaehoon Chung2017-01-05-31/+30
| | | | | | | | | | | | | | | | | | | | | | | | Remove the "ifndef CONFIG_DM_I2C". Instead, use the driver model for max8998. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | | Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini2017-01-15-98/+0
|\ \ \
| * | | spi: Zap ep93xx_spi driver and related codeJagan Teki2017-01-13-98/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dropped becuase - driver and related configs not used any board. - no dm conversion. Cc: Heiko Schocher <hs@denx.de> Cc: Sergey Kostanbaev <sergey.kostanbaev@gmail.com> Signed-off-by: Jagan Teki <jagan@openedev.com>
* | | | Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini2017-01-15-0/+5
|\ \ \ \
| * | | | sunxi: add orangepi zero defconfigIcenowy Zheng2017-01-15-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Orange Pi Zero is a board designed by Xunlong. It has an Allwinner H2+ SoC (similar to H3, which shares the same SoC ID), 256MB/512MB RAM, Allwinner XR819 SDIO Wi-Fi, a MicroUSB port which is used to power the board (also capable of OTG), a USB Type-A socket and a MicroSD slot. Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> Reviewed-by: Jagan Teki <jagan@openedev.com>
* | | | | igep00x0: Remove IGEP0020_NAND BOARD entry from MAINTAINERSLadislav Michl2017-01-14-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Boards with NAND and OneNAND are supported by single configuration, thus remove now obsolete IGEP0020_NAND BOARD entry. Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
* | | | | igep00x0: enable CONFIG_FDT_FIXUP_PARTITIONSLadislav Michl2017-01-14-0/+17
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | SPL partition size depends on sector size and we want kernel to use the same layout, so let U-Boot modify FDT accordingly. Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
* | | | arm: Remove unregister MACH_TYPE_xxx usesTom Rini2017-01-14-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before we can sync with the latest mach-types.h file from the Linux Kernel we need to remove some instances of MACH_TYPE_xxx from our sources. As these values have been removed from the canonical upstream source we should not be using them either, so drop. Cc: Tom Warren <twarren@nvidia.com> Cc: Lucas Stach <dev@lynxeye.de> Cc: Luka Perkov <luka@openwrt.org> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Heiko Schocher <hs@denx.de> Cc: Thomas Weber <weber@corscience.de> Cc: Lucile Quirion <lucile.quirion@savoirfairelinux.com> Cc: Matthias Weisser <weisserm@arcor.de> Cc: Suriyan Ramasami <suriyan.r@gmail.com> Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Cc: Bo Shen <voice.shen@atmel.com> Cc: Nick Thompson <nick.thompson@gefanuc.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Erik van Luijk <evanluijk@interact.nl> Cc: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* | | | omap3_logic: Rework MACH_TYPE and fdtfile logicTom Rini2017-01-14-34/+20
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MACH_TYPE values for the omap37xx based platforms are no longer officially valid, so we must not set and pass them. In order to not reference them but still be able to set the default fdtfile based on the board detection logic we need to combine the two steps into one. Cc: Adam Ford <aford173@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Adam Ford <aford173@gmail.com>
* | | rockchip: board: popmetal: de-assert the host rst pin in board initKever Yang2017-01-11-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PopMetal board have a on board FE1.1 usb 2.0 hub which connect to the usb host port, we need to de-assert its reset pin to enable it. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Acked-by: Simon Glass <sjg@chromium.org> Added rockchip: tag: Signed-off-by: Simon Glass <sjg@chromium.org>
* | | SPL: Adjust more debug prints for ulong entry_pointTom Rini2017-01-11-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | With entry_point now being an unsigned long we need to adapt the last two debug prints to use %lX not %X. Fixes: 11e1479b9e67 ("SPL: make struct spl_image 64-bit safe") Signed-off-by: Tom Rini <trini@konsulko.com>
* | | Merge tag 'xilinx-for-v2017.03' of git://www.denx.de/git/u-boot-microblazeTom Rini2017-01-11-0/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xilinx changes for v2017.03 - ATF handoff - DT syncups - gem: Use wait_for_bit(), add simple clk support - Simple clk driver for ZynqMP - Other small changes
| * | | ARM: zynq: Setup modeboot variable based on boot modeMichal Simek2017-01-10-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | modeboot variable is used for saving inforation which bootmode is used. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * | | microblaze: Make the board configuration name user definableSai Pavan Boddu2017-01-10-0/+5
| | |/ | |/| | | | | | | | | | | | | | | | Add a prompt for editing in menuconfig Signed-off-by: Sai Pavan Boddu <saipava@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | | ARM: sunxi: remove bare default for CONFIG_MMCMasahiro Yamada2017-01-11-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | The bare default entry is wrong. Just remove it since the (real) entry in drivers/mmc/Kconfig has "default ARM || PPC || SANDBOX". Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Marek Vasut <marex@denx.de>
* | | mmc: move more driver config options to KconfigMasahiro Yamada2017-01-11-25/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move (and rename) the following CONFIG options to Kconfig: CONFIG_DAVINCI_MMC (renamed to CONFIG_MMC_DAVINCI) CONFIG_OMAP_HSMMC (renamed to CONFIG_MMC_OMAP_HS) CONFIG_MXC_MMC (renamed to CONFIG_MMC_MXC) CONFIG_MXS_MMC (renamed to CONFIG_MMC_MXS) CONFIG_TEGRA_MMC (renamed to CONFIG_MMC_SDHCI_TEGRA) CONFIG_SUNXI_MMC (renamed to CONFIG_MMC_SUNXI) They are the same option names as used in Linux. This commit was created as follows: [1] Rename the options with the following command: find . -name .git -prune -o ! -path ./scripts/config_whitelist.txt \ -type f -print | xargs sed -i -e ' s/CONFIG_DAVINCI_MMC/CONFIG_MMC_DAVINCI/g s/CONFIG_OMAP_HSMMC/CONFIG_MMC_OMAP_HS/g s/CONFIG_MXC_MMC/CONFIG_MMC_MXC/g s/CONFIG_MXS_MMC/CONFIG_MMC_MXS/g s/CONFIG_TEGRA_MMC/CONFIG_MMC_SDHCI_TEGRA/g s/CONFIG_SUNXI_MMC/CONFIG_MMC_SUNXI/g ' [2] Commit the changes [3] Create entries in driver/mmc/Kconfig. (copied from Linux) [4] Move the options with the following command tools/moveconfig.py -y -r HEAD \ MMC_DAVINCI MMC_OMAP_HS MMC_MXC MMC_MXS MMC_SDHCI_TEGRA MMC_SUNXI [5] Sort and align drivers/mmc/Makefile for readability Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Marek Vasut <marex@denx.de>
* | | mmc: move CONFIG_DWMMC to Kconfig, renaming to CONFIG_MMC_DWMasahiro Yamada2017-01-11-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit was created as follows: [1] Rename the option with the following command: find . -name .git -prune -o ! -path ./scripts/config_whitelist.txt \ -type f -print | xargs sed -i -e 's/CONFIG_DWMMC/CONFIG_MMC_DW/g' [2] create the entry for MMC_DW in drivers/mmc/Kconfig (the prompt and help were copied from Linux) [3] run "tools/moveconfig.py -y MMC_DW" [4] add "depends on MMC_DW" to the MMC_DW_ROCKCHIP entry [5] Clean-up doc/README.socfpga by hand Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Marek Vasut <marex@denx.de>
* | | Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini2017-01-10-0/+27
|\ \ \ | |/ / |/| |
| * | sunxi: A64: enable SPLAndre Przywara2017-01-04-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the SPL is ready to be compiled in AArch64 and the DRAM init code is ready, enable SPL support for the A64 SoC and in the Pine64 defconfig. For now we keep the boot0 header in the U-Boot proper, as this allows to still use boot0 as an SPL replacement without hurting the SPL use case. We disable FEL support for now by making its compilation conditional and disabling it for ARM64, as the code isn't ready yet. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jagan@openedev.com>
| * | sunxi: provide default DRAM config for sun50i in KconfigAndre Przywara2017-01-04-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid enumerating the very same DRAM values in defconfig files for each and every Allwinner A64 board out there, let's put some sane default values in the Kconfig file. Boards with different needs can override them at any time. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
| * | sunxi: A64: do an RMR switch if started in AArch32 modeAndre Przywara2017-01-04-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Allwinner A64 SoC starts execution in AArch32 mode, and both the boot ROM and Allwinner's boot0 keep running in this mode. So U-Boot gets entered in 32-bit, although we want it to run in AArch64. By using a "magic" instruction, which happens to be an almost-NOP in AArch64 and a branch in AArch32, we differentiate between being entered in 64-bit or 32-bit mode. If in 64-bit mode, we proceed with the branch to reset, but in 32-bit mode we trigger an RMR write to bring the core into AArch64/EL3 and re-enter U-Boot at CONFIG_SYS_TEXT_BASE. This allows a 64-bit U-Boot to be both entered in 32 and 64-bit mode, so we can use the same start code for the SPL and the U-Boot proper. We use the existing custom header (boot0.h) functionality, but restrict the existing boot0 header reservation to the non-SPL build now. A SPL wouldn't need such header anyway. This allows to have both options defined and lets us use one for the SPL and the other for U-Boot proper. Also add arch/arm/mach-sunxi/rmr_switch.S, which contains the original ARM assembly code and instructions how to re-generate the encoded version. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
| * | sunxi: introduce extra config option for boot0 headerAndre Przywara2017-01-04-0/+9
| |/ | | | | | | | | | | | | | | | | | | | | | | The ENABLE_ARM_SOC_BOOT0_HOOK option is a generic option shared with other boards. To allow alternative code to be inserted, we create another, now function specific config symbol on top of it to simplify later additions. No functional change at this time. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagan Teki <jagan@openedev.com>
* | mx6ullevk: Add missing MAINTAINERS for mx6ull_14x14_evk_plugin_defconfigJagan Teki2017-01-08-0/+1
| | | | | | | | | | | | | | | | | | | | | | Add 'Peng Fan' as MAINTAINERS of configs/mx6ull_14x14_evk_plugin_defconfig which is missing in below commit "imx: mx6ull_14x14_evk: add plugin defconfig" (sha1: b90ebf49bb8f74afe68f696f59a0e24cc79f2031) Cc: Stefano Babic <sbabic@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jagan Teki <jagan@openedev.com>
* | ddr: fsl: Merge macro CONFIG_NUM_DDR_CONTROLLERS and CONFIG_SYS_NUM_DDR_CTRLSYork Sun2017-01-04-5/+5
| | | | | | | | | | | | | | | | These two macros are used for the same thing, the total number of DDR controllers for a given SoC. Use SYS_NUM_DDR_CTRLS in Kconfig and merge existing usage. Signed-off-by: York Sun <york.sun@nxp.com>
* | powerpc: T2081QDS: Remove macro T2081QDSYork Sun2017-01-04-10/+10
| | | | | | | | | | | | Use TARGET_T2081QDS from Kconfig instead. Signed-off-by: York Sun <york.sun@nxp.com>