#
103c5f18 |
|
08-Aug-2021 |
Simon Glass <sjg@chromium.org> |
mmc: Rename MMC_SUPPORT to MMC Rename these options so that CONFIG_IS_ENABLED can be used with them. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> [trini: Fixup some incorrect renames] Signed-off-by: Tom Rini <trini@konsulko.com> |
#
2dbb6beb |
|
30-Jul-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: remove unused uniphier_pin_init() This function is unused since commit 862274913f8f ("bus: uniphier-system-bus: move hardware init from board files"). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
57859503 |
|
10-Jul-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: remove NAND reset code Now that commit 3e57f879eee6 ("mtd: nand: raw: denali: Assert reset before deassert") added the reset assertion, this code in the board file is unneeded. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d7877c98 |
|
09-Jul-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: remove sbc/ directory Now that this directory contains only uniphier_sbc_boot_is_swapped(), move it to boot-device.c and delete the sbc/ directory entirely. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
ce4e9ff4 |
|
14-Feb-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move NAND reset assertion to U-Boot proper from SPL The comment /* deassert reset */ is wrong. It asserts the reset. It no longer needs to stay in SPL. The NAND controller reset is handled in the driver. So, this assert can be moved to the board_init() of U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
34ded875 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: detect register base addresses run-time Until the last SoC, the register addresses have been hard-coded because they are always constant. For a planned new SoC, the register bases will be completely changed. I insist on supporting multiple SoCs/boards by a single defconfig (uniphier_v8_defconfig) since duplicating similar defconfig files is a maintenance burden. The base addresses must be fixed-up at run-time somehow. Previously, the board init code identified the SoC by reading out the SG_REVISION register. This is much easier than parsing DT. You cannot do it any more because the base address of SG will be changed. The SG_REVISION register exists to read out the SoC ID, but you never know its address before identifying the SoC. Oh well. So, the possible solution is to parse the DT, and find out the node with "*-soc-glue" compatible string. Then, sg_base is set to the value of the "reg" property. The sc_base is set up likewise. It is worth noting a pit-fall. Having sc_base and sg_base in the global scope will make the life easier, but the global variables are poorly supported before the relocation. In fact, the .bss section overwraps with DT. Allocating them in the .bss section would break DT. So, I gave dummy initializers to assign them in the .data section. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
f7f39057 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: check DT to determine whether to initialize SBC If CONFIG_MICRO_SUPPORT_CARD is enabled, U-Boot initialize SBC (System Bus Controller), which may not be really necessary. Check the "socionext,uniphier-system-bus" node in DT run-time. If and only if it is found and its "status" property is okay, initialize the SBC block. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
65fce763 |
|
19-Jul-2018 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: split ft_board_setup() out to a separate file Prepare to add more fdt fixup code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
acf15001 |
|
26-Apr-2018 |
Lokesh Vutla <lokeshvutla@ti.com> |
arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A Currently CPU_V7 kconfig symbol supports only ARMv7A architectures under armv7 folder. This led to a misconception of creating separate folders for armv7m and armv7r. There is no reason to create separate folder for other armv7 based architectures when it can co-exist with few Kconfig symbols. As a first step towards a common folder, rename CPU_V7 as CPUV7A. Later separate Kconfig symbols can be added for CPU_V7R and CPU_V7M and can co exist in the same folder. Reviewed-by: Tom Rini <trini@konsulko.com> Tested-by: Michal Simek <michal.simek@xilinx.com> Suggested-by: Alexander Graf <agraf@suse.de> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> |
#
83d290c5 |
|
06-May-2018 |
Tom Rini <trini@konsulko.com> |
SPDX: Convert all of our single license tags to Linux Kernel style When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com> |
#
fed9c766 |
|
20-Apr-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: enable PSCI sysreset for uniphier_v8_defconfig This configuration is supposed to be used with ARM Trusted Firmware, so the SYSTEM_RESET is implemented in BL31. Invoke PSCI instead of U-Boot's own reset code because we need to coordinate with SCP (System Control Processor) for the system-level power management. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
784548ef |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rework spl_boot_device() and related code The current implementation has ugly switch statements here and there, and duplicates similar code. Rework it using table lookups for SoC data and reduce code duplication. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
81c847bf |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move spl_boot_mode() to a separate file The spl_boot_mode() is unrelated to the other code in this file. Besides, this function is only called from common/spl/spl_mmc.c, so it is reasonable to guard with CONFIG_SPL_MMC_SUPPORT. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e5957e8d |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move MMC code to a separate file Currently, arch/arm/mach-uniphier/boot-mode/boot-mode.c is messed up with unrelated code; there is no reason why the "mmcsetn" command must be placed in this file. Split out the MMC code into arch/arm/mach-uniphier/mmc-first-dev.c. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9c572684 |
|
27-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile board data only for SPL Now U-Boot proper need not get the uniphier_boards array. Compile it only for SPL. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e27d6c7d |
|
21-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: simplify SoC ID get function Currently, uniphier_get_soc_type() converts the SoC ID (this is read from the revision register) to an enum symbol to use it for SoC identification. Come to think of it, there is no need for the conversion in the first place. Using the SoC ID from the register as-is a straightforward way. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
26b09c02 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move SBC and Support Card init code to U-Boot proper Initialize SBC and Support Card in U-Boot proper instead of SPL. We may run different firmware (ex. ARM Trusted Firmware) before U-Boot, and basic SoC initialization may be done there. In that case, SPL may not be used. The motivation for preparing SBC and Support Card in SPL was to use LED for early debugging, but this is not mandatory to boot SoCs. With this commit, LED will be unavailable in SPL, but we can use a debug serial instead. So, this change will not be a big deal. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
a8e6300d |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor spl_init_board() Merge init-*.c into a single file using a table of callbacks because the initialization flow is almost common among SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8d6c99c6 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor MEMCONF init code Currently, memconf-sld3.c and memconf-pxs2.c duplicate the code. There are 3 patterns in terms of MEMCONF init: - DRAM 2 channels: LD4, sLD8, Pro4, Pro5, LD11 - DRAM 3 channels: sLD3 - DRAM 3 channels (Ch2 is disable by MEMCONF[21]): Pxs2, LD20 All of them can be moved into a single file by a little more refactoring. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fcc238ba |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: collect clock/PLL init code into a single directory Now PLLs for DRAM controller are initialized in SPL, and the others in U-Boot proper. Setting up all of them in a single directory will be helpful when we want to share code between SPL and U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b78ffc53 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move XIRQ pin-mux settings of LD11/LD20 This is the last code in the mach-uniphier/pinctrl/ directory. Push the remaining code out to delete the directory entirely. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
68557ec3 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate System Bus pin-mux settings for LD11/LD20 Use the pin-mux data in the pinctrl drivers by directly calling pinctrl_generic_set_state(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
5ac9dfbe |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate NAND pin-mux settings The NAND subsystem has not supported the Driver Model yet, but the NAND pin-mux data are already in the pinctrl drivers. Use them by calling pinctrl_generic_set_state() directly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b2916712 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge board init functions into board_init() Currently, the UniPhier platform calls several init functions in the following order: [1] spl_board_init() [2] board_early_init_f() [3] board_init() [4] board_early_init_r() [5] board_late_init() The serial console is not ready at the point of [2], so we want to avoid using [2] from the view point of debuggability. Fortunately, all of the initialization in [2] can be delayed until [3]. I see no good reason to split into [3] and [4]. So, merge [2] through [4]. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
43a8cc90 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: use checkboard() instead of misc_init_f() We can use checkboard() stub to show additional board information, so misc_init_f() should not be used for this purpose. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9d0c2ceb |
|
20-Apr-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: add PH1-LD20 SoC support This is the first ARMv8 SoC from Socionext Inc. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d5cf3297 |
|
18-Mar-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: support Debug UART For ARM32 architecture, CONFIG_DEBUG_LL is available for early low-level debugging (and actually UniPhier 32bit SoCs use it), but ARM64 architecture does not support it. Instead, CONFIG_DEBUG_UART is available as an architecture-independent debug facility. This commit supports it on all the UniPhier SoCs (including the new ARMv8 SoCs), which is very useful for new SoC bringups. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fe5ea57b |
|
26-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: prepare directory structure for ARMv8 SoC support Before adding ARMv8 support, this commit refactors the directory structure. Move ARMv7 specific files to arch/arm/mach-uniphier/arm32 to avoid a mess by mixture of ARMv7 and ARMv8 code. Also move the "select CPU_V7" to the lower-level menu because we will have to select ARM64 instead of CPU_V7 for ARMv8 SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
126f9bad |
|
04-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: fix makefiles to build cmd_ddr(m)phy.c The U-Boot proper building needs to descend arch/arm/mach-uniphier/dram to build these commands. Fixes: 93d92d46cd01 ("ARM: uniphier: add dump command for DDR Multi PHY registers") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
4b50369f |
|
02-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: create early page table at run-time UniPhier SoCs are not equipped with dedicated on-chip SRAM. Instead, locked outer cache is used as RAM area during the early boot stage where DRAM is not ready yet. This effectively means MMU must be always enabled while we are in SPL. Currently, the SPL image for UniPhier SoCs contains the page table statically defined at compile time. It has been a burden because the 16KB page table occupies a quarter memory footprint of the 64KB SPL image. Finally, there is no more room to implement new features in SPL. Setting aside the NOR boot mode, this issue can be solved by creating the page table onto RAM at run time. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
042b28f4 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_pinmon.c to boot-mode subdirectory This command shows the boot mode pins, so it would be more at home in the boot-mode subdirectory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9ca66164 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_ddrphy.c to dram subdirectory 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 <yamada.masahiro@socionext.com> |
#
33886693 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge umc/ and ddrphy/ into a single directory The UMC (Universal Memory Controller) and the DDR PHY block are highly related to each other. It is better to have both code in the same directory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
69947007 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile uniphier_get_board_param() for U-Boot proper Compile this file for U-Boot proper as well as SPL, so that the U-Boot proper can call uniphier_get_board_param(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
323d1f9d |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: allow to enable multiple SoCs Before this commit, the Kconfig menu in mach-uniphier only allowed us to choose one SoC to be compiled. Each SoC has its own defconfig file for the build-test coverage. Consequently, some defconfig files are duplicated with only the difference in CONFIG_DEFAULT_DEVICE_TREE and CONFIG_{SOC_NAME}=y. Now, most of board-specific parameters have been moved to device trees, so it makes sense to include init code of multiple SoCs into a single image as long as the SoCs have similar architecture. In fact, some SoCs of UniPhier family are very similar: - PH1-LD4 and PH1-sLD8 - PH1-LD6b and ProXstream2 (will be added in the upcoming commit) This commit will be helpful to merge some defconfig files for better maintainability. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e6eecca5 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: unify low-level debug init code Move init code of low-level debug into a single file. This is helpful to create an image that runs on multiple SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8497ccc4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rename CONFIG_MACH_* to CONFIG_ARCH_UNIPHIER_* I want these prefixed with CONFIG_ARCH_UNIPHIER_ to clarify they belong to UniPhier SoC family. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d7728aa4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move CONFIG_SUPPORT_CARD_* macros to local file It is no longer necessary to define CONFIG_SUPPORT_CARD_* globally. Move them to a C file as local macros. Also, rename the C file. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9879842c |
|
11-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: drop DCC micro support card support 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 <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org> |
#
3365b4eb |
|
20-Jul-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add PH1-sLD3 SoC support The init code for UMC (Unified Memory Controller) and PLL has not been mainlined yet, but U-boot proper should work. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
62118b7b |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: optimize kicking secondary CPUs code Currently, the secondary CPU(s) are kicked three times: Boot ROM ---(kick)--> SPL ---(kick)--> U-boot ---(kick)--> Linux. It makes the boot sequence very complicated. This commit merges the first and the second kicks, so the secondary CPU(s) can directly jump from SPL to Linux. arch/arm/mach-uniphier/smp.S is no longer necessary. Linux boot test passed. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
def3feb8 |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add empty lowlevel_init to U-boot proper To remove the ifdef conditional of CONFIG_SKIP_LOWLEVEL_INIT, add late_lowlevel_init.S to U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
6cc21206 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: consolidate MEMCONF setting code This code is duplicated in ph1-ld4/sg_init.c and ph1-pro4/sg_init.c. Merge the same code into a new file, memconf.c. The helper functions no longer have to be placed in the header file. Also, move them into memconf.c. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
4c425570 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: move SoC sources to mach-uniphier Move arch/arm/cpu/armv7/uniphier/* -> arch/arm/mach-uniphier/* Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
2dbb6beb |
|
30-Jul-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: remove unused uniphier_pin_init() This function is unused since commit 862274913f8f ("bus: uniphier-system-bus: move hardware init from board files"). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
57859503 |
|
10-Jul-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: remove NAND reset code Now that commit 3e57f879eee6 ("mtd: nand: raw: denali: Assert reset before deassert") added the reset assertion, this code in the board file is unneeded. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d7877c98 |
|
09-Jul-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: remove sbc/ directory Now that this directory contains only uniphier_sbc_boot_is_swapped(), move it to boot-device.c and delete the sbc/ directory entirely. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
ce4e9ff4 |
|
14-Feb-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move NAND reset assertion to U-Boot proper from SPL The comment /* deassert reset */ is wrong. It asserts the reset. It no longer needs to stay in SPL. The NAND controller reset is handled in the driver. So, this assert can be moved to the board_init() of U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
34ded875 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: detect register base addresses run-time Until the last SoC, the register addresses have been hard-coded because they are always constant. For a planned new SoC, the register bases will be completely changed. I insist on supporting multiple SoCs/boards by a single defconfig (uniphier_v8_defconfig) since duplicating similar defconfig files is a maintenance burden. The base addresses must be fixed-up at run-time somehow. Previously, the board init code identified the SoC by reading out the SG_REVISION register. This is much easier than parsing DT. You cannot do it any more because the base address of SG will be changed. The SG_REVISION register exists to read out the SoC ID, but you never know its address before identifying the SoC. Oh well. So, the possible solution is to parse the DT, and find out the node with "*-soc-glue" compatible string. Then, sg_base is set to the value of the "reg" property. The sc_base is set up likewise. It is worth noting a pit-fall. Having sc_base and sg_base in the global scope will make the life easier, but the global variables are poorly supported before the relocation. In fact, the .bss section overwraps with DT. Allocating them in the .bss section would break DT. So, I gave dummy initializers to assign them in the .data section. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
f7f39057 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: check DT to determine whether to initialize SBC If CONFIG_MICRO_SUPPORT_CARD is enabled, U-Boot initialize SBC (System Bus Controller), which may not be really necessary. Check the "socionext,uniphier-system-bus" node in DT run-time. If and only if it is found and its "status" property is okay, initialize the SBC block. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
65fce763 |
|
19-Jul-2018 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: split ft_board_setup() out to a separate file Prepare to add more fdt fixup code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
acf15001 |
|
26-Apr-2018 |
Lokesh Vutla <lokeshvutla@ti.com> |
arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A Currently CPU_V7 kconfig symbol supports only ARMv7A architectures under armv7 folder. This led to a misconception of creating separate folders for armv7m and armv7r. There is no reason to create separate folder for other armv7 based architectures when it can co-exist with few Kconfig symbols. As a first step towards a common folder, rename CPU_V7 as CPUV7A. Later separate Kconfig symbols can be added for CPU_V7R and CPU_V7M and can co exist in the same folder. Reviewed-by: Tom Rini <trini@konsulko.com> Tested-by: Michal Simek <michal.simek@xilinx.com> Suggested-by: Alexander Graf <agraf@suse.de> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> |
#
83d290c5 |
|
06-May-2018 |
Tom Rini <trini@konsulko.com> |
SPDX: Convert all of our single license tags to Linux Kernel style When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com> |
#
fed9c766 |
|
20-Apr-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: enable PSCI sysreset for uniphier_v8_defconfig This configuration is supposed to be used with ARM Trusted Firmware, so the SYSTEM_RESET is implemented in BL31. Invoke PSCI instead of U-Boot's own reset code because we need to coordinate with SCP (System Control Processor) for the system-level power management. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
784548ef |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rework spl_boot_device() and related code The current implementation has ugly switch statements here and there, and duplicates similar code. Rework it using table lookups for SoC data and reduce code duplication. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
81c847bf |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move spl_boot_mode() to a separate file The spl_boot_mode() is unrelated to the other code in this file. Besides, this function is only called from common/spl/spl_mmc.c, so it is reasonable to guard with CONFIG_SPL_MMC_SUPPORT. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e5957e8d |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move MMC code to a separate file Currently, arch/arm/mach-uniphier/boot-mode/boot-mode.c is messed up with unrelated code; there is no reason why the "mmcsetn" command must be placed in this file. Split out the MMC code into arch/arm/mach-uniphier/mmc-first-dev.c. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9c572684 |
|
27-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile board data only for SPL Now U-Boot proper need not get the uniphier_boards array. Compile it only for SPL. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e27d6c7d |
|
21-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: simplify SoC ID get function Currently, uniphier_get_soc_type() converts the SoC ID (this is read from the revision register) to an enum symbol to use it for SoC identification. Come to think of it, there is no need for the conversion in the first place. Using the SoC ID from the register as-is a straightforward way. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
26b09c02 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move SBC and Support Card init code to U-Boot proper Initialize SBC and Support Card in U-Boot proper instead of SPL. We may run different firmware (ex. ARM Trusted Firmware) before U-Boot, and basic SoC initialization may be done there. In that case, SPL may not be used. The motivation for preparing SBC and Support Card in SPL was to use LED for early debugging, but this is not mandatory to boot SoCs. With this commit, LED will be unavailable in SPL, but we can use a debug serial instead. So, this change will not be a big deal. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
a8e6300d |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor spl_init_board() Merge init-*.c into a single file using a table of callbacks because the initialization flow is almost common among SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8d6c99c6 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor MEMCONF init code Currently, memconf-sld3.c and memconf-pxs2.c duplicate the code. There are 3 patterns in terms of MEMCONF init: - DRAM 2 channels: LD4, sLD8, Pro4, Pro5, LD11 - DRAM 3 channels: sLD3 - DRAM 3 channels (Ch2 is disable by MEMCONF[21]): Pxs2, LD20 All of them can be moved into a single file by a little more refactoring. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fcc238ba |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: collect clock/PLL init code into a single directory Now PLLs for DRAM controller are initialized in SPL, and the others in U-Boot proper. Setting up all of them in a single directory will be helpful when we want to share code between SPL and U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b78ffc53 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move XIRQ pin-mux settings of LD11/LD20 This is the last code in the mach-uniphier/pinctrl/ directory. Push the remaining code out to delete the directory entirely. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
68557ec3 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate System Bus pin-mux settings for LD11/LD20 Use the pin-mux data in the pinctrl drivers by directly calling pinctrl_generic_set_state(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
5ac9dfbe |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate NAND pin-mux settings The NAND subsystem has not supported the Driver Model yet, but the NAND pin-mux data are already in the pinctrl drivers. Use them by calling pinctrl_generic_set_state() directly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b2916712 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge board init functions into board_init() Currently, the UniPhier platform calls several init functions in the following order: [1] spl_board_init() [2] board_early_init_f() [3] board_init() [4] board_early_init_r() [5] board_late_init() The serial console is not ready at the point of [2], so we want to avoid using [2] from the view point of debuggability. Fortunately, all of the initialization in [2] can be delayed until [3]. I see no good reason to split into [3] and [4]. So, merge [2] through [4]. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
43a8cc90 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: use checkboard() instead of misc_init_f() We can use checkboard() stub to show additional board information, so misc_init_f() should not be used for this purpose. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9d0c2ceb |
|
20-Apr-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: add PH1-LD20 SoC support This is the first ARMv8 SoC from Socionext Inc. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d5cf3297 |
|
18-Mar-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: support Debug UART For ARM32 architecture, CONFIG_DEBUG_LL is available for early low-level debugging (and actually UniPhier 32bit SoCs use it), but ARM64 architecture does not support it. Instead, CONFIG_DEBUG_UART is available as an architecture-independent debug facility. This commit supports it on all the UniPhier SoCs (including the new ARMv8 SoCs), which is very useful for new SoC bringups. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fe5ea57b |
|
26-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: prepare directory structure for ARMv8 SoC support Before adding ARMv8 support, this commit refactors the directory structure. Move ARMv7 specific files to arch/arm/mach-uniphier/arm32 to avoid a mess by mixture of ARMv7 and ARMv8 code. Also move the "select CPU_V7" to the lower-level menu because we will have to select ARM64 instead of CPU_V7 for ARMv8 SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
126f9bad |
|
04-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: fix makefiles to build cmd_ddr(m)phy.c The U-Boot proper building needs to descend arch/arm/mach-uniphier/dram to build these commands. Fixes: 93d92d46cd01 ("ARM: uniphier: add dump command for DDR Multi PHY registers") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
4b50369f |
|
02-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: create early page table at run-time UniPhier SoCs are not equipped with dedicated on-chip SRAM. Instead, locked outer cache is used as RAM area during the early boot stage where DRAM is not ready yet. This effectively means MMU must be always enabled while we are in SPL. Currently, the SPL image for UniPhier SoCs contains the page table statically defined at compile time. It has been a burden because the 16KB page table occupies a quarter memory footprint of the 64KB SPL image. Finally, there is no more room to implement new features in SPL. Setting aside the NOR boot mode, this issue can be solved by creating the page table onto RAM at run time. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
042b28f4 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_pinmon.c to boot-mode subdirectory This command shows the boot mode pins, so it would be more at home in the boot-mode subdirectory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9ca66164 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_ddrphy.c to dram subdirectory 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 <yamada.masahiro@socionext.com> |
#
33886693 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge umc/ and ddrphy/ into a single directory The UMC (Universal Memory Controller) and the DDR PHY block are highly related to each other. It is better to have both code in the same directory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
69947007 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile uniphier_get_board_param() for U-Boot proper Compile this file for U-Boot proper as well as SPL, so that the U-Boot proper can call uniphier_get_board_param(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
323d1f9d |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: allow to enable multiple SoCs Before this commit, the Kconfig menu in mach-uniphier only allowed us to choose one SoC to be compiled. Each SoC has its own defconfig file for the build-test coverage. Consequently, some defconfig files are duplicated with only the difference in CONFIG_DEFAULT_DEVICE_TREE and CONFIG_{SOC_NAME}=y. Now, most of board-specific parameters have been moved to device trees, so it makes sense to include init code of multiple SoCs into a single image as long as the SoCs have similar architecture. In fact, some SoCs of UniPhier family are very similar: - PH1-LD4 and PH1-sLD8 - PH1-LD6b and ProXstream2 (will be added in the upcoming commit) This commit will be helpful to merge some defconfig files for better maintainability. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e6eecca5 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: unify low-level debug init code Move init code of low-level debug into a single file. This is helpful to create an image that runs on multiple SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8497ccc4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rename CONFIG_MACH_* to CONFIG_ARCH_UNIPHIER_* I want these prefixed with CONFIG_ARCH_UNIPHIER_ to clarify they belong to UniPhier SoC family. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d7728aa4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move CONFIG_SUPPORT_CARD_* macros to local file It is no longer necessary to define CONFIG_SUPPORT_CARD_* globally. Move them to a C file as local macros. Also, rename the C file. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9879842c |
|
11-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: drop DCC micro support card support 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 <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org> |
#
3365b4eb |
|
20-Jul-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add PH1-sLD3 SoC support The init code for UMC (Unified Memory Controller) and PLL has not been mainlined yet, but U-boot proper should work. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
62118b7b |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: optimize kicking secondary CPUs code Currently, the secondary CPU(s) are kicked three times: Boot ROM ---(kick)--> SPL ---(kick)--> U-boot ---(kick)--> Linux. It makes the boot sequence very complicated. This commit merges the first and the second kicks, so the secondary CPU(s) can directly jump from SPL to Linux. arch/arm/mach-uniphier/smp.S is no longer necessary. Linux boot test passed. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
def3feb8 |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add empty lowlevel_init to U-boot proper To remove the ifdef conditional of CONFIG_SKIP_LOWLEVEL_INIT, add late_lowlevel_init.S to U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
6cc21206 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: consolidate MEMCONF setting code This code is duplicated in ph1-ld4/sg_init.c and ph1-pro4/sg_init.c. Merge the same code into a new file, memconf.c. The helper functions no longer have to be placed in the header file. Also, move them into memconf.c. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
4c425570 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: move SoC sources to mach-uniphier Move arch/arm/cpu/armv7/uniphier/* -> arch/arm/mach-uniphier/* Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
57859503 |
|
10-Jul-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: remove NAND reset code Now that commit 3e57f879eee6 ("mtd: nand: raw: denali: Assert reset before deassert") added the reset assertion, this code in the board file is unneeded. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d7877c98 |
|
09-Jul-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: remove sbc/ directory Now that this directory contains only uniphier_sbc_boot_is_swapped(), move it to boot-device.c and delete the sbc/ directory entirely. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
ce4e9ff4 |
|
14-Feb-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move NAND reset assertion to U-Boot proper from SPL The comment /* deassert reset */ is wrong. It asserts the reset. It no longer needs to stay in SPL. The NAND controller reset is handled in the driver. So, this assert can be moved to the board_init() of U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
34ded875 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: detect register base addresses run-time Until the last SoC, the register addresses have been hard-coded because they are always constant. For a planned new SoC, the register bases will be completely changed. I insist on supporting multiple SoCs/boards by a single defconfig (uniphier_v8_defconfig) since duplicating similar defconfig files is a maintenance burden. The base addresses must be fixed-up at run-time somehow. Previously, the board init code identified the SoC by reading out the SG_REVISION register. This is much easier than parsing DT. You cannot do it any more because the base address of SG will be changed. The SG_REVISION register exists to read out the SoC ID, but you never know its address before identifying the SoC. Oh well. So, the possible solution is to parse the DT, and find out the node with "*-soc-glue" compatible string. Then, sg_base is set to the value of the "reg" property. The sc_base is set up likewise. It is worth noting a pit-fall. Having sc_base and sg_base in the global scope will make the life easier, but the global variables are poorly supported before the relocation. In fact, the .bss section overwraps with DT. Allocating them in the .bss section would break DT. So, I gave dummy initializers to assign them in the .data section. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
f7f39057 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: check DT to determine whether to initialize SBC If CONFIG_MICRO_SUPPORT_CARD is enabled, U-Boot initialize SBC (System Bus Controller), which may not be really necessary. Check the "socionext,uniphier-system-bus" node in DT run-time. If and only if it is found and its "status" property is okay, initialize the SBC block. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
65fce763 |
|
19-Jul-2018 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: split ft_board_setup() out to a separate file Prepare to add more fdt fixup code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
acf15001 |
|
26-Apr-2018 |
Lokesh Vutla <lokeshvutla@ti.com> |
arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A Currently CPU_V7 kconfig symbol supports only ARMv7A architectures under armv7 folder. This led to a misconception of creating separate folders for armv7m and armv7r. There is no reason to create separate folder for other armv7 based architectures when it can co-exist with few Kconfig symbols. As a first step towards a common folder, rename CPU_V7 as CPUV7A. Later separate Kconfig symbols can be added for CPU_V7R and CPU_V7M and can co exist in the same folder. Reviewed-by: Tom Rini <trini@konsulko.com> Tested-by: Michal Simek <michal.simek@xilinx.com> Suggested-by: Alexander Graf <agraf@suse.de> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> |
#
83d290c5 |
|
06-May-2018 |
Tom Rini <trini@konsulko.com> |
SPDX: Convert all of our single license tags to Linux Kernel style When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com> |
#
fed9c766 |
|
20-Apr-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: enable PSCI sysreset for uniphier_v8_defconfig This configuration is supposed to be used with ARM Trusted Firmware, so the SYSTEM_RESET is implemented in BL31. Invoke PSCI instead of U-Boot's own reset code because we need to coordinate with SCP (System Control Processor) for the system-level power management. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
784548ef |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rework spl_boot_device() and related code The current implementation has ugly switch statements here and there, and duplicates similar code. Rework it using table lookups for SoC data and reduce code duplication. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
81c847bf |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move spl_boot_mode() to a separate file The spl_boot_mode() is unrelated to the other code in this file. Besides, this function is only called from common/spl/spl_mmc.c, so it is reasonable to guard with CONFIG_SPL_MMC_SUPPORT. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e5957e8d |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move MMC code to a separate file Currently, arch/arm/mach-uniphier/boot-mode/boot-mode.c is messed up with unrelated code; there is no reason why the "mmcsetn" command must be placed in this file. Split out the MMC code into arch/arm/mach-uniphier/mmc-first-dev.c. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9c572684 |
|
27-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile board data only for SPL Now U-Boot proper need not get the uniphier_boards array. Compile it only for SPL. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e27d6c7d |
|
21-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: simplify SoC ID get function Currently, uniphier_get_soc_type() converts the SoC ID (this is read from the revision register) to an enum symbol to use it for SoC identification. Come to think of it, there is no need for the conversion in the first place. Using the SoC ID from the register as-is a straightforward way. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
26b09c02 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move SBC and Support Card init code to U-Boot proper Initialize SBC and Support Card in U-Boot proper instead of SPL. We may run different firmware (ex. ARM Trusted Firmware) before U-Boot, and basic SoC initialization may be done there. In that case, SPL may not be used. The motivation for preparing SBC and Support Card in SPL was to use LED for early debugging, but this is not mandatory to boot SoCs. With this commit, LED will be unavailable in SPL, but we can use a debug serial instead. So, this change will not be a big deal. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
a8e6300d |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor spl_init_board() Merge init-*.c into a single file using a table of callbacks because the initialization flow is almost common among SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8d6c99c6 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor MEMCONF init code Currently, memconf-sld3.c and memconf-pxs2.c duplicate the code. There are 3 patterns in terms of MEMCONF init: - DRAM 2 channels: LD4, sLD8, Pro4, Pro5, LD11 - DRAM 3 channels: sLD3 - DRAM 3 channels (Ch2 is disable by MEMCONF[21]): Pxs2, LD20 All of them can be moved into a single file by a little more refactoring. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fcc238ba |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: collect clock/PLL init code into a single directory Now PLLs for DRAM controller are initialized in SPL, and the others in U-Boot proper. Setting up all of them in a single directory will be helpful when we want to share code between SPL and U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b78ffc53 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move XIRQ pin-mux settings of LD11/LD20 This is the last code in the mach-uniphier/pinctrl/ directory. Push the remaining code out to delete the directory entirely. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
68557ec3 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate System Bus pin-mux settings for LD11/LD20 Use the pin-mux data in the pinctrl drivers by directly calling pinctrl_generic_set_state(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
5ac9dfbe |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate NAND pin-mux settings The NAND subsystem has not supported the Driver Model yet, but the NAND pin-mux data are already in the pinctrl drivers. Use them by calling pinctrl_generic_set_state() directly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b2916712 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge board init functions into board_init() Currently, the UniPhier platform calls several init functions in the following order: [1] spl_board_init() [2] board_early_init_f() [3] board_init() [4] board_early_init_r() [5] board_late_init() The serial console is not ready at the point of [2], so we want to avoid using [2] from the view point of debuggability. Fortunately, all of the initialization in [2] can be delayed until [3]. I see no good reason to split into [3] and [4]. So, merge [2] through [4]. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
43a8cc90 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: use checkboard() instead of misc_init_f() We can use checkboard() stub to show additional board information, so misc_init_f() should not be used for this purpose. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9d0c2ceb |
|
20-Apr-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: add PH1-LD20 SoC support This is the first ARMv8 SoC from Socionext Inc. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d5cf3297 |
|
18-Mar-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: support Debug UART For ARM32 architecture, CONFIG_DEBUG_LL is available for early low-level debugging (and actually UniPhier 32bit SoCs use it), but ARM64 architecture does not support it. Instead, CONFIG_DEBUG_UART is available as an architecture-independent debug facility. This commit supports it on all the UniPhier SoCs (including the new ARMv8 SoCs), which is very useful for new SoC bringups. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fe5ea57b |
|
26-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: prepare directory structure for ARMv8 SoC support Before adding ARMv8 support, this commit refactors the directory structure. Move ARMv7 specific files to arch/arm/mach-uniphier/arm32 to avoid a mess by mixture of ARMv7 and ARMv8 code. Also move the "select CPU_V7" to the lower-level menu because we will have to select ARM64 instead of CPU_V7 for ARMv8 SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
126f9bad |
|
04-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: fix makefiles to build cmd_ddr(m)phy.c The U-Boot proper building needs to descend arch/arm/mach-uniphier/dram to build these commands. Fixes: 93d92d46cd01 ("ARM: uniphier: add dump command for DDR Multi PHY registers") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
4b50369f |
|
02-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: create early page table at run-time UniPhier SoCs are not equipped with dedicated on-chip SRAM. Instead, locked outer cache is used as RAM area during the early boot stage where DRAM is not ready yet. This effectively means MMU must be always enabled while we are in SPL. Currently, the SPL image for UniPhier SoCs contains the page table statically defined at compile time. It has been a burden because the 16KB page table occupies a quarter memory footprint of the 64KB SPL image. Finally, there is no more room to implement new features in SPL. Setting aside the NOR boot mode, this issue can be solved by creating the page table onto RAM at run time. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
042b28f4 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_pinmon.c to boot-mode subdirectory This command shows the boot mode pins, so it would be more at home in the boot-mode subdirectory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9ca66164 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_ddrphy.c to dram subdirectory 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 <yamada.masahiro@socionext.com> |
#
33886693 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge umc/ and ddrphy/ into a single directory The UMC (Universal Memory Controller) and the DDR PHY block are highly related to each other. It is better to have both code in the same directory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
69947007 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile uniphier_get_board_param() for U-Boot proper Compile this file for U-Boot proper as well as SPL, so that the U-Boot proper can call uniphier_get_board_param(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
323d1f9d |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: allow to enable multiple SoCs Before this commit, the Kconfig menu in mach-uniphier only allowed us to choose one SoC to be compiled. Each SoC has its own defconfig file for the build-test coverage. Consequently, some defconfig files are duplicated with only the difference in CONFIG_DEFAULT_DEVICE_TREE and CONFIG_{SOC_NAME}=y. Now, most of board-specific parameters have been moved to device trees, so it makes sense to include init code of multiple SoCs into a single image as long as the SoCs have similar architecture. In fact, some SoCs of UniPhier family are very similar: - PH1-LD4 and PH1-sLD8 - PH1-LD6b and ProXstream2 (will be added in the upcoming commit) This commit will be helpful to merge some defconfig files for better maintainability. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e6eecca5 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: unify low-level debug init code Move init code of low-level debug into a single file. This is helpful to create an image that runs on multiple SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8497ccc4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rename CONFIG_MACH_* to CONFIG_ARCH_UNIPHIER_* I want these prefixed with CONFIG_ARCH_UNIPHIER_ to clarify they belong to UniPhier SoC family. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d7728aa4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move CONFIG_SUPPORT_CARD_* macros to local file It is no longer necessary to define CONFIG_SUPPORT_CARD_* globally. Move them to a C file as local macros. Also, rename the C file. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9879842c |
|
11-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: drop DCC micro support card support 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 <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org> |
#
3365b4eb |
|
20-Jul-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add PH1-sLD3 SoC support The init code for UMC (Unified Memory Controller) and PLL has not been mainlined yet, but U-boot proper should work. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
62118b7b |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: optimize kicking secondary CPUs code Currently, the secondary CPU(s) are kicked three times: Boot ROM ---(kick)--> SPL ---(kick)--> U-boot ---(kick)--> Linux. It makes the boot sequence very complicated. This commit merges the first and the second kicks, so the secondary CPU(s) can directly jump from SPL to Linux. arch/arm/mach-uniphier/smp.S is no longer necessary. Linux boot test passed. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
def3feb8 |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add empty lowlevel_init to U-boot proper To remove the ifdef conditional of CONFIG_SKIP_LOWLEVEL_INIT, add late_lowlevel_init.S to U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
6cc21206 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: consolidate MEMCONF setting code This code is duplicated in ph1-ld4/sg_init.c and ph1-pro4/sg_init.c. Merge the same code into a new file, memconf.c. The helper functions no longer have to be placed in the header file. Also, move them into memconf.c. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
4c425570 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: move SoC sources to mach-uniphier Move arch/arm/cpu/armv7/uniphier/* -> arch/arm/mach-uniphier/* Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
ce4e9ff4 |
|
14-Feb-2020 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move NAND reset assertion to U-Boot proper from SPL The comment /* deassert reset */ is wrong. It asserts the reset. It no longer needs to stay in SPL. The NAND controller reset is handled in the driver. So, this assert can be moved to the board_init() of U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
34ded875 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: detect register base addresses run-time Until the last SoC, the register addresses have been hard-coded because they are always constant. For a planned new SoC, the register bases will be completely changed. I insist on supporting multiple SoCs/boards by a single defconfig (uniphier_v8_defconfig) since duplicating similar defconfig files is a maintenance burden. The base addresses must be fixed-up at run-time somehow. Previously, the board init code identified the SoC by reading out the SG_REVISION register. This is much easier than parsing DT. You cannot do it any more because the base address of SG will be changed. The SG_REVISION register exists to read out the SoC ID, but you never know its address before identifying the SoC. Oh well. So, the possible solution is to parse the DT, and find out the node with "*-soc-glue" compatible string. Then, sg_base is set to the value of the "reg" property. The sc_base is set up likewise. It is worth noting a pit-fall. Having sc_base and sg_base in the global scope will make the life easier, but the global variables are poorly supported before the relocation. In fact, the .bss section overwraps with DT. Allocating them in the .bss section would break DT. So, I gave dummy initializers to assign them in the .data section. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
f7f39057 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: check DT to determine whether to initialize SBC If CONFIG_MICRO_SUPPORT_CARD is enabled, U-Boot initialize SBC (System Bus Controller), which may not be really necessary. Check the "socionext,uniphier-system-bus" node in DT run-time. If and only if it is found and its "status" property is okay, initialize the SBC block. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
65fce763 |
|
19-Jul-2018 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: split ft_board_setup() out to a separate file Prepare to add more fdt fixup code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
acf15001 |
|
26-Apr-2018 |
Lokesh Vutla <lokeshvutla@ti.com> |
arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A Currently CPU_V7 kconfig symbol supports only ARMv7A architectures under armv7 folder. This led to a misconception of creating separate folders for armv7m and armv7r. There is no reason to create separate folder for other armv7 based architectures when it can co-exist with few Kconfig symbols. As a first step towards a common folder, rename CPU_V7 as CPUV7A. Later separate Kconfig symbols can be added for CPU_V7R and CPU_V7M and can co exist in the same folder. Reviewed-by: Tom Rini <trini@konsulko.com> Tested-by: Michal Simek <michal.simek@xilinx.com> Suggested-by: Alexander Graf <agraf@suse.de> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> |
#
83d290c5 |
|
06-May-2018 |
Tom Rini <trini@konsulko.com> |
SPDX: Convert all of our single license tags to Linux Kernel style When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com> |
#
fed9c766 |
|
20-Apr-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: enable PSCI sysreset for uniphier_v8_defconfig This configuration is supposed to be used with ARM Trusted Firmware, so the SYSTEM_RESET is implemented in BL31. Invoke PSCI instead of U-Boot's own reset code because we need to coordinate with SCP (System Control Processor) for the system-level power management. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
784548ef |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rework spl_boot_device() and related code The current implementation has ugly switch statements here and there, and duplicates similar code. Rework it using table lookups for SoC data and reduce code duplication. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
81c847bf |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move spl_boot_mode() to a separate file The spl_boot_mode() is unrelated to the other code in this file. Besides, this function is only called from common/spl/spl_mmc.c, so it is reasonable to guard with CONFIG_SPL_MMC_SUPPORT. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e5957e8d |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move MMC code to a separate file Currently, arch/arm/mach-uniphier/boot-mode/boot-mode.c is messed up with unrelated code; there is no reason why the "mmcsetn" command must be placed in this file. Split out the MMC code into arch/arm/mach-uniphier/mmc-first-dev.c. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9c572684 |
|
27-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile board data only for SPL Now U-Boot proper need not get the uniphier_boards array. Compile it only for SPL. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e27d6c7d |
|
21-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: simplify SoC ID get function Currently, uniphier_get_soc_type() converts the SoC ID (this is read from the revision register) to an enum symbol to use it for SoC identification. Come to think of it, there is no need for the conversion in the first place. Using the SoC ID from the register as-is a straightforward way. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
26b09c02 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move SBC and Support Card init code to U-Boot proper Initialize SBC and Support Card in U-Boot proper instead of SPL. We may run different firmware (ex. ARM Trusted Firmware) before U-Boot, and basic SoC initialization may be done there. In that case, SPL may not be used. The motivation for preparing SBC and Support Card in SPL was to use LED for early debugging, but this is not mandatory to boot SoCs. With this commit, LED will be unavailable in SPL, but we can use a debug serial instead. So, this change will not be a big deal. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
a8e6300d |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor spl_init_board() Merge init-*.c into a single file using a table of callbacks because the initialization flow is almost common among SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8d6c99c6 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor MEMCONF init code Currently, memconf-sld3.c and memconf-pxs2.c duplicate the code. There are 3 patterns in terms of MEMCONF init: - DRAM 2 channels: LD4, sLD8, Pro4, Pro5, LD11 - DRAM 3 channels: sLD3 - DRAM 3 channels (Ch2 is disable by MEMCONF[21]): Pxs2, LD20 All of them can be moved into a single file by a little more refactoring. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fcc238ba |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: collect clock/PLL init code into a single directory Now PLLs for DRAM controller are initialized in SPL, and the others in U-Boot proper. Setting up all of them in a single directory will be helpful when we want to share code between SPL and U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b78ffc53 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move XIRQ pin-mux settings of LD11/LD20 This is the last code in the mach-uniphier/pinctrl/ directory. Push the remaining code out to delete the directory entirely. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
68557ec3 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate System Bus pin-mux settings for LD11/LD20 Use the pin-mux data in the pinctrl drivers by directly calling pinctrl_generic_set_state(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
5ac9dfbe |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate NAND pin-mux settings The NAND subsystem has not supported the Driver Model yet, but the NAND pin-mux data are already in the pinctrl drivers. Use them by calling pinctrl_generic_set_state() directly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b2916712 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge board init functions into board_init() Currently, the UniPhier platform calls several init functions in the following order: [1] spl_board_init() [2] board_early_init_f() [3] board_init() [4] board_early_init_r() [5] board_late_init() The serial console is not ready at the point of [2], so we want to avoid using [2] from the view point of debuggability. Fortunately, all of the initialization in [2] can be delayed until [3]. I see no good reason to split into [3] and [4]. So, merge [2] through [4]. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
43a8cc90 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: use checkboard() instead of misc_init_f() We can use checkboard() stub to show additional board information, so misc_init_f() should not be used for this purpose. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9d0c2ceb |
|
20-Apr-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: add PH1-LD20 SoC support This is the first ARMv8 SoC from Socionext Inc. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d5cf3297 |
|
18-Mar-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: support Debug UART For ARM32 architecture, CONFIG_DEBUG_LL is available for early low-level debugging (and actually UniPhier 32bit SoCs use it), but ARM64 architecture does not support it. Instead, CONFIG_DEBUG_UART is available as an architecture-independent debug facility. This commit supports it on all the UniPhier SoCs (including the new ARMv8 SoCs), which is very useful for new SoC bringups. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fe5ea57b |
|
26-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: prepare directory structure for ARMv8 SoC support Before adding ARMv8 support, this commit refactors the directory structure. Move ARMv7 specific files to arch/arm/mach-uniphier/arm32 to avoid a mess by mixture of ARMv7 and ARMv8 code. Also move the "select CPU_V7" to the lower-level menu because we will have to select ARM64 instead of CPU_V7 for ARMv8 SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
126f9bad |
|
04-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: fix makefiles to build cmd_ddr(m)phy.c The U-Boot proper building needs to descend arch/arm/mach-uniphier/dram to build these commands. Fixes: 93d92d46cd01 ("ARM: uniphier: add dump command for DDR Multi PHY registers") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
4b50369f |
|
02-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: create early page table at run-time UniPhier SoCs are not equipped with dedicated on-chip SRAM. Instead, locked outer cache is used as RAM area during the early boot stage where DRAM is not ready yet. This effectively means MMU must be always enabled while we are in SPL. Currently, the SPL image for UniPhier SoCs contains the page table statically defined at compile time. It has been a burden because the 16KB page table occupies a quarter memory footprint of the 64KB SPL image. Finally, there is no more room to implement new features in SPL. Setting aside the NOR boot mode, this issue can be solved by creating the page table onto RAM at run time. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
042b28f4 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_pinmon.c to boot-mode subdirectory This command shows the boot mode pins, so it would be more at home in the boot-mode subdirectory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9ca66164 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_ddrphy.c to dram subdirectory 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 <yamada.masahiro@socionext.com> |
#
33886693 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge umc/ and ddrphy/ into a single directory The UMC (Universal Memory Controller) and the DDR PHY block are highly related to each other. It is better to have both code in the same directory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
69947007 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile uniphier_get_board_param() for U-Boot proper Compile this file for U-Boot proper as well as SPL, so that the U-Boot proper can call uniphier_get_board_param(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
323d1f9d |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: allow to enable multiple SoCs Before this commit, the Kconfig menu in mach-uniphier only allowed us to choose one SoC to be compiled. Each SoC has its own defconfig file for the build-test coverage. Consequently, some defconfig files are duplicated with only the difference in CONFIG_DEFAULT_DEVICE_TREE and CONFIG_{SOC_NAME}=y. Now, most of board-specific parameters have been moved to device trees, so it makes sense to include init code of multiple SoCs into a single image as long as the SoCs have similar architecture. In fact, some SoCs of UniPhier family are very similar: - PH1-LD4 and PH1-sLD8 - PH1-LD6b and ProXstream2 (will be added in the upcoming commit) This commit will be helpful to merge some defconfig files for better maintainability. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e6eecca5 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: unify low-level debug init code Move init code of low-level debug into a single file. This is helpful to create an image that runs on multiple SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8497ccc4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rename CONFIG_MACH_* to CONFIG_ARCH_UNIPHIER_* I want these prefixed with CONFIG_ARCH_UNIPHIER_ to clarify they belong to UniPhier SoC family. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d7728aa4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move CONFIG_SUPPORT_CARD_* macros to local file It is no longer necessary to define CONFIG_SUPPORT_CARD_* globally. Move them to a C file as local macros. Also, rename the C file. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9879842c |
|
11-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: drop DCC micro support card support 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 <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org> |
#
3365b4eb |
|
20-Jul-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add PH1-sLD3 SoC support The init code for UMC (Unified Memory Controller) and PLL has not been mainlined yet, but U-boot proper should work. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
62118b7b |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: optimize kicking secondary CPUs code Currently, the secondary CPU(s) are kicked three times: Boot ROM ---(kick)--> SPL ---(kick)--> U-boot ---(kick)--> Linux. It makes the boot sequence very complicated. This commit merges the first and the second kicks, so the secondary CPU(s) can directly jump from SPL to Linux. arch/arm/mach-uniphier/smp.S is no longer necessary. Linux boot test passed. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
def3feb8 |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add empty lowlevel_init to U-boot proper To remove the ifdef conditional of CONFIG_SKIP_LOWLEVEL_INIT, add late_lowlevel_init.S to U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
6cc21206 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: consolidate MEMCONF setting code This code is duplicated in ph1-ld4/sg_init.c and ph1-pro4/sg_init.c. Merge the same code into a new file, memconf.c. The helper functions no longer have to be placed in the header file. Also, move them into memconf.c. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
4c425570 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: move SoC sources to mach-uniphier Move arch/arm/cpu/armv7/uniphier/* -> arch/arm/mach-uniphier/* Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
34ded875 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: detect register base addresses run-time Until the last SoC, the register addresses have been hard-coded because they are always constant. For a planned new SoC, the register bases will be completely changed. I insist on supporting multiple SoCs/boards by a single defconfig (uniphier_v8_defconfig) since duplicating similar defconfig files is a maintenance burden. The base addresses must be fixed-up at run-time somehow. Previously, the board init code identified the SoC by reading out the SG_REVISION register. This is much easier than parsing DT. You cannot do it any more because the base address of SG will be changed. The SG_REVISION register exists to read out the SoC ID, but you never know its address before identifying the SoC. Oh well. So, the possible solution is to parse the DT, and find out the node with "*-soc-glue" compatible string. Then, sg_base is set to the value of the "reg" property. The sc_base is set up likewise. It is worth noting a pit-fall. Having sc_base and sg_base in the global scope will make the life easier, but the global variables are poorly supported before the relocation. In fact, the .bss section overwraps with DT. Allocating them in the .bss section would break DT. So, I gave dummy initializers to assign them in the .data section. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
f7f39057 |
|
10-Jul-2019 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: check DT to determine whether to initialize SBC If CONFIG_MICRO_SUPPORT_CARD is enabled, U-Boot initialize SBC (System Bus Controller), which may not be really necessary. Check the "socionext,uniphier-system-bus" node in DT run-time. If and only if it is found and its "status" property is okay, initialize the SBC block. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
65fce763 |
|
19-Jul-2018 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: split ft_board_setup() out to a separate file Prepare to add more fdt fixup code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
acf15001 |
|
26-Apr-2018 |
Lokesh Vutla <lokeshvutla@ti.com> |
arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A Currently CPU_V7 kconfig symbol supports only ARMv7A architectures under armv7 folder. This led to a misconception of creating separate folders for armv7m and armv7r. There is no reason to create separate folder for other armv7 based architectures when it can co-exist with few Kconfig symbols. As a first step towards a common folder, rename CPU_V7 as CPUV7A. Later separate Kconfig symbols can be added for CPU_V7R and CPU_V7M and can co exist in the same folder. Reviewed-by: Tom Rini <trini@konsulko.com> Tested-by: Michal Simek <michal.simek@xilinx.com> Suggested-by: Alexander Graf <agraf@suse.de> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> |
#
83d290c5 |
|
06-May-2018 |
Tom Rini <trini@konsulko.com> |
SPDX: Convert all of our single license tags to Linux Kernel style When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com> |
#
fed9c766 |
|
20-Apr-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: enable PSCI sysreset for uniphier_v8_defconfig This configuration is supposed to be used with ARM Trusted Firmware, so the SYSTEM_RESET is implemented in BL31. Invoke PSCI instead of U-Boot's own reset code because we need to coordinate with SCP (System Control Processor) for the system-level power management. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
784548ef |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rework spl_boot_device() and related code The current implementation has ugly switch statements here and there, and duplicates similar code. Rework it using table lookups for SoC data and reduce code duplication. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
81c847bf |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move spl_boot_mode() to a separate file The spl_boot_mode() is unrelated to the other code in this file. Besides, this function is only called from common/spl/spl_mmc.c, so it is reasonable to guard with CONFIG_SPL_MMC_SUPPORT. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e5957e8d |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move MMC code to a separate file Currently, arch/arm/mach-uniphier/boot-mode/boot-mode.c is messed up with unrelated code; there is no reason why the "mmcsetn" command must be placed in this file. Split out the MMC code into arch/arm/mach-uniphier/mmc-first-dev.c. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9c572684 |
|
27-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile board data only for SPL Now U-Boot proper need not get the uniphier_boards array. Compile it only for SPL. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e27d6c7d |
|
21-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: simplify SoC ID get function Currently, uniphier_get_soc_type() converts the SoC ID (this is read from the revision register) to an enum symbol to use it for SoC identification. Come to think of it, there is no need for the conversion in the first place. Using the SoC ID from the register as-is a straightforward way. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
26b09c02 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move SBC and Support Card init code to U-Boot proper Initialize SBC and Support Card in U-Boot proper instead of SPL. We may run different firmware (ex. ARM Trusted Firmware) before U-Boot, and basic SoC initialization may be done there. In that case, SPL may not be used. The motivation for preparing SBC and Support Card in SPL was to use LED for early debugging, but this is not mandatory to boot SoCs. With this commit, LED will be unavailable in SPL, but we can use a debug serial instead. So, this change will not be a big deal. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
a8e6300d |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor spl_init_board() Merge init-*.c into a single file using a table of callbacks because the initialization flow is almost common among SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8d6c99c6 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor MEMCONF init code Currently, memconf-sld3.c and memconf-pxs2.c duplicate the code. There are 3 patterns in terms of MEMCONF init: - DRAM 2 channels: LD4, sLD8, Pro4, Pro5, LD11 - DRAM 3 channels: sLD3 - DRAM 3 channels (Ch2 is disable by MEMCONF[21]): Pxs2, LD20 All of them can be moved into a single file by a little more refactoring. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fcc238ba |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: collect clock/PLL init code into a single directory Now PLLs for DRAM controller are initialized in SPL, and the others in U-Boot proper. Setting up all of them in a single directory will be helpful when we want to share code between SPL and U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b78ffc53 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move XIRQ pin-mux settings of LD11/LD20 This is the last code in the mach-uniphier/pinctrl/ directory. Push the remaining code out to delete the directory entirely. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
68557ec3 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate System Bus pin-mux settings for LD11/LD20 Use the pin-mux data in the pinctrl drivers by directly calling pinctrl_generic_set_state(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
5ac9dfbe |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate NAND pin-mux settings The NAND subsystem has not supported the Driver Model yet, but the NAND pin-mux data are already in the pinctrl drivers. Use them by calling pinctrl_generic_set_state() directly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
b2916712 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge board init functions into board_init() Currently, the UniPhier platform calls several init functions in the following order: [1] spl_board_init() [2] board_early_init_f() [3] board_init() [4] board_early_init_r() [5] board_late_init() The serial console is not ready at the point of [2], so we want to avoid using [2] from the view point of debuggability. Fortunately, all of the initialization in [2] can be delayed until [3]. I see no good reason to split into [3] and [4]. So, merge [2] through [4]. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
43a8cc90 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: use checkboard() instead of misc_init_f() We can use checkboard() stub to show additional board information, so misc_init_f() should not be used for this purpose. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9d0c2ceb |
|
20-Apr-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: add PH1-LD20 SoC support This is the first ARMv8 SoC from Socionext Inc. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d5cf3297 |
|
18-Mar-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: support Debug UART For ARM32 architecture, CONFIG_DEBUG_LL is available for early low-level debugging (and actually UniPhier 32bit SoCs use it), but ARM64 architecture does not support it. Instead, CONFIG_DEBUG_UART is available as an architecture-independent debug facility. This commit supports it on all the UniPhier SoCs (including the new ARMv8 SoCs), which is very useful for new SoC bringups. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
fe5ea57b |
|
26-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: prepare directory structure for ARMv8 SoC support Before adding ARMv8 support, this commit refactors the directory structure. Move ARMv7 specific files to arch/arm/mach-uniphier/arm32 to avoid a mess by mixture of ARMv7 and ARMv8 code. Also move the "select CPU_V7" to the lower-level menu because we will have to select ARM64 instead of CPU_V7 for ARMv8 SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
126f9bad |
|
04-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: fix makefiles to build cmd_ddr(m)phy.c The U-Boot proper building needs to descend arch/arm/mach-uniphier/dram to build these commands. Fixes: 93d92d46cd01 ("ARM: uniphier: add dump command for DDR Multi PHY registers") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
4b50369f |
|
02-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: create early page table at run-time UniPhier SoCs are not equipped with dedicated on-chip SRAM. Instead, locked outer cache is used as RAM area during the early boot stage where DRAM is not ready yet. This effectively means MMU must be always enabled while we are in SPL. Currently, the SPL image for UniPhier SoCs contains the page table statically defined at compile time. It has been a burden because the 16KB page table occupies a quarter memory footprint of the 64KB SPL image. Finally, there is no more room to implement new features in SPL. Setting aside the NOR boot mode, this issue can be solved by creating the page table onto RAM at run time. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
042b28f4 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_pinmon.c to boot-mode subdirectory This command shows the boot mode pins, so it would be more at home in the boot-mode subdirectory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9ca66164 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_ddrphy.c to dram subdirectory 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 <yamada.masahiro@socionext.com> |
#
33886693 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge umc/ and ddrphy/ into a single directory The UMC (Universal Memory Controller) and the DDR PHY block are highly related to each other. It is better to have both code in the same directory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
69947007 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile uniphier_get_board_param() for U-Boot proper Compile this file for U-Boot proper as well as SPL, so that the U-Boot proper can call uniphier_get_board_param(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
323d1f9d |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: allow to enable multiple SoCs Before this commit, the Kconfig menu in mach-uniphier only allowed us to choose one SoC to be compiled. Each SoC has its own defconfig file for the build-test coverage. Consequently, some defconfig files are duplicated with only the difference in CONFIG_DEFAULT_DEVICE_TREE and CONFIG_{SOC_NAME}=y. Now, most of board-specific parameters have been moved to device trees, so it makes sense to include init code of multiple SoCs into a single image as long as the SoCs have similar architecture. In fact, some SoCs of UniPhier family are very similar: - PH1-LD4 and PH1-sLD8 - PH1-LD6b and ProXstream2 (will be added in the upcoming commit) This commit will be helpful to merge some defconfig files for better maintainability. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
e6eecca5 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: unify low-level debug init code Move init code of low-level debug into a single file. This is helpful to create an image that runs on multiple SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
8497ccc4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rename CONFIG_MACH_* to CONFIG_ARCH_UNIPHIER_* I want these prefixed with CONFIG_ARCH_UNIPHIER_ to clarify they belong to UniPhier SoC family. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
d7728aa4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move CONFIG_SUPPORT_CARD_* macros to local file It is no longer necessary to define CONFIG_SUPPORT_CARD_* globally. Move them to a C file as local macros. Also, rename the C file. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
9879842c |
|
11-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: drop DCC micro support card support 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 <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org> |
#
3365b4eb |
|
20-Jul-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add PH1-sLD3 SoC support The init code for UMC (Unified Memory Controller) and PLL has not been mainlined yet, but U-boot proper should work. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
62118b7b |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: optimize kicking secondary CPUs code Currently, the secondary CPU(s) are kicked three times: Boot ROM ---(kick)--> SPL ---(kick)--> U-boot ---(kick)--> Linux. It makes the boot sequence very complicated. This commit merges the first and the second kicks, so the secondary CPU(s) can directly jump from SPL to Linux. arch/arm/mach-uniphier/smp.S is no longer necessary. Linux boot test passed. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
def3feb8 |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add empty lowlevel_init to U-boot proper To remove the ifdef conditional of CONFIG_SKIP_LOWLEVEL_INIT, add late_lowlevel_init.S to U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
#
6cc21206 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: consolidate MEMCONF setting code This code is duplicated in ph1-ld4/sg_init.c and ph1-pro4/sg_init.c. Merge the same code into a new file, memconf.c. The helper functions no longer have to be placed in the header file. Also, move them into memconf.c. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
4c425570 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: move SoC sources to mach-uniphier Move arch/arm/cpu/armv7/uniphier/* -> arch/arm/mach-uniphier/* Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> |
#
65fce763 |
|
19-Jul-2018 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: split ft_board_setup() out to a separate file Prepare to add more fdt fixup code. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
acf15001 |
|
26-Apr-2018 |
Lokesh Vutla <lokeshvutla@ti.com> |
arm: v7: Kconfig: Rename CPU_V7 as CPU_V7A Currently CPU_V7 kconfig symbol supports only ARMv7A architectures under armv7 folder. This led to a misconception of creating separate folders for armv7m and armv7r. There is no reason to create separate folder for other armv7 based architectures when it can co-exist with few Kconfig symbols. As a first step towards a common folder, rename CPU_V7 as CPUV7A. Later separate Kconfig symbols can be added for CPU_V7R and CPU_V7M and can co exist in the same folder. Reviewed-by: Tom Rini <trini@konsulko.com> Tested-by: Michal Simek <michal.simek@xilinx.com> Suggested-by: Alexander Graf <agraf@suse.de> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
|
#
83d290c5 |
|
06-May-2018 |
Tom Rini <trini@konsulko.com> |
SPDX: Convert all of our single license tags to Linux Kernel style When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com>
|
#
fed9c766 |
|
20-Apr-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: enable PSCI sysreset for uniphier_v8_defconfig This configuration is supposed to be used with ARM Trusted Firmware, so the SYSTEM_RESET is implemented in BL31. Invoke PSCI instead of U-Boot's own reset code because we need to coordinate with SCP (System Control Processor) for the system-level power management. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
784548ef |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rework spl_boot_device() and related code The current implementation has ugly switch statements here and there, and duplicates similar code. Rework it using table lookups for SoC data and reduce code duplication. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
81c847bf |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move spl_boot_mode() to a separate file The spl_boot_mode() is unrelated to the other code in this file. Besides, this function is only called from common/spl/spl_mmc.c, so it is reasonable to guard with CONFIG_SPL_MMC_SUPPORT. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
e5957e8d |
|
13-Feb-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move MMC code to a separate file Currently, arch/arm/mach-uniphier/boot-mode/boot-mode.c is messed up with unrelated code; there is no reason why the "mmcsetn" command must be placed in this file. Split out the MMC code into arch/arm/mach-uniphier/mmc-first-dev.c. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
9c572684 |
|
27-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile board data only for SPL Now U-Boot proper need not get the uniphier_boards array. Compile it only for SPL. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
e27d6c7d |
|
21-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: simplify SoC ID get function Currently, uniphier_get_soc_type() converts the SoC ID (this is read from the revision register) to an enum symbol to use it for SoC identification. Come to think of it, there is no need for the conversion in the first place. Using the SoC ID from the register as-is a straightforward way. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
26b09c02 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move SBC and Support Card init code to U-Boot proper Initialize SBC and Support Card in U-Boot proper instead of SPL. We may run different firmware (ex. ARM Trusted Firmware) before U-Boot, and basic SoC initialization may be done there. In that case, SPL may not be used. The motivation for preparing SBC and Support Card in SPL was to use LED for early debugging, but this is not mandatory to boot SoCs. With this commit, LED will be unavailable in SPL, but we can use a debug serial instead. So, this change will not be a big deal. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
a8e6300d |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor spl_init_board() Merge init-*.c into a single file using a table of callbacks because the initialization flow is almost common among SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
8d6c99c6 |
|
14-Jan-2017 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: refactor MEMCONF init code Currently, memconf-sld3.c and memconf-pxs2.c duplicate the code. There are 3 patterns in terms of MEMCONF init: - DRAM 2 channels: LD4, sLD8, Pro4, Pro5, LD11 - DRAM 3 channels: sLD3 - DRAM 3 channels (Ch2 is disable by MEMCONF[21]): Pxs2, LD20 All of them can be moved into a single file by a little more refactoring. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
fcc238ba |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: collect clock/PLL init code into a single directory Now PLLs for DRAM controller are initialized in SPL, and the others in U-Boot proper. Setting up all of them in a single directory will be helpful when we want to share code between SPL and U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
b78ffc53 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move XIRQ pin-mux settings of LD11/LD20 This is the last code in the mach-uniphier/pinctrl/ directory. Push the remaining code out to delete the directory entirely. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
68557ec3 |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate System Bus pin-mux settings for LD11/LD20 Use the pin-mux data in the pinctrl drivers by directly calling pinctrl_generic_set_state(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
5ac9dfbe |
|
16-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: consolidate NAND pin-mux settings The NAND subsystem has not supported the Driver Model yet, but the NAND pin-mux data are already in the pinctrl drivers. Use them by calling pinctrl_generic_set_state() directly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
b2916712 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge board init functions into board_init() Currently, the UniPhier platform calls several init functions in the following order: [1] spl_board_init() [2] board_early_init_f() [3] board_init() [4] board_early_init_r() [5] board_late_init() The serial console is not ready at the point of [2], so we want to avoid using [2] from the view point of debuggability. Fortunately, all of the initialization in [2] can be delayed until [3]. I see no good reason to split into [3] and [4]. So, merge [2] through [4]. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
43a8cc90 |
|
13-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: use checkboard() instead of misc_init_f() We can use checkboard() stub to show additional board information, so misc_init_f() should not be used for this purpose. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
9d0c2ceb |
|
20-Apr-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: add PH1-LD20 SoC support This is the first ARMv8 SoC from Socionext Inc. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
d5cf3297 |
|
18-Mar-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: support Debug UART For ARM32 architecture, CONFIG_DEBUG_LL is available for early low-level debugging (and actually UniPhier 32bit SoCs use it), but ARM64 architecture does not support it. Instead, CONFIG_DEBUG_UART is available as an architecture-independent debug facility. This commit supports it on all the UniPhier SoCs (including the new ARMv8 SoCs), which is very useful for new SoC bringups. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
fe5ea57b |
|
26-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: prepare directory structure for ARMv8 SoC support Before adding ARMv8 support, this commit refactors the directory structure. Move ARMv7 specific files to arch/arm/mach-uniphier/arm32 to avoid a mess by mixture of ARMv7 and ARMv8 code. Also move the "select CPU_V7" to the lower-level menu because we will have to select ARM64 instead of CPU_V7 for ARMv8 SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
126f9bad |
|
04-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: fix makefiles to build cmd_ddr(m)phy.c The U-Boot proper building needs to descend arch/arm/mach-uniphier/dram to build these commands. Fixes: 93d92d46cd01 ("ARM: uniphier: add dump command for DDR Multi PHY registers") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
4b50369f |
|
02-Feb-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: create early page table at run-time UniPhier SoCs are not equipped with dedicated on-chip SRAM. Instead, locked outer cache is used as RAM area during the early boot stage where DRAM is not ready yet. This effectively means MMU must be always enabled while we are in SPL. Currently, the SPL image for UniPhier SoCs contains the page table statically defined at compile time. It has been a burden because the 16KB page table occupies a quarter memory footprint of the 64KB SPL image. Finally, there is no more room to implement new features in SPL. Setting aside the NOR boot mode, this issue can be solved by creating the page table onto RAM at run time. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
042b28f4 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_pinmon.c to boot-mode subdirectory This command shows the boot mode pins, so it would be more at home in the boot-mode subdirectory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
9ca66164 |
|
08-Jan-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move cmd_ddrphy.c to dram subdirectory 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 <yamada.masahiro@socionext.com>
|
#
33886693 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: merge umc/ and ddrphy/ into a single directory The UMC (Universal Memory Controller) and the DDR PHY block are highly related to each other. It is better to have both code in the same directory. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
69947007 |
|
17-Dec-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: compile uniphier_get_board_param() for U-Boot proper Compile this file for U-Boot proper as well as SPL, so that the U-Boot proper can call uniphier_get_board_param(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
323d1f9d |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: allow to enable multiple SoCs Before this commit, the Kconfig menu in mach-uniphier only allowed us to choose one SoC to be compiled. Each SoC has its own defconfig file for the build-test coverage. Consequently, some defconfig files are duplicated with only the difference in CONFIG_DEFAULT_DEVICE_TREE and CONFIG_{SOC_NAME}=y. Now, most of board-specific parameters have been moved to device trees, so it makes sense to include init code of multiple SoCs into a single image as long as the SoCs have similar architecture. In fact, some SoCs of UniPhier family are very similar: - PH1-LD4 and PH1-sLD8 - PH1-LD6b and ProXstream2 (will be added in the upcoming commit) This commit will be helpful to merge some defconfig files for better maintainability. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
e6eecca5 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: unify low-level debug init code Move init code of low-level debug into a single file. This is helpful to create an image that runs on multiple SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
8497ccc4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: rename CONFIG_MACH_* to CONFIG_ARCH_UNIPHIER_* I want these prefixed with CONFIG_ARCH_UNIPHIER_ to clarify they belong to UniPhier SoC family. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
d7728aa4 |
|
21-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: move CONFIG_SUPPORT_CARD_* macros to local file It is no longer necessary to define CONFIG_SUPPORT_CARD_* globally. Move them to a C file as local macros. Also, rename the C file. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
9879842c |
|
11-Sep-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: uniphier: drop DCC micro support card support 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 <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
|
#
3365b4eb |
|
20-Jul-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add PH1-sLD3 SoC support The init code for UMC (Unified Memory Controller) and PLL has not been mainlined yet, but U-boot proper should work. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
62118b7b |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: optimize kicking secondary CPUs code Currently, the secondary CPU(s) are kicked three times: Boot ROM ---(kick)--> SPL ---(kick)--> U-boot ---(kick)--> Linux. It makes the boot sequence very complicated. This commit merges the first and the second kicks, so the secondary CPU(s) can directly jump from SPL to Linux. arch/arm/mach-uniphier/smp.S is no longer necessary. Linux boot test passed. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
def3feb8 |
|
22-Mar-2015 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
ARM: UniPhier: add empty lowlevel_init to U-boot proper To remove the ifdef conditional of CONFIG_SKIP_LOWLEVEL_INIT, add late_lowlevel_init.S to U-Boot proper. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
#
6cc21206 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: consolidate MEMCONF setting code This code is duplicated in ph1-ld4/sg_init.c and ph1-pro4/sg_init.c. Merge the same code into a new file, memconf.c. The helper functions no longer have to be placed in the header file. Also, move them into memconf.c. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
|
#
4c425570 |
|
26-Feb-2015 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
ARM: UniPhier: move SoC sources to mach-uniphier Move arch/arm/cpu/armv7/uniphier/* -> arch/arm/mach-uniphier/* Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
|