summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2016-01-13arm: lpc32xx: switch serial console to driver modelVladimir Zapolskiy
On NXP LPC32xx platform for non-SPL builds the change adds standard (NS16550) and high-speed UARTs to driver model. Due to specific of DM NS16550 device description UART clock can not be got in runtime and by default it is set to 13MHz, if board PERIPH_CLK is different, this should be specified in board configuration file. For SPL builds HSUARTs are disabled and non-DM NS16550 driver is compiled, if needed. The change also updates default configs of devkit3250 and work_92105 boards to reflect updates in platform files. Signed-off-by: Vladimir Zapolskiy <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-01-13arm: move gd handling outside of C codeAlbert ARIBAUD
As of gcc 5.2.1 for Thumb-1, it is not possible any more to assign gd from C code, as gd is mapped to r9, and r9 may now be saved in the prolog sequence, and restored in the epilog sequence, of any C functions. Therefore arch_setup_gd(), which is supposed to set r9, may actually have no effect, causing U-Boot to use a bad address to access GD. Fix this by never calling arch_setup_gd() for ARM, and instead setting r9 in arch/arm/lib/crt0.S, to the value returned by board_init_f_alloc_reserve(). Signed-off-by: Albert ARIBAUD <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-01-13Fix board init code to respect the C runtime environmentAlbert ARIBAUD
board_init_f_mem() alters the C runtime environment's stack it is actually already using. This is not a valid behaviour within a C runtime environment. Split board_init_f_mem into C functions which do not alter their own stack and always behave properly with respect to their C runtime environment. Signed-off-by: Albert ARIBAUD <[email protected]> Acked-by: Thomas Chou <[email protected]>
2016-01-13Merge branch 'master' of git://www.denx.de/git/u-boot-microblazeTom Rini
2016-01-13arm: dts: am4372: add qspi register maps for memory mapMugunthan V N
Add qspi memory map address to device tree. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13arm: dts: dra72-evm: add spi-flash comaptible for flashMugunthan V N
In U-Boot most flashes uses "spi-flash" as compatible to bind the device to flash driver, so adding "spi-flash" compatible to m25p80 node. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13arm: dts: dra7-evm: add spi-flash comaptible for flashMugunthan V N
In U-Boot most flashes uses "spi-flash" as compatible to bind the device to flash driver, so adding "spi-flash" compatible to m25p80 node. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13arm: dts: am437x-gp-evm: add spi-flash comaptible for flashMugunthan V N
In U-Boot most flashes uses "spi-flash" as compatible to bind the device to flash driver, so adding "spi-flash" compatible to m25p80 node. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13arm: dts: dra7: add qspi register maps for memory map and control moduleMugunthan V N
Add qspi memory map and control module register maps to device tree. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13dts: dra7: add spi alias for qspiMugunthan V N
add spi alias for qspi so that spi probes the device and driver successfully. Signed-off-by: Mugunthan V N <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2016-01-13arm: mvebu: Select SPL_DM_SEQ_ALIASNathan Rossi
Select SPL_DM_SEQ_ALIAS which is required for certain uclasses, specifically SPI Flash. Signed-off-by: Nathan Rossi <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: Stefan Roese <[email protected]> Acked-by: Stefan Roese <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2016-01-13x86: qemu: remove cpu node in device treeMiao Yan
Remove 'cpu' node in device tree for QEMU targets, and let U-Boot detect and fix up those information at runtime. Signed-off-by: Miao Yan <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-01-13x86: qemu: fix cpu device in smp bootMiao Yan
Currently, when booting with more that one CPU enabled, U-Boot scans 'cpu' node in device tree and calculates CPU number. This does not scale well as changing CPU number also requires modifying .dts and re-compiling U-Boot. This patch uses fw_cfg interface provided by QEMU to detect online CPU number at runtime, and dynamically adds 'cpu' device to U-Boot's driver model. Signed-off-by: Miao Yan <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2016-01-13x86: use actual CPU number for allocating memoryMiao Yan
Use actual CPU number, instead of maximum cpu configured, to allocate stack memory in 'load_sipi_vector' Signed-off-by: Miao Yan <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2016-01-13x86: fix a typo in function nameMiao Yan
Rename 'find_cpu_by_apid_id' to 'find_cpu_by_apic_id'. This should be a typo. Signed-off-by: Miao Yan <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-01-13x86: qemu: add a cpu uclass driver for qemu targetMiao Yan
Add a cpu uclass driver for qemu. Previously, the qemu target gets cpu number from board dts files, which are manually created at compile time. This does not scale when more cpus are assigned to guest as the dts files must be modified as well. This patch adds a cpu uclass driver for qemu targets to directly read online cpu number from firmware. Signed-off-by: Miao Yan <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Bin Meng <[email protected]>
2016-01-13x86: qemu: add fw_cfg supportMiao Yan
The QEMU fw_cfg interface allows the guest to retrieve various data information from QEMU. For example, APCI/SMBios tables, number of online cpus, kernel data and command line, etc. This patch adds support for QEMU fw_cfg interface. Signed-off-by: Miao Yan <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2016-01-13x86: ivybridge: Add macros for LPC decode rangesBin Meng
Add several macros for LPC decode registers on PCH. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: fsp: Always use hex numbers in the hob command outputBin Meng
In the 'fsp hob' command output, decimal numbers and hexadecimal numbers are used mixedly. Now change to always use hex numbers to keep consistency. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2016-01-13x86: ivybridge: Do not require HAVE_INTEL_MEBin Meng
Do not set HAVE_INTEL_ME by default as for some cases Intel ME firmware even does not reside on the same SPI flash as U-Boot. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: ivybridge: Add microcode blobs for all the steppingsBin Meng
This adds microcode blobs created from Intel FSP package for the Chief River platform. They are for all the Ivy Bridge steppings: 306a2 (B0), 306a4 (C0), 306a5 (K0/M0), 306a8 (E0/L0), except the 306a9 which is already in the U-Boot tree. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: fsp: Set up init runtime buffer in update_fsp_configs()Bin Meng
fsp_init() runtime buffer parameter might be different across different platforms. Move this to update_fsp_configs(). Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: fsp: Move struct fspinit_rtbuf definition to chipset headerBin Meng
All FSP spec v1.0 complaint FSP binary uses struct fspinit_rtbuf as defined by the 1.0 spec, however there are FSPs that does not follow 1.0 spec (possible due to that FSP predates the 1.0 spec), and future FSP binary that is complaint to v1.1 spec defines an optional paltform-specific runtime data in the struct fspinit_rtbuf. Hence move the definition to chipset header. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: queensbay: Remove invalid comments in update_fsp_configs()Bin Meng
Those comments in update_fsp_configs() are not correct. Remove them. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: fsp: Introduce CONFIG_FSP_USE_UPD Kconfig optionBin Meng
Not every FSP supports UPD, thus we introduce a Kconfig option CONFIG_FSP_USE_UPD and use it to wrap these common UPD handling codes in fsp_support.c. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: fsp: Rename update_fsp_upd() and change its signatureBin Meng
To support platform-specific configurations (might not always be UPD on some platform), use a better name update_fsp_configs() and accepct struct fsp_config_data as its parameter so that platform codes can handle whatever configuration data for that FSP. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: fsp: Rename shared_data to fsp_config_dataBin Meng
FSP has several config data like UPD, HDA verb table which can be overridden or provided by bootloader. Currently in U-Boot only UPD is handled via struct shared_data. To accommodate any platform, we rename shared_data to fsp_config_data and move the definition from common place fsp_support.h to platform-specific place fsp_configs.h. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: fsp: Add boot_mode as a member of struct shared_dataBin Meng
Save boot_mode in struct shared_data for future refactoring. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: fsp: Avoid cast stack_top in struct shared_dataBin Meng
Declare stack_top as u32 in struct shared_data and struct common_buf so that we can avoid casting in fsp_init(). Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-13x86: fsp: Simplify fsp_continue()Bin Meng
There is no need to pass shared_data to fsp_continue() so we can remove unnecessary codes that simplifies the function a lot. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-12Merge git://git.denx.de/u-boot-dmTom Rini
2016-01-12sandbox: eth-raw-os.c: Ensure that our interface name is not too longTom Rini
Coverity notes that we do not ensure when we copy ifname we still have space left to ensure NULL termination. As cannot control the size of ifr_name we must make sure that our argument will not overflow the buffer. Reported-by: Coverity (CID 131094) Cc: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2016-01-12rockchip: Use the debug UART on rk3036Simon Glass
Rather than using a new debug UART implementation, use the standard one provided by U-Boot. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Thomas Chou <[email protected]>
2016-01-12dm: Convert PCI MMC over to use DM PCI APISimon Glass
At present pci_mmc_init() does not correctly use the PCI function since the list it passes is not terminated. The array size passed to pci_mmc_init() is actually not used correctly. Fix this and adjust the pci_mmc_init() to scan all available MMC devices. Adjust this code to use the new driver model PCI API. This should move over to the new MMC uclass at some point. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-01-12dm: tegra: net: Convert tegra boards to driver model for EthernetSimon Glass
Adjust all Tegra boards to use driver model for Ethernet, now that the required drivers are converted. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-01-12dm: x86: pci: Adjust bios_run_on_x86() to use the DM PCI APISimon Glass
This function should take a struct udevice rather than pci_dev_t. Update it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2016-01-12dm: pci: video: Convert video and pci_rom to use DM PCI APISimon Glass
Adjust these files to use the driver-model PCI API instead of the legacy functions. Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2016-01-12dm: Convert bios_interrupts to use DM PCI APISimon Glass
Adjust this code to use driver model for devices where possible. Since existing users have not been converted the old code must remain. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2016-01-12dm: x86: ivybridge: Convert graphics init to use DM PCI APISimon Glass
Use the driver-model PCI functions here where possible. For now we have to search for the device with pci_bus_find_bdf() but at some point we can put this in a proper driver and avoid this. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2016-01-13ARM: uniphier: add dump command for DDR Multi PHY registersMasahiro Yamada
The ProXstream2/PH1-LD6b is integrated with a new IP for DDR PHY which is not register-compatible with the former SoCs. Add a new command to support the register dump of this IP. Signed-off-by: Masahiro Yamada <[email protected]>
2016-01-13ARM: uniphier: add DRAM init code for ProXstream2/PH1-LD6bMasahiro Yamada
As mentioned in the log of commit 019df879a93e2 (ARM: uniphier: add ProXstream2 and PH1-LD6b support), the DRAM init code was missing for a long time. Finally, here it is. SPL works now. Signed-off-by: Masahiro Yamada <[email protected]>
2016-01-13ARM: uniphier: move headers out of include/mach directoryMasahiro Yamada
These headers are only included locally in arch/arm/mach-uniphier/. There is no reason to export them by putting in the mach/ directory. Signed-off-by: Masahiro Yamada <[email protected]>
2016-01-13ARM: uniphier: move cmd_pinmon.c to boot-mode subdirectoryMasahiro Yamada
This command shows the boot mode pins, so it would be more at home in the boot-mode subdirectory. Signed-off-by: Masahiro Yamada <[email protected]>
2016-01-13ARM: uniphier: move cmd_ddrphy.c to dram subdirectoryMasahiro Yamada
This command shows the register dump of the DDR PHY, so it would be more at home in the dram subdirectory. Signed-off-by: Masahiro Yamada <[email protected]>
2016-01-13ARM: uniphier: kill bogus header includesMasahiro Yamada
These includes are not necessary. Signed-off-by: Masahiro Yamada <[email protected]>
2016-01-08am33xx/am43xx: Add platform data for GPIOsTom Rini
On these platforms we have many cases of boards that enable device model and GPIO support but do not enable OF_CONTROL and pass in a device tree with the binary. We need to bring in the platform data here as well. Tested on Beaglebone Black. Reported-by: Robert Nelson <[email protected]> Reported-by: Francisco Aguerre <[email protected]> Reported-by: Jason Kridner <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2016-01-08powerpc: Various typo fixes under arch/powerpc/cpu/mpc83xxRobert P. J. Day
Signed-off-by: Robert P. J. Day <[email protected]>
2016-01-07test: add sandbox timer to test.dtsThomas Chou
Add missing sandbox timer to test.dts, so that test-dm works. Signed-off-by: Thomas Chou <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2016-01-07Merge git://git.denx.de/u-boot-mpc85xxTom Rini
2016-01-05powerpc, mpc5xxx: fix missing bootflag initHeiko Schocher
since: commit: f05ad9ba "Add a way to skip relocation" tqm5200s board fails to boot. Reason is that board_init_f has a function parameter bootflag, which is not setup in in arch/powerpc/cpu/mpc5xxx/start.S _start So board_init_f gets a undefined bootflag, currently the gd pointer address. Unfortunately this address sets the GD_FLG_SKIP_RELOC bit, so u-boot code gets not relocated and u-boot does not boot ... Init bootflag with 0, and tqm5200 boots fine again. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: York Sun <[email protected]>