summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2015-09-25ARM: uniphier: parse device tree to determine DRAM base and sizeMasahiro Yamada
Device tree specifies the available memory ranges in its "/memory" node. Use it to simplify the CONFIG defines. Signed-off-by: Masahiro Yamada <[email protected]>
2015-09-25ARM: uniphier: remove ifdef CONFIG_{SOC} conditionals from sg-regs.hMasahiro Yamada
To achieve the complete run-time configuration by device trees, ifdef conditionals in header files are not preferable. Signed-off-by: Masahiro Yamada <[email protected]>
2015-09-25ARM: uniphier: change the external bus address mappingMasahiro Yamada
In UniPhier SoCs before ProXstream2 and PH1-LD6b, two address spaces 0x00000000 - 0x0fffffff 0x40000000 - 0x4fffffff are both mapped to the external bus (also called system bus), so either was OK. In the newest two SoCs, the former (0x00000000 - 0x0fffffff) is assigned for the serial NOR interface. Going forward, use the latter for the external bus. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-09-25ARM: uniphier: drop DCC micro support card supportMasahiro Yamada
Historically (for compatibility with very old platforms), two different types of micro support cards have been used with the UniPhier SoC development boards. It has been painful to maintain both. Having one of them is enough. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-09-25ARM: uniphier: drop ad-hoc input enable settingsMasahiro Yamada
These input enable settings are handled by the pinctrl drivers. Because the external bus pins are input-enabled by default, on-board devices such as LED still work fine even with this delayed input enabling. Signed-off-by: Masahiro Yamada <[email protected]>
2015-09-25ARM: uniphier: drop ad-hoc early pin-muxing settingsMasahiro Yamada
As the UniPhier serial driver had already switched to Drive Model and the pinctrl drivers are now enabled, these pin-muxing settings are properly handled by the pinctrl drivers. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-09-25ARM: dts: uniphier: prepare device trees to use pinctrl in SPLMasahiro Yamada
Add "u-boot,dm-pre-reloc" for device nodes we want in SPL DTB (spl/u-boot-spl.dtb). The "soc" node (this is simple-bus node) also needs the property to bind the pinctrl node located under it. I am collecting this U-Boot specific hack to the bottom of board DTS rather than inserting "u-boot,dm-pre-reloc" into SoC DTSI. My goal is to sync DTSI with Linux for easier maintenance. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-09-24imx: fix coding stylePeng Fan
Fix coding style. Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2015-09-24imx-common: wrap boot_mode_apply with CONFIG_CMD_BMODEPeng Fan
boot_mode_apply should be applied only with CONFIG_CMD_BMODE enabled. Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2015-09-24imx: mx7: discard unused global variablePeng Fan
Discard unused global variable. Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2015-09-24imx-common: consider mux_ctrl_ofs when setting mux_modePeng Fan
Some i.MXes use __NA_ or 0 to avoid setting mux_mode, but the following patch only take i.MX6/7 into consideration. "c3c8a5748897b24f18618047804317167a531dd3 imx-common: fix iomux settings" Use is_soc_type(MXC_CPU_MX7) to avoid breaking other i.MXes when setting mux_mode. In this patch, switch to use "asm/imx-common/sys_proto.h" to avoid build break for "is_soc_type" for vf610 and mx25. Signed-off-by: Peng Fan <[email protected]> Cc: Bhuvanchandra DV <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Fabio Estevam <[email protected]> Acked-by: Stefano Babic <[email protected]> Reviewed-by: Benoît Thébaudeau <[email protected]>
2015-09-23arm: socfpga: rename socfpga_cyclone5 and socfpga_arria5 config filesDinh Nguyen
Rename the socfpga_cyclone5.h to socfpga_cyclone5_socdk.h, and socfpga_arria.h to socfpga_arria5_socdk.h. This matches the other SoCFPGA board config files. Suggested-by: Marek Vasut <[email protected]> Signed-off-by: Dinh Nguyen <[email protected]>
2015-09-20imx: mx7: drop select CPU_V7 for board targetPeng Fan
drop select CPU_V7 for board target, since ARCH_MX7 selects CPU_V7. Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2015-09-20imx-common: fix iomux settingsPeng Fan
When setting iomux for a pin mux, there is no need to check mux_ctrl_ofs. Also If still checking mux_ctrl_ofs, we have no chance to set iomux for i.MX7D IOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO1_IO00, because the mux_ctrl_ofs for this register is 0. Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Fabio Estevam <[email protected]> Tested-by: Fabio Estevam <[email protected]>
2015-09-17Merge git://git.denx.de/u-boot-x86Tom Rini
2015-09-16x86: quark: Configure MTRR to enable cacheBin Meng
Quark SoC does not support MSR MTRRs. Fixed and variable range MTRRs are accessed indirectly via the message port and not the traditional MSR mechanism. Only UC, WT and WB cache types are supported. We configure all the fixed range MTRRs with common values (VGA RAM as UC, others as WB) and 3 variable range MTRRs for ROM/eSRAM/RAM as WB, which significantly improves the boot time performance. With this commit, it takes only 2 seconds for U-Boot to boot to shell on Intel Galileo board. Previously it took about 6 seconds. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2015-09-16x86: galileo: Add PCIe root port IRQ routingBin Meng
Now we have enabled PCIe root port on Quark SoC, add its PIRQ routing information in the device tree as well. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-09-16x86: quark: Initialize thermal sensor properlyBin Meng
Thermal sensor on Quark SoC needs to be properly initialized per Quark firmware writer guide, otherwise when booting Linux kernel, it triggers system shutdown because of wrong temperature in the thermal sensor is detected by the kernel driver (see below): [ 5.119819] thermal_sys: Critical temperature reached(206 C),shutting down [ 5.128997] Failed to start orderly shutdown: forcing the issue [ 5.135495] Emergency Sync complete Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-09-16x86: quark: Lock HMBOUND register before jumping to kernelBin Meng
When Linux kernel boots, it hangs at: [ 0.829408] Intel Quark side-band driver registered This happens when Quark kernel Isolated Memory Region (IMR) driver tries to lock an IMR register to protect kernel's text and rodata sections. However in order to have IMR function correctly, HMBOUND register must be locked otherwise the system just hangs. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-09-16x86: quark: Convert to use clrbits, setbits, clrsetbits macrosBin Meng
Change existing codes to use clrbits, setbits, clrsetbits macros. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-09-16x86: quark: Add clrbits, setbits, clrsetbits macros for message port accessBin Meng
On Intel Quark, lots of registers on the message port need be programmed. Add handy clrbits, setbits, clrsetbits macros for message port access. Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2015-09-16x86: quark: Add PCIe/USB static register programming after memory initBin Meng
This adds static register programming for PCIe and USB after memory init as required by Quark firmware writer guide. Although not doing this did not cause any malfunction, just do it for safety. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-09-16x86: Convert to use driver model eth on quark/galileoBin Meng
Convert to use DM version of Designware ethernet driver on Intel quark/galileo. Signed-off-by: Bin Meng <[email protected]> Acked-by: Simon Glass <[email protected]>
2015-09-16ARM: tegra114: Clear IDDQ when enabling PLLCThierry Reding
Enabling a PLL while IDDQ is high. The Linux kernel checks for this condition and warns about it verbosely, so while this seems to work fine, fix it up according to the programming guidelines provided in the Tegra K1 TRM (v02p), Section 5.3.8.1 ("PLLC and PLLC4 Startup Sequence"). The Tegra114 TRM doesn't contain this information, but the programming of PLLC is the same on Tegra114 and Tegra124. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-09-16ARM: tegra124: Clear IDDQ when enabling PLLCThierry Reding
Enabling a PLL while IDDQ is high. The Linux kernel checks for this condition and warns about it verbosely, so while this seems to work fine, fix it up according to the programming guidelines provided in the Tegra K1 TRM (v02p), Section 5.3.8.1 ("PLLC and PLLC4 Startup Sequence"). Reported-by: Nicolas Chauvet <[email protected]> Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-09-16ARM: tegra: Add Tegra20 SPI device nodesMirza Krak
Add the device tree node for the SPI controllers found on Tegra20 SOCs. Signed-off-by: Mirza Krak <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-09-16ARM: tegra: clk_m is the architected timer source clockThierry Reding
While clk_m and the oscillator run at the same frequencies on Tegra114 and Tegra124, clk_m is the proper source for the architected timer. On more recent Tegra generations, Tegra210 and later, both the oscillator and clk_m can run at different frequencies. clk_m will be divided down from the oscillator. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-09-16ARM: tegra: Implement clk_mThierry Reding
On currently supported SoCs, clk_m always runs at the same frequency as the oscillator input. However newer SoC generations such as Tegra210 no longer have that restriction. Prepare for that by separating clk_m from the oscillator clock and allow SoC code to override the clk_m rate. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-09-16armv8: Make COUNTER_FREQUENCY optionalThierry Reding
Some platforms have the means to determine the counter frequency at runtime, so give them an opportunity to do so. Signed-off-by: Thierry Reding <[email protected]> Acked-by: Stephen Warren <[email protected]> Tested-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-09-16ARM: tegra: fix PLLP frequency calc on T210Stephen Warren
AFAIK, for all PLLs on all Tegra SoCs, the primary PLL output frequency is (input * m) / (n * p). However, PLLP's primary output (pllP_out0) on T210 is the VCO output, and divp is not applied. pllP_out2 does have divp applied. All other pllP_outN are divided down from pllP_out0. We only support pllP_out0 in U-Boot at the time of writing. Fix clock_get_rate() to handle this special case. This corrects the returned rate for PLLP to be 408MHz rather than 204MHz. In turn, this causes high enough dividers to be calculated for the various peripheral clocks that feed off of PLLP. Without this, some peripherals failed to operate correctly. For instance, one of my SD cards worked perfectly but an older (presumably slower) card could not be read. Note that prior to commit 722e000ccd72 "Tegra: PLL: use per-SoC pllinfo table instead of PLL_DIVM/N/P, etc.", the calculated PLL frequency was 816MHz since the wrong values were being extracted from the PLLP divider register. This caused overly large peripheral dividers to be calculated, which while wrong, didn't cause any correctness issues; things simply ran slower than they could. Reported-by: Thierry Reding <[email protected]> Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-09-16tegra: Remove tegra_spl_gpio_direction_output declaration from header fileAxel Lin
This function is deleted by commit 2fccd2d96bad "tegra: Convert tegra GPIO driver to use driver model". Signed-off-by: Axel Lin <[email protected]> Acked-by: Simon Glass <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-09-16ARM: tegra: Add p2371-2180 boardStephen Warren
P2371-2180 is a P2180 CPU board married to a P2597 I/O board. The combination contains SoC, DRAM, eMMC, SD card slot, HDMI, USB micro-B port, Ethernet via USB3, USB3 host port, SATA, PCIe, and two GPIO expansion headers. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2015-09-15arm: Remove unused reference to nomadikStefan Roese
Commit 0abdd9d0 "arm: Remove nhk8815 boards and nomadik arch" missed one reference to this arch. Lets remove this as well. Signed-off-by: Stefan Roese <[email protected]> Cc: Simon Glass <[email protected]> Cc: Tom Rini <[email protected]>
2015-09-15arm: Remove unused ST-Ericsson u8500 archStefan Roese
This arch does not seem to be supported / used at all in the current U-Boot mainline source tree any more. So lets remove the core u8500 code and code that was only referenced by this platform. Please note that this patch also removes these config options: - CONFIG_PL011_SERIAL_RLCR - CONFIG_PL011_SERIAL_FLUSH_ON_INIT As they only seem to be referenced by u8500 based boards. Without any such board in the current code, these config option don't make sense any more. Lets remove them as well. If someone still wants to use this platform, then please send patches to re-enable support by adding at least one board that references this code. Signed-off-by: Stefan Roese <[email protected]> Cc: Mathieu Poirier <[email protected]> Cc: John Rigby <[email protected]> Cc: Simon Glass <[email protected]> Cc: Masahiro Yamada <[email protected]> Cc: Tom Rini <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Albert Aribaud <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]>
2015-09-13Merge branch 'rmobile' of git://git.denx.de/u-boot-shTom Rini
2015-09-13imx-common: cpu: Do not print on invalid temperatureFabio Estevam
It is not very useful to have the message below on every boot (especially when we are using early silicon): U-Boot 2015.10-rc2-23945-g37cf215 (Sep 08 2015 - 14:12:14 -0300) CPU: Freescale i.MX6UL rev1.0 792 MHz (running at 396 MHz) CPU: Commercial temperature grade (0C to 95C)CPU: Thermal invalid data, fuse: 0x0 - invalid sensor device , so turn the error message into debug level. Signed-off-by: Fabio Estevam <[email protected]>
2015-09-13imx: mx6 discard 'select CPU_V7' for different targetsPeng Fan
Discard the 'select CPU_V7' from Kconfig in arch/arm/cpu/armv7/mx6 for different targets, because ARCH_MX6 selects CPU_V7. Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2015-09-13imx: mx6ul: support mx6ul 9x9 evk boardPeng Fan
This patch is to support mx6ul_9x9_evk board based on mx6ul_14x14_evk, the difference between mx6ul 9x9 evk and mx6ul 14x14 evk are: 1. mx6ul 9x9 evk use pfuze3000, while mx6ul 14x14 evk use DCDC. 2. mx6ul 9x9 evk supports 256MB LPDDR2, while mx6ul 14x14 evk supports 512MB DDR3 3. mx6ul_9x9_evk use 9x9 package, while mx6ul_14x14_evk use 14x14 package. This patch add the following: 1. Discard PHYS_SDRAM_SIZE from header file, use imx_ddr_size() 2. Introduce a macro is_mx6ul_9x9_evk using CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) to avoid "#ifdef xxx" in non-SPL part. To SPL part, CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) can not work, so still use "#ifdef CONFIG_TARGET_MX6UL_9X9_EVK" to differentiate with mx6ul_14x14_evk. And we have no way to dymaically checking this chip is 9x9 or 14x14. 3. mx6ul_9x9_evk use pfuze3000, so enabled POWER related configurations. POWER related configurations also effect for mx6ul_14x14_evk. But power_init_board implementation using 'if (is_mx6ul_9x9_evk())' to do initialization for mx6ul_9x9_evk, and do nothing for mx6ul_14x14_evk. 4. mx6ul_9x9_evk use lpddr2 with size 256MB, so add related SPL DRAM configurations. 5. Enable CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG and setting dtb file according to board_rev and board_name. 6. Add TARGET_MX6UL_9X9_EVK Kconfig entry Boot Log: U-Boot SPL 2015.10-rc2-00356-g536ce34 (Sep 06 2015 - 12:22:53) reading u-boot.img reading u-boot.img U-Boot 2015.10-rc2-00356-g536ce34 (Sep 06 2015 - 12:22:53 +0800) CPU: Freescale i.MX6UL rev1.0 792 MHz (running at 396 MHz) CPU: Commercial temperature grade (0C to 95C) at 41C Reset cause: POR Board: MX6UL 9x9 EVK I2C: ready DRAM: 256 MiB PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11 MMC: FSL_SDHC: 0, FSL_SDHC: 1 In: serial Out: serial Err: serial Net: FEC1 Hit any key to stop autoboot: 0 Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]>
2015-09-13Revert "imx: mx6: ddr correct tRFC and tXS"Peng Fan
This reverts commit 059323fb6a8f21637bb617919715c2427f24777c. This commit 059323fb6a8f21637bb617919715c2427f24777c use JESD79-3E which is not the newest spec. Should use JESD79-3F in which tRFC is 260ns for 4Gb chip. Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Tim Harvey <[email protected]>
2015-09-13imx: mx7dsabresd: Add support for MX7D SABRESD boardAdrian Alonso
* Add i.MX7D SABRESD target board support with enabled modules: UART, PMIC, USB/OTG, SD, eMMC, ENET, I2C, 74LV IOX. Build target: mx7dsabresd_config Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Fugang Duan <[email protected]> Signed-off-by: Ye.Li <[email protected]> Signed-off-by: Adrian Alonso <[email protected]>
2015-09-13imx: imx7d: add imx-common cpu support for imx7dAdrian Alonso
Add imx-common cpu support for imx7d SoC - Update reset_cause for imx7d - Enable watchdog driver built for imx7d Signed-off-by: Adrian Alonso <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2015-09-13arm: imx-common: init: rework wdog settings for imx6/imx7Adrian Alonso
Rework imx_set_wdog_powerdown to be reused by imx6 and imx7 Signed-off-by: Adrian Alonso <[email protected]>
2015-09-13arm: imx-common: init: extend init_aips to support imx7Adrian Alonso
Extend init_aips to support imx7 SoC, use is_soc_type and is_cpu_type to resolve at run time aips3 settings Signed-off-by: Adrian Alonso <[email protected]>
2015-09-13imx: imx7d: Add SoC system supportAdrian Alonso
Add imx7d basic SoC system support Misc arch dependent functions for system bring up Signed-off-by: Adrian Alonso <[email protected]> Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Ye.Li <[email protected]>
2015-09-13imx: imx7d: clock control module supportAdrian Alonso
* Add Clock control module (CCM) support * iMX7D SoC introduces 3 main clock sysmtem abstraction for clock root frequency generation denominated clock slices. Core clock slice: hihg speed clock for ARM core Bus clock slice: for bus clocks IP clock slice: Peripheral clocks * At system boot ROM enables PLL_ARM, PLL_DDR, PLL_SYS, PLL_ENET In u-boot, we have to: - Configure PFD3- PFD7 for freq we needed in u-boot - Set clock root for peripherals (ip channel) Signed-off-by: Adrian Alonso <[email protected]> Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Ye.Li <[email protected]>
2015-09-13imx: imx7d: initial arch level supportAdrian Alonso
* Add system arch level header files - imx-regs.h: iMX7D SoC system architecture registers - crm_regs.h: Clock control module registers - sys_proto.h: helper callback function for SoC setup Signed-off-by: Adrian Alonso <[email protected]> Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Ye.Li <[email protected]>
2015-09-13imx: system counter driver for imx7d and mx6ulAdrian Alonso
Add system counter driver for imx7d and mx6ul imx7 and imx6ul supports system counter timer as well as GPT timer (arch/arm/imx-common/timer.c); The default for imx7 is systemcounter timer. Signed-off-by: Ye.Li <[email protected]> Signed-off-by: Adrian Alonso <[email protected]>
2015-09-13arm: imx: imx-common: init: move arch init common setupAdrian Alonso
Move common imx6 arch init setup, init.c can be extended and reused to support imx7 SoC keeping init arch common code. Signed-off-by: Adrian Alonso <[email protected]>
2015-09-13arm: imx: common rework cache settings for imx6Adrian Alonso
Rework cache settings for imx6, move cache configuration to imx-common/cache.c so it can be reused for newer SoC Signed-off-by: Adrian Alonso <[email protected]>
2015-09-13thermal: imx_thermal: rework driver to be reusedAdrian Alonso
Rework imx_thermal driver to be used across i.MX processor that support thermal sensor Signed-off-by: Adrian Alonso <[email protected]> Signed-off-by: Peng Fan <[email protected]>