[U-Boot] [RFC PATCH 18/21] ARM: nomadik: move SoC headers to mach-nomadik/include/mach
Move arch/arm/include/asm/arch-nomadik/* -> arch/arm/mach-nomadik/include/mach/* Signed-off-by: Masahiro Yamada Cc: Nomadik Linux Team Cc: Alessandro Rubini --- arch/arm/{include/asm/arch-nomadik => mach-nomadik/include/mach}/gpio.h | 0 arch/arm/{include/asm/arch-nomadik => mach-nomadik/include/mach}/mtu.h | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename arch/arm/{include/asm/arch-nomadik => mach-nomadik/include/mach}/gpio.h (100%) rename arch/arm/{include/asm/arch-nomadik => mach-nomadik/include/mach}/mtu.h (100%) diff --git a/arch/arm/include/asm/arch-nomadik/gpio.h b/arch/arm/mach-nomadik/include/mach/gpio.h similarity index 100% rename from arch/arm/include/asm/arch-nomadik/gpio.h rename to arch/arm/mach-nomadik/include/mach/gpio.h diff --git a/arch/arm/include/asm/arch-nomadik/mtu.h b/arch/arm/mach-nomadik/include/mach/mtu.h similarity index 100% rename from arch/arm/include/asm/arch-nomadik/mtu.h rename to arch/arm/mach-nomadik/include/mach/mtu.h -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH 20/21] ARM: keystone: move SoC headers to mach-keystone/include/mach
Move arch/arm/include/asm/arch-keystone/* -> arch/arm/mach-keystone/include/mach/* Signed-off-by: Masahiro Yamada Cc: Tom Rini --- .../{include/asm/arch-keystone => mach-keystone/include/mach}/clock-k2e.h | 0 .../asm/arch-keystone => mach-keystone/include/mach}/clock-k2hk.h | 0 .../{include/asm/arch-keystone => mach-keystone/include/mach}/clock-k2l.h | 0 .../arm/{include/asm/arch-keystone => mach-keystone/include/mach}/clock.h | 0 .../asm/arch-keystone => mach-keystone/include/mach}/clock_defs.h | 0 arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/ddr3.h | 0 .../asm/arch-keystone => mach-keystone/include/mach}/hardware-k2e.h | 0 .../asm/arch-keystone => mach-keystone/include/mach}/hardware-k2hk.h | 0 .../asm/arch-keystone => mach-keystone/include/mach}/hardware-k2l.h | 0 .../{include/asm/arch-keystone => mach-keystone/include/mach}/hardware.h | 0 .../{include/asm/arch-keystone => mach-keystone/include/mach}/i2c_defs.h | 0 arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/mon.h | 0 arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/msmc.h | 0 .../{include/asm/arch-keystone => mach-keystone/include/mach}/psc_defs.h | 0 .../asm/arch-keystone => mach-keystone/include/mach}/xhci-keystone.h | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/clock-k2e.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/clock-k2hk.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/clock-k2l.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/clock.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/clock_defs.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/ddr3.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/hardware-k2e.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/hardware-k2hk.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/hardware-k2l.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/hardware.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/i2c_defs.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/mon.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/msmc.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/psc_defs.h (100%) rename arch/arm/{include/asm/arch-keystone => mach-keystone/include/mach}/xhci-keystone.h (100%) diff --git a/arch/arm/include/asm/arch-keystone/clock-k2e.h b/arch/arm/mach-keystone/include/mach/clock-k2e.h similarity index 100% rename from arch/arm/include/asm/arch-keystone/clock-k2e.h rename to arch/arm/mach-keystone/include/mach/clock-k2e.h diff --git a/arch/arm/include/asm/arch-keystone/clock-k2hk.h b/arch/arm/mach-keystone/include/mach/clock-k2hk.h similarity index 100% rename from arch/arm/include/asm/arch-keystone/clock-k2hk.h rename to arch/arm/mach-keystone/include/mach/clock-k2hk.h diff --git a/arch/arm/include/asm/arch-keystone/clock-k2l.h b/arch/arm/mach-keystone/include/mach/clock-k2l.h similarity index 100% rename from arch/arm/include/asm/arch-keystone/clock-k2l.h rename to arch/arm/mach-keystone/include/mach/clock-k2l.h diff --git a/arch/arm/include/asm/arch-keystone/clock.h b/arch/arm/mach-keystone/include/mach/clock.h similarity index 100% rename from arch/arm/include/asm/arch-keystone/clock.h rename to arch/arm/mach-keystone/include/mach/clock.h diff --git a/arch/arm/include/asm/arch-keystone/clock_defs.h b/arch/arm/mach-keystone/include/mach/clock_defs.h similarity index 100% rename from arch/arm/include/asm/arch-keystone/clock_defs.h rename to arch/arm/mach-keystone/include/mach/clock_defs.h diff --git a/arch/arm/include/asm/arch-keystone/ddr3.h b/arch/arm/mach-keystone/include/mach/ddr3.h similarity index 100% rename from arch/arm/include/asm/arch-keystone/ddr3.h rename to arch/arm/mach-keystone/include/mach/ddr3.h diff --git a/arch/arm/include/asm/arch-keystone/hardware-k2e.h b/arch/arm/mach-keystone/include/mach/hardware-k2e.h similarity index 100% rename from arch/arm/include/asm/arch-keystone/hardware-k2e.h rename to arch/arm/mach-keystone/include/mach/hardware-k2e.h diff --git a/arch/arm/include/asm/arch-keystone/hardware-k2hk.h b/arch/arm/mach-keystone/include/mach/hardware-k2hk.h similarity index 100% rename from arch/arm/include/asm/arch-keystone/hardware-k2hk.h rename to arch/arm/mach-keystone/include/mach/hardware-k2hk.h diff --git a/arch/arm/include/asm/arch-keystone/hardware-k2l.h b/arch/arm/mach-keystone/include/mach/hardware-k2l.h similarity index 100% rename from arch/arm/include/asm/arch-keystone/hardware-k2l.h rename
[U-Boot] [RFC PATCH 14/21] ARM: at91: move SoC headers to mach-at91/include/mach
Move arch/arm/include/asm/arch-at91/* -> arch/arm/mach-at91/include/mach/* Signed-off-by: Masahiro Yamada Cc: Andreas Bießmann --- MAINTAINERS | 1 - arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_common.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_dbu.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_eefc.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_emac.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_gpbr.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_matrix.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_mc.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_pdc.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_pio.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_pit.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_pmc.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_rstc.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_rtt.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_spi.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_st.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_tc.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_wdt.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91cap9.h| 0 .../{include/asm/arch-at91 => mach-at91/include/mach}/at91cap9_matrix.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91rm9200.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91sam9260.h | 0 .../asm/arch-at91 => mach-at91/include/mach}/at91sam9260_matrix.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91sam9261.h | 0 .../asm/arch-at91 => mach-at91/include/mach}/at91sam9261_matrix.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91sam9263.h | 0 .../asm/arch-at91 => mach-at91/include/mach}/at91sam9263_matrix.h| 0 .../{include/asm/arch-at91 => mach-at91/include/mach}/at91sam9_matrix.h | 0 .../{include/asm/arch-at91 => mach-at91/include/mach}/at91sam9_sdramc.h | 0 .../arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91sam9_smc.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91sam9g45.h | 0 .../asm/arch-at91 => mach-at91/include/mach}/at91sam9g45_matrix.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91sam9rl.h | 0 .../asm/arch-at91 => mach-at91/include/mach}/at91sam9rl_matrix.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91sam9x5.h | 0 .../asm/arch-at91 => mach-at91/include/mach}/at91sam9x5_matrix.h | 0 .../arm/{include/asm/arch-at91 => mach-at91/include/mach}/atmel_mpddrc.h | 0 .../arm/{include/asm/arch-at91 => mach-at91/include/mach}/atmel_serial.h | 0 .../{include/asm/arch-at91 => mach-at91/include/mach}/atmel_usba_udc.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/clk.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/gpio.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/hardware.h| 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/sama5d3.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/sama5d3_smc.h | 0 arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/sama5d4.h | 0 45 files changed, 1 deletion(-) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_common.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_dbu.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_eefc.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_emac.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_gpbr.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_matrix.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_mc.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_pdc.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_pio.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_pit.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_pmc.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_rstc.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_rtt.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_spi.h (100%) rename arch/arm/{include/asm/arch-at91 => mach-at91/include/mach}/at91_st.h (100%) rename arch/arm/{i
[U-Boot] [RFC PATCH 21/21] ARM: prepare for including
This commit adds $(srctree)/arch/arm/$(machdirs)/include/mach to the headers search path. It allows us to replace "#include " with "#include ". As "#include " is still supported, we can modify each file one by one. Signed-off-by: Masahiro Yamada --- arch/arm/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 6df3353..08946de 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -20,6 +20,8 @@ machine-$(CONFIG_ARCH_VERSATILE) += versatile machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) +PLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) + libs-y += $(machdirs) head-y := arch/arm/cpu/$(CPU)/start.o -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH 19/21] ARM: orion5x: move SoC headers to mach-orion5x/include/mach
Move arch/arm/include/asm/arch-orion5x/* -> arch/arm/mach-orion5x/include/mach/* Signed-off-by: Masahiro Yamada Cc: Albert ARIBAUD --- arch/arm/{include/asm/arch-orion5x => mach-orion5x/include/mach}/cpu.h| 0 .../{include/asm/arch-orion5x => mach-orion5x/include/mach}/mv88f5182.h | 0 .../arm/{include/asm/arch-orion5x => mach-orion5x/include/mach}/orion5x.h | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename arch/arm/{include/asm/arch-orion5x => mach-orion5x/include/mach}/cpu.h (100%) rename arch/arm/{include/asm/arch-orion5x => mach-orion5x/include/mach}/mv88f5182.h (100%) rename arch/arm/{include/asm/arch-orion5x => mach-orion5x/include/mach}/orion5x.h (100%) diff --git a/arch/arm/include/asm/arch-orion5x/cpu.h b/arch/arm/mach-orion5x/include/mach/cpu.h similarity index 100% rename from arch/arm/include/asm/arch-orion5x/cpu.h rename to arch/arm/mach-orion5x/include/mach/cpu.h diff --git a/arch/arm/include/asm/arch-orion5x/mv88f5182.h b/arch/arm/mach-orion5x/include/mach/mv88f5182.h similarity index 100% rename from arch/arm/include/asm/arch-orion5x/mv88f5182.h rename to arch/arm/mach-orion5x/include/mach/mv88f5182.h diff --git a/arch/arm/include/asm/arch-orion5x/orion5x.h b/arch/arm/mach-orion5x/include/mach/orion5x.h similarity index 100% rename from arch/arm/include/asm/arch-orion5x/orion5x.h rename to arch/arm/mach-orion5x/include/mach/orion5x.h -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH 16/21] ARM: davinci: move SoC headers to mach-davinci/include/mach
Move arch/arm/include/asm/arch-davinci/* -> arch/arm/mach-davinci/include/mach/* Signed-off-by: Masahiro Yamada Cc: Tom Rini --- .../{include/asm/arch-davinci => mach-davinci/include/mach}/aintc_defs.h | 0 .../asm/arch-davinci => mach-davinci/include/mach}/da850_lowlevel.h | 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/da8xx-usb.h | 0 .../asm/arch-davinci => mach-davinci/include/mach}/davinci_misc.h | 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/ddr2_defs.h | 0 .../asm/arch-davinci => mach-davinci/include/mach}/dm365_lowlevel.h | 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/emac_defs.h | 0 arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/gpio.h | 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/hardware.h| 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/i2c_defs.h| 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/pinmux_defs.h | 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/pll_defs.h| 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/psc_defs.h| 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/sdmmc_defs.h | 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/syscfg_defs.h | 0 .../{include/asm/arch-davinci => mach-davinci/include/mach}/timer_defs.h | 0 16 files changed, 0 insertions(+), 0 deletions(-) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/aintc_defs.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/da850_lowlevel.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/da8xx-usb.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/davinci_misc.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/ddr2_defs.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/dm365_lowlevel.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/emac_defs.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/gpio.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/hardware.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/i2c_defs.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/pinmux_defs.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/pll_defs.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/psc_defs.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/sdmmc_defs.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/syscfg_defs.h (100%) rename arch/arm/{include/asm/arch-davinci => mach-davinci/include/mach}/timer_defs.h (100%) diff --git a/arch/arm/include/asm/arch-davinci/aintc_defs.h b/arch/arm/mach-davinci/include/mach/aintc_defs.h similarity index 100% rename from arch/arm/include/asm/arch-davinci/aintc_defs.h rename to arch/arm/mach-davinci/include/mach/aintc_defs.h diff --git a/arch/arm/include/asm/arch-davinci/da850_lowlevel.h b/arch/arm/mach-davinci/include/mach/da850_lowlevel.h similarity index 100% rename from arch/arm/include/asm/arch-davinci/da850_lowlevel.h rename to arch/arm/mach-davinci/include/mach/da850_lowlevel.h diff --git a/arch/arm/include/asm/arch-davinci/da8xx-usb.h b/arch/arm/mach-davinci/include/mach/da8xx-usb.h similarity index 100% rename from arch/arm/include/asm/arch-davinci/da8xx-usb.h rename to arch/arm/mach-davinci/include/mach/da8xx-usb.h diff --git a/arch/arm/include/asm/arch-davinci/davinci_misc.h b/arch/arm/mach-davinci/include/mach/davinci_misc.h similarity index 100% rename from arch/arm/include/asm/arch-davinci/davinci_misc.h rename to arch/arm/mach-davinci/include/mach/davinci_misc.h diff --git a/arch/arm/include/asm/arch-davinci/ddr2_defs.h b/arch/arm/mach-davinci/include/mach/ddr2_defs.h similarity index 100% rename from arch/arm/include/asm/arch-davinci/ddr2_defs.h rename to arch/arm/mach-davinci/include/mach/ddr2_defs.h diff --git a/arch/arm/include/asm/arch-davinci/dm365_lowlevel.h b/arch/arm/mach-davinci/include/mach/dm365_lowlevel.h similarity index 100% rename from arch/arm/include/asm/arch-davinci/dm365_lowlevel.h rename to arch/arm/mach-davinci/include/mach/dm365_lowlevel.h diff --git a/arch/arm/include/asm/arch-davinci/emac_defs.h b/arch/arm/mach-davinci/include/mach/emac_defs.h similarity index 100% rename from arch/arm/include/asm/arch-davinci/emac_defs.h rename to arch/arm/mach-davinci/include/mach/emac_defs.h diff --git a/arch/arm/include/asm/arch-davinci/gpio.h b/arch/arm/mach-davinci/include/mach/gpio.h similarity index 100% rename from arch/arm/include/asm/arch-davinci/gpio.h rename to arch/arm/mach-davinci/include/mach/gpio.h diff --git a/arch/arm/include/asm/arch-davinc
[U-Boot] [RFC PATCH 12/21] ARM: keystone: move SoC sources to mach-keystone
Move arch/arm/cpu/armv7/keystone/* -> arch/arm/mach-keystone/* Signed-off-by: Masahiro Yamada Cc: Tom Rini --- arch/arm/Kconfig| 2 +- arch/arm/Makefile | 1 + arch/arm/cpu/armv7/Makefile | 1 - arch/arm/{cpu/armv7/keystone => mach-keystone}/Kconfig | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/Makefile | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/clock-k2e.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/clock-k2hk.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/clock-k2l.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/clock.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/cmd_clock.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/cmd_ddr3.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/cmd_mon.c| 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/ddr3.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/init.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/keystone.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/msmc.c | 0 arch/arm/{cpu/armv7/keystone => mach-keystone}/psc.c| 0 17 files changed, 2 insertions(+), 2 deletions(-) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/Kconfig (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/Makefile (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/clock-k2e.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/clock-k2hk.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/clock-k2l.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/clock.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/cmd_clock.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/cmd_ddr3.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/cmd_mon.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/ddr3.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/init.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/keystone.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/msmc.c (100%) rename arch/arm/{cpu/armv7/keystone => mach-keystone}/psc.c (100%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1530dd8..20aac5a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -692,7 +692,7 @@ source "arch/arm/cpu/armv7/exynos/Kconfig" source "arch/arm/mach-highbank/Kconfig" -source "arch/arm/cpu/armv7/keystone/Kconfig" +source "arch/arm/mach-keystone/Kconfig" source "arch/arm/mach-kirkwood/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 11a16d8..6df3353 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -7,6 +7,7 @@ machine-$(CONFIG_ARCH_AT91)+= at91 machine-$(CONFIG_ARCH_DAVINCI) += davinci machine-$(CONFIG_ARCH_HIGHBANK)+= highbank +machine-$(CONFIG_ARCH_KEYSTONE)+= keystone # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD machine-$(CONFIG_KIRKWOOD) += kirkwood # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile index 7c63af9..85729b3 100644 --- a/arch/arm/cpu/armv7/Makefile +++ b/arch/arm/cpu/armv7/Makefile @@ -43,7 +43,6 @@ obj-$(if $(filter bcm281xx,$(SOC)),y) += bcm281xx/ obj-$(if $(filter bcmcygnus,$(SOC)),y) += bcmcygnus/ obj-$(if $(filter bcmnsp,$(SOC)),y) += bcmnsp/ obj-$(CONFIG_ARCH_EXYNOS) += exynos/ -obj-$(CONFIG_ARCH_KEYSTONE) += keystone/ obj-$(if $(filter ls102xa,$(SOC)),y) += ls102xa/ obj-$(if $(filter mx5,$(SOC)),y) += mx5/ obj-$(CONFIG_MX6) += mx6/ diff --git a/arch/arm/cpu/armv7/keystone/Kconfig b/arch/arm/mach-keystone/Kconfig similarity index 100% rename from arch/arm/cpu/armv7/keystone/Kconfig rename to arch/arm/mach-keystone/Kconfig diff --git a/arch/arm/cpu/armv7/keystone/Makefile b/arch/arm/mach-keystone/Makefile similarity index 100% rename from arch/arm/cpu/armv7/keystone/Makefile rename to arch/arm/mach-keystone/Makefile diff --git a/arch/arm/cpu/armv7/keystone/clock-k2e.c b/arch/arm/mach-keystone/clock-k2e.c similarity index 100% rename from arch/arm/cpu/armv7/keystone/clock-k2e.c rename to arch/arm/mach-keystone/clock-k2e.c diff --git a/arch/arm/cpu/armv7/keystone/clock-k2hk.c b/arch/arm/mach-keystone/clock-k2hk.c similarity index 100% rename from arch/arm/cpu/armv7/keystone/clock-k2hk.c rename to arch/arm/mach-keystone/clock-k2hk.c diff --git a/arch/arm/cpu/armv7/keystone/clock-k2l.c b/arch/arm/mach-keystone/clock-k2l.c similarity index 100% rename from arch/arm/cpu/armv7/keystone/clock-k2l.c rename to arch/arm/mach-keystone/clock-k2l.c diff --git a/arch/arm/cpu/armv7/keystone/clock.c b/arch/arm/mach-keystone/clock.c similarity index 100% rename from arch/arm/cpu/armv7/keystone/clock.c rename to arch/arm/mach-keystone/clock.c diff --git a/arch/arm/cpu/armv7/keystone/cmd_clock.c b/arch/arm/mach-key
[U-Boot] [RFC PATCH 13/21] kbuild: prepare for moving headers into mach-*/include/mach
In U-Boot, SoC-specific headers are placed in arch/$(ARCH)/include/asm/arch-$(SOC) and a symbolic link to that directory is created at the early stage of the build process. Creating and removing a symbolic link during the build is not preferred. In fact, Linux Kernel did away with include/asm-$(ARCH) directories a long time time ago. As for ARM, now it is possible to collect SoC sources into arch/arm/mach-$(SOC). It is also reasonable to move SoC headers into arch/arm/mach-$(SOC)/include/mach. This commit prepares for that. If the directory arch/$(ARCH)/mach-$(SOC)/include/mach exists, a symbolic to that directory is created. Otherwise, a symbolic link to arch/$(ARCH)/include/asm/arch-$(SOC) or arch-$(CPU) is created. Signed-off-by: Masahiro Yamada --- scripts/Makefile.autoconf | 19 +++ 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/scripts/Makefile.autoconf b/scripts/Makefile.autoconf index 8e9d71f..58e1642 100644 --- a/scripts/Makefile.autoconf +++ b/scripts/Makefile.autoconf @@ -85,15 +85,26 @@ include/config.h: scripts/Makefile.autoconf create_symlink FORCE $(call filechk,config_h) # symbolic links +# If arch/$(ARCH)/mach-$(SOC)/include/mach exists, +# make a symbolic link to that directory. +# Otherwise, create a symbolic link to arch/$(ARCH)/include/asm/arch-$(SOC). PHONY += create_symlink create_symlink: ifneq ($(KBUILD_SRC),) $(Q)mkdir -p include/asm - $(Q)ln -fsn $(KBUILD_SRC)/arch/$(ARCH)/include/asm/arch-$(if $(SOC),$(SOC),$(CPU)) \ - include/asm/arch + $(Q)if [ -d $(KBUILD_SRC)/arch/$(ARCH)/mach-$(SOC)/include/mach ]; then \ + dest=arch/$(ARCH)/mach-$(SOC)/include/mach; \ + else \ + dest=arch/$(ARCH)/include/asm/arch-$(if $(SOC),$(SOC),$(CPU)); \ + fi; \ + ln -fsn $(KBUILD_SRC)/$$dest include/asm/arch else - $(Q)ln -fsn arch-$(if $(SOC),$(SOC),$(CPU)) \ - arch/$(ARCH)/include/asm/arch + $(Q)if [ -d arch/$(ARCH)/mach-$(SOC)/include/mach ]; then \ + dest=../../mach-$(SOC)/include/mach;\ + else\ + dest=arch-$(if $(SOC),$(SOC),$(CPU)); \ + fi; \ + ln -fsn $$dest arch/$(ARCH)/include/asm/arch endif PHONY += FORCE -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH 11/21] ARM: versatile: move SoC sources to mach-versatile
Move arch/arm/cpu/arm926ejs/versatile/* -> arch/arm/mach-versatile/* Signed-off-by: Masahiro Yamada --- arch/arm/Kconfig | 2 +- arch/arm/Makefile | 1 + arch/arm/cpu/arm926ejs/Makefile | 1 - arch/arm/{cpu/arm926ejs/versatile => mach-versatile}/Kconfig | 0 arch/arm/{cpu/arm926ejs/versatile => mach-versatile}/Makefile | 0 arch/arm/{cpu/arm926ejs/versatile => mach-versatile}/reset.S | 0 arch/arm/{cpu/arm926ejs/versatile => mach-versatile}/timer.c | 0 7 files changed, 2 insertions(+), 2 deletions(-) rename arch/arm/{cpu/arm926ejs/versatile => mach-versatile}/Kconfig (100%) rename arch/arm/{cpu/arm926ejs/versatile => mach-versatile}/Makefile (100%) rename arch/arm/{cpu/arm926ejs/versatile => mach-versatile}/reset.S (100%) rename arch/arm/{cpu/arm926ejs/versatile => mach-versatile}/timer.c (100%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ffd6f66..1530dd8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -714,7 +714,7 @@ source "arch/arm/mach-tegra/Kconfig" source "arch/arm/mach-uniphier/Kconfig" -source "arch/arm/cpu/arm926ejs/versatile/Kconfig" +source "arch/arm/mach-versatile/Kconfig" source "arch/arm/cpu/armv7/zynq/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index a707f02..11a16d8 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -15,6 +15,7 @@ machine-$(CONFIG_ARCH_NOMADIK)+= nomadik machine-$(CONFIG_ORION5X) += orion5x machine-$(CONFIG_TEGRA)+= tegra machine-$(CONFIG_ARCH_UNIPHIER)+= uniphier +machine-$(CONFIG_ARCH_VERSATILE) += versatile machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) diff --git a/arch/arm/cpu/arm926ejs/Makefile b/arch/arm/cpu/arm926ejs/Makefile index 3cb741d..f5944cc 100644 --- a/arch/arm/cpu/arm926ejs/Makefile +++ b/arch/arm/cpu/arm926ejs/Makefile @@ -22,4 +22,3 @@ obj-$(CONFIG_MX27) += mx27/ obj-$(if $(filter mxs,$(SOC)),y) += mxs/ obj-$(CONFIG_PANTHEON) += pantheon/ obj-$(if $(filter spear,$(SOC)),y) += spear/ -obj-$(CONFIG_ARCH_VERSATILE) += versatile/ diff --git a/arch/arm/cpu/arm926ejs/versatile/Kconfig b/arch/arm/mach-versatile/Kconfig similarity index 100% rename from arch/arm/cpu/arm926ejs/versatile/Kconfig rename to arch/arm/mach-versatile/Kconfig diff --git a/arch/arm/cpu/arm926ejs/versatile/Makefile b/arch/arm/mach-versatile/Makefile similarity index 100% rename from arch/arm/cpu/arm926ejs/versatile/Makefile rename to arch/arm/mach-versatile/Makefile diff --git a/arch/arm/cpu/arm926ejs/versatile/reset.S b/arch/arm/mach-versatile/reset.S similarity index 100% rename from arch/arm/cpu/arm926ejs/versatile/reset.S rename to arch/arm/mach-versatile/reset.S diff --git a/arch/arm/cpu/arm926ejs/versatile/timer.c b/arch/arm/mach-versatile/timer.c similarity index 100% rename from arch/arm/cpu/arm926ejs/versatile/timer.c rename to arch/arm/mach-versatile/timer.c -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH 06/21] ARM: davinci: move SoC sources to mach-davinci
Move arch/arm/cpu/arm926ejs/davinci/* -> arch/arm/mach-davinci/* Signed-off-by: Masahiro Yamada Cc: Tom Rini --- arch/arm/Kconfig | 2 +- arch/arm/Makefile | 1 + arch/arm/cpu/arm926ejs/Makefile | 1 - arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/Kconfig | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/Makefile | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/config.mk| 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/cpu.c| 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/da830_pinmux.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/da850_lowlevel.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/da850_pinmux.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm355.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm365.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm365_lowlevel.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm644x.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm646x.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dp83848.c| 2 +- arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/et1011c.c| 2 +- arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/ksz8873.c| 2 +- arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/lowlevel_init.S | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/lxt972.c | 2 +- arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/misc.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/pinmux.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/psc.c| 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/reset.c | 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/spl.c| 0 arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/timer.c | 0 26 files changed, 6 insertions(+), 6 deletions(-) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/Kconfig (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/Makefile (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/config.mk (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/cpu.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/da830_pinmux.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/da850_lowlevel.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/da850_pinmux.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm355.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm365.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm365_lowlevel.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm644x.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dm646x.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/dp83848.c (98%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/et1011c.c (94%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/ksz8873.c (95%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/lowlevel_init.S (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/lxt972.c (97%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/misc.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/pinmux.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/psc.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/reset.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/spl.c (100%) rename arch/arm/{cpu/arm926ejs/davinci => mach-davinci}/timer.c (100%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 23c5bab..8cd7c14 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -686,7 +686,7 @@ endchoice source "arch/arm/mach-at91/Kconfig" -source "arch/arm/cpu/arm926ejs/davinci/Kconfig" +source "arch/arm/mach-davinci/Kconfig" source "arch/arm/cpu/armv7/exynos/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 1b1d222..b6e9323 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -5,6 +5,7 @@ # Machine directory name. This list is sorted alphanumerically # by CONFIG_* macro name. machine-$(CONFIG_ARCH_AT91)+= at91 +machine-$(CONFIG_ARCH_DAVINCI) += davinci # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA machine-$(CONFIG_TEGRA)+= tegra machine-$(CONFIG_ARCH_UNIPHIER)+= uniphier diff --git a/arch/arm/cpu/arm926ejs/Makefile b/arch/arm/cpu/arm926ejs/Makefile index f41357a..27b4353 100644 --- a/arch/arm/cpu/arm926ejs/Makefile +++ b/arch/arm/cpu/arm926ejs/Makefile @@ -15,7 +15,6 @@ endif endif obj-$(CONFIG_ARMADA100) += armada100/ -obj-$(CONFIG_ARCH_DAVINCI) += davinci/ obj-$(CONFIG_KIRKWOOD) += kirkwood/ obj-$(if $(filter lpc32xx,$(SOC)),y) += lpc32xx/ obj-$(CONFIG_MB86R0x) += mb86r0x/ diff --git a
[U-Boot] [RFC PATCH 10/21] ARM: orion5x: move SoC sources to mach-orion5x
Move arch/arm/cpu/arm926ejs/orion5x/* -> arch/arm/mach-orion5x/* Signed-off-by: Masahiro Yamada Cc: Albert ARIBAUD --- arch/arm/Kconfig | 2 +- arch/arm/Makefile| 2 ++ arch/arm/cpu/arm926ejs/Makefile | 1 - arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/Kconfig | 0 arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/Makefile| 0 arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/cpu.c | 0 arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/dram.c | 0 arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/lowlevel_init.S | 0 arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/timer.c | 0 9 files changed, 3 insertions(+), 2 deletions(-) rename arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/Kconfig (100%) rename arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/Makefile (100%) rename arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/cpu.c (100%) rename arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/dram.c (100%) rename arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/lowlevel_init.S (100%) rename arch/arm/{cpu/arm926ejs/orion5x => mach-orion5x}/timer.c (100%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index de56ddf..ffd6f66 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -704,7 +704,7 @@ source "arch/arm/cpu/armv7/omap4/Kconfig" source "arch/arm/cpu/armv7/omap5/Kconfig" -source "arch/arm/cpu/arm926ejs/orion5x/Kconfig" +source "arch/arm/mach-orion5x/Kconfig" source "arch/arm/cpu/armv7/rmobile/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 7592e20..a707f02 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -11,6 +11,8 @@ machine-$(CONFIG_ARCH_HIGHBANK) += highbank machine-$(CONFIG_KIRKWOOD) += kirkwood # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA machine-$(CONFIG_ARCH_NOMADIK) += nomadik +# TODO: rename CONFIG_ORION5X -> CONFIG_ARCH_ORION5X +machine-$(CONFIG_ORION5X) += orion5x machine-$(CONFIG_TEGRA)+= tegra machine-$(CONFIG_ARCH_UNIPHIER)+= uniphier diff --git a/arch/arm/cpu/arm926ejs/Makefile b/arch/arm/cpu/arm926ejs/Makefile index ed0cf0f..3cb741d 100644 --- a/arch/arm/cpu/arm926ejs/Makefile +++ b/arch/arm/cpu/arm926ejs/Makefile @@ -20,7 +20,6 @@ obj-$(CONFIG_MB86R0x) += mb86r0x/ obj-$(CONFIG_MX25) += mx25/ obj-$(CONFIG_MX27) += mx27/ obj-$(if $(filter mxs,$(SOC)),y) += mxs/ -obj-$(CONFIG_ORION5X) += orion5x/ obj-$(CONFIG_PANTHEON) += pantheon/ obj-$(if $(filter spear,$(SOC)),y) += spear/ obj-$(CONFIG_ARCH_VERSATILE) += versatile/ diff --git a/arch/arm/cpu/arm926ejs/orion5x/Kconfig b/arch/arm/mach-orion5x/Kconfig similarity index 100% rename from arch/arm/cpu/arm926ejs/orion5x/Kconfig rename to arch/arm/mach-orion5x/Kconfig diff --git a/arch/arm/cpu/arm926ejs/orion5x/Makefile b/arch/arm/mach-orion5x/Makefile similarity index 100% rename from arch/arm/cpu/arm926ejs/orion5x/Makefile rename to arch/arm/mach-orion5x/Makefile diff --git a/arch/arm/cpu/arm926ejs/orion5x/cpu.c b/arch/arm/mach-orion5x/cpu.c similarity index 100% rename from arch/arm/cpu/arm926ejs/orion5x/cpu.c rename to arch/arm/mach-orion5x/cpu.c diff --git a/arch/arm/cpu/arm926ejs/orion5x/dram.c b/arch/arm/mach-orion5x/dram.c similarity index 100% rename from arch/arm/cpu/arm926ejs/orion5x/dram.c rename to arch/arm/mach-orion5x/dram.c diff --git a/arch/arm/cpu/arm926ejs/orion5x/lowlevel_init.S b/arch/arm/mach-orion5x/lowlevel_init.S similarity index 100% rename from arch/arm/cpu/arm926ejs/orion5x/lowlevel_init.S rename to arch/arm/mach-orion5x/lowlevel_init.S diff --git a/arch/arm/cpu/arm926ejs/orion5x/timer.c b/arch/arm/mach-orion5x/timer.c similarity index 100% rename from arch/arm/cpu/arm926ejs/orion5x/timer.c rename to arch/arm/mach-orion5x/timer.c -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH 08/21] ARM: nomadik: move SoC sources to mach-nomadik
Move arch/arm/cpu/arm926ejs/nomadik/* -> arch/arm/mach-nomadik/* Signed-off-by: Masahiro Yamada Cc: Nomadik Linux Team Cc: Alessandro Rubini --- arch/arm/Kconfig | 2 +- arch/arm/Makefile | 1 + arch/arm/cpu/arm926ejs/Makefile | 1 - arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/Kconfig | 0 arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/Makefile | 0 arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/gpio.c | 0 arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/reset.S | 0 arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/timer.c | 0 8 files changed, 2 insertions(+), 2 deletions(-) rename arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/Kconfig (100%) rename arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/Makefile (100%) rename arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/gpio.c (100%) rename arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/reset.S (100%) rename arch/arm/{cpu/arm926ejs/nomadik => mach-nomadik}/timer.c (100%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 961ab4d..2bae41a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -696,7 +696,7 @@ source "arch/arm/cpu/armv7/keystone/Kconfig" source "arch/arm/mach-kirkwood/Kconfig" -source "arch/arm/cpu/arm926ejs/nomadik/Kconfig" +source "arch/arm/mach-nomadik/Kconfig" source "arch/arm/cpu/armv7/omap3/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 7a244af..ee25e48 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -9,6 +9,7 @@ machine-$(CONFIG_ARCH_DAVINCI) += davinci # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD machine-$(CONFIG_KIRKWOOD) += kirkwood # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA +machine-$(CONFIG_ARCH_NOMADIK) += nomadik machine-$(CONFIG_TEGRA)+= tegra machine-$(CONFIG_ARCH_UNIPHIER)+= uniphier diff --git a/arch/arm/cpu/arm926ejs/Makefile b/arch/arm/cpu/arm926ejs/Makefile index 0b43a90..ed0cf0f 100644 --- a/arch/arm/cpu/arm926ejs/Makefile +++ b/arch/arm/cpu/arm926ejs/Makefile @@ -20,7 +20,6 @@ obj-$(CONFIG_MB86R0x) += mb86r0x/ obj-$(CONFIG_MX25) += mx25/ obj-$(CONFIG_MX27) += mx27/ obj-$(if $(filter mxs,$(SOC)),y) += mxs/ -obj-$(CONFIG_ARCH_NOMADIK) += nomadik/ obj-$(CONFIG_ORION5X) += orion5x/ obj-$(CONFIG_PANTHEON) += pantheon/ obj-$(if $(filter spear,$(SOC)),y) += spear/ diff --git a/arch/arm/cpu/arm926ejs/nomadik/Kconfig b/arch/arm/mach-nomadik/Kconfig similarity index 100% rename from arch/arm/cpu/arm926ejs/nomadik/Kconfig rename to arch/arm/mach-nomadik/Kconfig diff --git a/arch/arm/cpu/arm926ejs/nomadik/Makefile b/arch/arm/mach-nomadik/Makefile similarity index 100% rename from arch/arm/cpu/arm926ejs/nomadik/Makefile rename to arch/arm/mach-nomadik/Makefile diff --git a/arch/arm/cpu/arm926ejs/nomadik/gpio.c b/arch/arm/mach-nomadik/gpio.c similarity index 100% rename from arch/arm/cpu/arm926ejs/nomadik/gpio.c rename to arch/arm/mach-nomadik/gpio.c diff --git a/arch/arm/cpu/arm926ejs/nomadik/reset.S b/arch/arm/mach-nomadik/reset.S similarity index 100% rename from arch/arm/cpu/arm926ejs/nomadik/reset.S rename to arch/arm/mach-nomadik/reset.S diff --git a/arch/arm/cpu/arm926ejs/nomadik/timer.c b/arch/arm/mach-nomadik/timer.c similarity index 100% rename from arch/arm/cpu/arm926ejs/nomadik/timer.c rename to arch/arm/mach-nomadik/timer.c -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH 09/21] ARM: highbank: move SoC sources to mach-highbank
Move arch/arm/cpu/armv7/highbank/* -> arch/arm/mach-highbank/* Signed-off-by: Masahiro Yamada Cc: Rob Herring --- arch/arm/Kconfig| 2 +- arch/arm/Makefile | 1 + arch/arm/cpu/armv7/Makefile | 1 - arch/arm/{cpu/armv7/highbank => mach-highbank}/Kconfig | 0 arch/arm/{cpu/armv7/highbank => mach-highbank}/Makefile | 0 arch/arm/{cpu/armv7/highbank => mach-highbank}/timer.c | 0 6 files changed, 2 insertions(+), 2 deletions(-) rename arch/arm/{cpu/armv7/highbank => mach-highbank}/Kconfig (100%) rename arch/arm/{cpu/armv7/highbank => mach-highbank}/Makefile (100%) rename arch/arm/{cpu/armv7/highbank => mach-highbank}/timer.c (100%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2bae41a..de56ddf 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -690,7 +690,7 @@ source "arch/arm/mach-davinci/Kconfig" source "arch/arm/cpu/armv7/exynos/Kconfig" -source "arch/arm/cpu/armv7/highbank/Kconfig" +source "arch/arm/mach-highbank/Kconfig" source "arch/arm/cpu/armv7/keystone/Kconfig" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index ee25e48..7592e20 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -6,6 +6,7 @@ # by CONFIG_* macro name. machine-$(CONFIG_ARCH_AT91)+= at91 machine-$(CONFIG_ARCH_DAVINCI) += davinci +machine-$(CONFIG_ARCH_HIGHBANK)+= highbank # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD machine-$(CONFIG_KIRKWOOD) += kirkwood # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile index 254ca3d..7c63af9 100644 --- a/arch/arm/cpu/armv7/Makefile +++ b/arch/arm/cpu/armv7/Makefile @@ -43,7 +43,6 @@ obj-$(if $(filter bcm281xx,$(SOC)),y) += bcm281xx/ obj-$(if $(filter bcmcygnus,$(SOC)),y) += bcmcygnus/ obj-$(if $(filter bcmnsp,$(SOC)),y) += bcmnsp/ obj-$(CONFIG_ARCH_EXYNOS) += exynos/ -obj-$(CONFIG_ARCH_HIGHBANK) += highbank/ obj-$(CONFIG_ARCH_KEYSTONE) += keystone/ obj-$(if $(filter ls102xa,$(SOC)),y) += ls102xa/ obj-$(if $(filter mx5,$(SOC)),y) += mx5/ diff --git a/arch/arm/cpu/armv7/highbank/Kconfig b/arch/arm/mach-highbank/Kconfig similarity index 100% rename from arch/arm/cpu/armv7/highbank/Kconfig rename to arch/arm/mach-highbank/Kconfig diff --git a/arch/arm/cpu/armv7/highbank/Makefile b/arch/arm/mach-highbank/Makefile similarity index 100% rename from arch/arm/cpu/armv7/highbank/Makefile rename to arch/arm/mach-highbank/Makefile diff --git a/arch/arm/cpu/armv7/highbank/timer.c b/arch/arm/mach-highbank/timer.c similarity index 100% rename from arch/arm/cpu/armv7/highbank/timer.c rename to arch/arm/mach-highbank/timer.c -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [RFC PATCH 02/21] ARM: prepare for moving SoC sources into mach-*
In U-boot, the directory structure, arch/$(ARCH)/cpu/$(CPU)/$(SOC)/ has been adopted except that $(CPU) is missing from some architectures and $(SOC) is missing from some CPUs. This structure did not fit very well in some cases. [1] AT91 AT91 SoC family have been developed across some ARM processor generations. Generally speaking, some IPs are often re-used in the same SoC family (same SoC vendor) even when the main processor is updated. As a result, a SoC-common directory is needed in the upper level. Currently, AT91 source files are placed as follows: arch/arm/cpu/arm920t/at91/* arch/arm/cpu/arm926ejs/at91/* arch/arm/cpu/armv7/at91/* arch/arm/cpu/at91-common/* Once directories are split, the motivation for refactorings across CPU directories is lost. Some files in arm920t/at91/ and arm926ejs/at91/ are so similar that they could be merged. [2] Tegra Tegra is a little bit special case where different CPUs are used for SPL and the main U-boot. To obey the arch/$(ARCH)/cpu/$(CPU)/$(SOC) structure, the source files must be placed across the CPUs, again SoC-common directory is necessary in the upper level. Moreover, there are several families in Tegra: Tegra20, Tegra30, Tegra114, Tegra124. Here again, the tegra-common directory is needed to contain commonly-used files. Tegra directories have been sprinkled in the directory structure. arch/arm/cpu/arm720t/tegra20 arch/arm/cpu/arm720t/tegra30 arch/arm/cpu/arm720t/tegra114 arch/arm/cpu/arm720t/tegra124 arch/arm/cpu/arm720t/tegra-common arch/arm/cpu/armv7/tegra20 arch/arm/cpu/armv7/tegra30 arch/arm/cpu/armv7/tegra114 arch/arm/cpu/armv7/tegra124 arch/arm/cpu/armv7/tegra-common arch/arm/cpu/tegra20-common arch/arm/cpu/tegra30-common arch/arm/cpu/tegra114-common arch/arm/cpu/tegra124-common arch/arm/cpu/tegra-common As you see, splitting SoC code by the CPU is not going well, especially for ARM. Why don't we collect SoC-specific files into a single place? A good example we can follow is Linux's arch/arm/mach-* structure. This item was discussed in the following thread: http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/188548/ Looks like I got some positive responses and we are almost ready to start this movement. This commit prepares arch/arm/Makefile for describing machdirs in it. After this commit, we can move SoC directory to arch/arm/mach-$(SOC) in simple steps although some cases such as AT91 and Tegra need more fixes. What we generally have to do is: [1] Move files arch/arm/cpu/$(CPU)/$(SOC)/* to arch/arm/mach-$(SOC)/* [2] Add machine entry into arch/arm/Makefile [3] Remove "obj-y += $(SOC)" from arch/arm/cpu/$(CPU)/Makefile [4] Fix the Kconfig file path in arch/arm/Kconfig [5] Modify MAINTAINERS if necessary Signed-off-by: Masahiro Yamada --- arch/arm/Makefile | 10 ++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/Makefile b/arch/arm/Makefile index ebb7dc3..5da2c23 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -2,6 +2,13 @@ # SPDX-License-Identifier: GPL-2.0+ # +# Machine directory name. This list is sorted alphanumerically +# by CONFIG_* macro name. + +machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) + +libs-y += $(machdirs) + head-y := arch/arm/cpu/$(CPU)/start.o ifeq ($(CONFIG_SPL_BUILD),y) @@ -27,3 +34,6 @@ endif ifneq (,$(filter $(SOC), armada-xp kirkwood)) libs-y += arch/arm/mvebu-common/ endif + +# deprecated +-include $(machdirs)/config.mk -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [v3 PATCH 1/3] arm: mxs: Add debug outputs and comments to mxs SPL source files
It is difficult to track down fail to boot issues in the mxs SPL. Implement the following to make it easier: - Add debug outputs to allow tracing of SPL progress in order to track where failure to boot occurs. DEUBUG and CONFIG_SPL_SERIAL_SUPPORT must be defined to enable debug output in SPL - Add TODO comments where it is not clear if the code is doing what it is meant to be doing, even tough the board boots properly (these comments refer to existing code, not to any code added by this patch) Signed-off-by: Graeme Russ --- Changes in v2 - Add missing newlines - Add commit message Changed in v3 - None --- arch/arm/cpu/arm926ejs/mxs/spl_boot.c | 1 + arch/arm/cpu/arm926ejs/mxs/spl_lradc_init.c | 13 +++- arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c | 18 + arch/arm/cpu/arm926ejs/mxs/spl_power_init.c | 100 +++- 4 files changed, 127 insertions(+), 5 deletions(-) diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c index d29b9aa..2a5f817 100644 --- a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c +++ b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c @@ -147,6 +147,7 @@ void mxs_common_spl_init(const uint32_t arg, const uint32_t *resptr, mxs_iomux_setup_multiple_pads(iomux_setup, iomux_size); mxs_spl_console_init(); + debug("SPL: Serial Console Initialised\n"); mxs_power_init(); diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_lradc_init.c b/arch/arm/cpu/arm926ejs/mxs/spl_lradc_init.c index cdfcddd..96bd32f 100644 --- a/arch/arm/cpu/arm926ejs/mxs/spl_lradc_init.c +++ b/arch/arm/cpu/arm926ejs/mxs/spl_lradc_init.c @@ -18,6 +18,8 @@ void mxs_lradc_init(void) { struct mxs_lradc_regs *regs = (struct mxs_lradc_regs *)MXS_LRADC_BASE; + debug("SPL: Initialisating LRADC\n"); + writel(LRADC_CTRL0_SFTRST, ®s->hw_lradc_ctrl0_clr); writel(LRADC_CTRL0_CLKGATE, ®s->hw_lradc_ctrl0_clr); writel(LRADC_CTRL0_ONCHIP_GROUNDREF, ®s->hw_lradc_ctrl0_clr); @@ -37,9 +39,15 @@ void mxs_lradc_enable_batt_measurement(void) { struct mxs_lradc_regs *regs = (struct mxs_lradc_regs *)MXS_LRADC_BASE; + debug("SPL: Enabling LRADC battery measurement\n"); + /* Check if the channel is present at all. */ - if (!(readl(®s->hw_lradc_status) & LRADC_STATUS_CHANNEL7_PRESENT)) + if (!(readl(®s->hw_lradc_status) & LRADC_STATUS_CHANNEL7_PRESENT)) { + debug("SPL: LRADC channel 7 is not present - aborting\n"); return; + } + + debug("SPL: LRADC channel 7 is present - configuring\n"); writel(LRADC_CTRL1_LRADC7_IRQ_EN, ®s->hw_lradc_ctrl1_clr); writel(LRADC_CTRL1_LRADC7_IRQ, ®s->hw_lradc_ctrl1_clr); @@ -65,6 +73,7 @@ void mxs_lradc_enable_batt_measurement(void) 100, ®s->hw_lradc_delay3); writel(0x, ®s->hw_lradc_ch7_clr); - writel(LRADC_DELAY_KICK, ®s->hw_lradc_delay3_set); + + debug("SPL: LRADC channel 7 configuration complete\n"); } diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c b/arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c index 97ef67d..a744e5d 100644 --- a/arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c +++ b/arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c @@ -92,6 +92,7 @@ static uint32_t dram_vals[] = { __weak void mxs_adjust_memory_params(uint32_t *dram_vals) { + debug("SPL: Using default SDRAM parameters\n"); } #ifdef CONFIG_MX28 @@ -99,8 +100,10 @@ static void initialize_dram_values(void) { int i; + debug("SPL: Setting mx28 board specific SDRAM parameters\n"); mxs_adjust_memory_params(dram_vals); + debug("SPL: Applying SDRAM parameters\n"); for (i = 0; i < ARRAY_SIZE(dram_vals); i++) writel(dram_vals[i], MXS_DRAM_BASE + (4 * i)); } @@ -109,6 +112,7 @@ static void initialize_dram_values(void) { int i; + debug("SPL: Setting mx23 board specific SDRAM parameters\n"); mxs_adjust_memory_params(dram_vals); /* @@ -120,6 +124,7 @@ static void initialize_dram_values(void) * HW_DRAM_CTL8 is setup as the last element. * So skip the initialization of these HW_DRAM_CTL registers. */ + debug("SPL: Applying SDRAM parameters\n"); for (i = 0; i < ARRAY_SIZE(dram_vals); i++) { if (i == 8 || i == 27 || i == 28 || i == 35) continue; @@ -146,6 +151,8 @@ static void mxs_mem_init_clock(void) const unsigned char divider = 21; #endif + debug("SPL: Initialising FRAC0\n"); + /* Gate EMI clock */ writeb(CLKCTRL_FRAC_CLKGATE, &clkctrl_regs->hw_clkctrl_frac0_set[CLKCTRL_FRAC0_EMI]); @@ -170,6 +177,7 @@ static void mxs_mem_init_clock(void) &clkctrl_regs->hw_clkctrl_clkseq_clr); early_delay(1); + debug("SPL: FRAC0 Initialised\n"); } static void mxs_mem_setup_cpu_and_hbus(void) @@ -177,6 +185,8 @@ static void mxs_mem_setup_cpu_and_hbus
[U-Boot] [v3 PATCH 2/3] arm: mxs: Enable booting of mx28 without battery
Section 4.1.2 of Freescale Application Note AN4199 describes the configuration required to operate the mx28 from a 5V source without a battery. This patch changes the behaviour of the dropout control of the DC-DC converter (refer to section 11.12.9 of the mx28 Application Processor Reference Manual - Document Number: MCIMX28RM, Rev 2, 08/2013) to the following: - Always use 4P2 Linear Regulator if CONFIG_SYS_MXS_VDD5V_ONLY is defined - Switch between 4P2 Linear Regulator and Battery, using whichever has the highest voltage if CONFIG_SYS_MXS_VDD5V_ONLY isnot set (this is the same as the pre-patch behaviour) Signed-off-by: Graeme Russ Signed-off-by: Damien Gotfroi --- Changes in v2 - Implemented Damien Gotfroi's simplified version Changes in v3 - Updated commit message - Explicitly use POWER_DCDC4P2_DROPOUT_CTRL_SRC_4P2 for the DCDC4P2_DROPOUT_CONFIG define (it is 0x0 so it make no functional difference) --- arch/arm/cpu/arm926ejs/mxs/spl_power_init.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c index 7fb734e..c342217 100644 --- a/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c +++ b/arch/arm/cpu/arm926ejs/mxs/spl_power_init.c @@ -14,6 +14,13 @@ #include "mxs_init.h" +#ifdef CONFIG_SYS_MXS_VDD5V_ONLY +#define DCDC4P2_DROPOUT_CONFIG POWER_DCDC4P2_DROPOUT_CTRL_100MV | \ + POWER_DCDC4P2_DROPOUT_CTRL_SRC_4P2 +#else +#define DCDC4P2_DROPOUT_CONFIG POWER_DCDC4P2_DROPOUT_CTRL_100MV | \ + POWER_DCDC4P2_DROPOUT_CTRL_SRC_SEL +#endif /** * mxs_power_clock2xtal() - Switch CPU core clock source to 24MHz XTAL * @@ -303,8 +310,7 @@ static void mxs_power_init_4p2_params(void) clrsetbits_le32(&power_regs->hw_power_dcdc4p2, POWER_DCDC4P2_DROPOUT_CTRL_MASK, - POWER_DCDC4P2_DROPOUT_CTRL_100MV | - POWER_DCDC4P2_DROPOUT_CTRL_SRC_SEL); + DCDC4P2_DROPOUT_CONFIG); clrsetbits_le32(&power_regs->hw_power_5vctrl, POWER_5VCTRL_CHARGE_4P2_ILIMIT_MASK, -- 1.9.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [v3 PATCH 3/3] arm: mxs: Add 'Wait for JTAG user' if booted in JTAG mode
When booting in JTAG mode, there is no way to use soft break-points, and no way of knowing when SPL has finished executing (so the user can issue a 'halt' command to load u-boot.bin for example) Add a debug output and simple loop to stop execution at the completion of the SPL initialisation as a pseudo break-point when booting in JTAG mode Signed-off-by: Graeme Russ --- Changes in v2 - Added and used boot mode #defines Changes in v3 - Removed extra new-line --- arch/arm/cpu/arm926ejs/mxs/spl_boot.c | 5 + arch/arm/include/asm/arch-mxs/sys_proto.h | 17 + 2 files changed, 22 insertions(+) diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c index 2a5f817..d7956e5 100644 --- a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c +++ b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c @@ -157,6 +157,11 @@ void mxs_common_spl_init(const uint32_t arg, const uint32_t *resptr, data->boot_mode_idx = bootmode; mxs_power_wait_pswitch(); + + if (mxs_boot_modes[data->boot_mode_idx].boot_pads == MXS_BM_JTAG) { + debug("SPL: Waiting for JTAG user\n"); + asm volatile ("x: b x"); + } } /* Support aparatus */ diff --git a/arch/arm/include/asm/arch-mxs/sys_proto.h b/arch/arm/include/asm/arch-mxs/sys_proto.h index 062f3de..4678723 100644 --- a/arch/arm/include/asm/arch-mxs/sys_proto.h +++ b/arch/arm/include/asm/arch-mxs/sys_proto.h @@ -74,6 +74,23 @@ static const struct mxs_pair mxs_boot_modes[] = { #endif }; +#define MXS_BM_USB 0x00 +#define MXS_BM_I2C_MASTER_3V3 0x01 +#define MXS_BM_I2C_MASTER_1V8 0x11 +#define MXS_BM_SPI2_MASTER_3V3_NOR 0x02 +#define MXS_BM_SPI2_MASTER_1V8_NOR 0x12 +#define MXS_BM_SPI3_MASTER_3V3_NOR 0x03 +#define MXS_BM_SPI3_MASTER_1V8_NOR 0x13 +#define MXS_BM_NAND_3V30x04 +#define MXS_BM_NAND_1V80x14 +#define MXS_BM_JTAG0x06 +#define MXS_BM_SPI3_MASTER_3V3_EEPROM 0x08 +#define MXS_BM_SPI3_MASTER_1V8_EEPROM 0x18 +#define MXS_BM_SDMMC0_3V3 0x09 +#define MXS_BM_SDMMC0_1V8 0x19 +#define MXS_BM_SDMMC1_3V3 0x0a +#define MXS_BM_SDMMC1_1V8 0x1a + struct mxs_spl_data { uint8_t boot_mode_idx; uint32_tmem_dram_size; -- 1.9.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [v3 PATCH 0/3] Add support for booting mx28 boards without a battery
This series adds support for booting mx28 based boards which do not include a battery as per Freescale application note AN4199 Patch 1 adds SPL debug output to help track down where early init of the power block and SDRAM fails (define DEBUG and CONFIG_SPL_SERIAL_SUPPORT in order to enable) Patch 2 (which implements booting without a battery) is based on a patch submitted to the Freescale community forums by Damien Gotfroi (define CONFIG_SYS_MXS_VDD5V_ONLY to enable) Patch 3 adds a useful halt upon completion of SPL in the case that the board is booted in JTAG mode. If SPL debug is enabled, 'Waiting for JTAG user' will be printed to the console when SPL has completed Changes in v2 - Dropped patch which adds Reachtech G2C1 board in order to allow the 'no battery' functionality to be mainlined as soon as possible - Removed the patch which moved the PLL power up from spl_power_init.c to spl_mem_init.c - This patch will be considered in future rework of the power block and SDRAM initialisation code Changes in v3 - Clarified commit message for patch 2 - Used explicit define in patch 2 (define == 0x00, so no functional change) - Removed extra blank line from patch #3 Graeme Russ (3): arm: mxs: Add debug outputs and comments to mxs SPL source files arm: mxs: Enable booting of mx28 without battery arm: mxs: Add 'Wait for JTAG user' if booted in JTAG mode arch/arm/cpu/arm926ejs/mxs/spl_boot.c | 6 ++ arch/arm/cpu/arm926ejs/mxs/spl_lradc_init.c | 13 +++- arch/arm/cpu/arm926ejs/mxs/spl_mem_init.c | 18 + arch/arm/cpu/arm926ejs/mxs/spl_power_init.c | 110 ++-- arch/arm/include/asm/arch-mxs/sys_proto.h | 17 + 5 files changed, 157 insertions(+), 7 deletions(-) -- 1.9.3 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 03/12] net: Use new checksum functions
On Mon, Jan 19, 2015 at 11:16 PM, Simon Glass wrote: > > Drop the old checksum functions in favour of the new ones. > > Signed-off-by: Simon Glass Looks good to me. Acked-by: Joe Hershberger Thanks! -Joe ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Please pull u-boot-fsl-qoriq master
Tom, The following changes since commit 37b608a52dcb13312a4f7ccea199cd6bac76d298: powerpc: remove icecube_5200, Lite5200, cpci5200, mecp5200, pf5200 (2015-01-23 16:56:09 -0500) are available in the git repository at: git://git.denx.de/u-boot-fsl-qoriq.git master for you to fetch changes up to 41ba57d0c7968506ddcc71604bd39131acf6ee23: fsl/ls1021qds: Add deep sleep support (2015-01-24 09:12:32 -0600) Alison Wang (5): ls102xa: etsec: Select ge0_clk125 for eTSEC clock muxing as default arm: ls102xa: Update snoop settings for CCI-400 ls102xa: fdt: Disable QSPI and DSPI in NOR/NAND/SD boot arm: ls102xa: Add LPUART support for LS1021AQDS board arm: ls102xa: Add LPUART support for LS1021ATWR board Ruchika Gupta (2): arm: ls102xa: Add dummy gpio.h to enable CONFIG_OF_CONTROL crypto/fsl: Add fixup for crypto node Xiubo Li (1): ls102xa: dcu: Add platform support for DCU on LS1021AQDS board York Sun (1): arm/ls1021a: Add workaround for DDR erratum A008378 tang yuantian (2): ARM: HYP/non-sec: Make variable gic_dist_addr as a local one fsl/ls1021qds: Add deep sleep support arch/arm/cpu/armv7/ls102xa/fdt.c | 49 ++ arch/arm/cpu/armv7/virt-v7.c |9 +- arch/arm/include/asm/arch-ls102xa/config.h|5 + arch/arm/include/asm/arch-ls102xa/gpio.h | 15 ++ arch/arm/include/asm/arch-ls102xa/immap_ls102xa.h |4 + arch/powerpc/cpu/mpc8xxx/fdt.c| 170 --- arch/powerpc/include/asm/config.h |1 + board/freescale/ls1021aqds/MAINTAINERS|1 + board/freescale/ls1021aqds/Makefile |1 + board/freescale/ls1021aqds/dcu.c | 92 +++ board/freescale/ls1021aqds/ddr.c | 17 ++ board/freescale/ls1021aqds/ls1021aqds.c | 86 +- board/freescale/ls1021aqds/ls1021aqds_qixis.h |2 + board/freescale/ls1021atwr/MAINTAINERS|1 + board/freescale/ls1021atwr/ls1021atwr.c | 25 +-- configs/ls1021aqds_nor_lpuart_defconfig |3 + configs/ls1021atwr_nor_lpuart_defconfig |3 + drivers/crypto/fsl/Makefile |1 + drivers/crypto/fsl/sec.c | 184 + drivers/ddr/fsl/fsl_ddr_gen4.c|8 + include/configs/ls1021aqds.h | 41 - include/configs/ls1021atwr.h | 12 ++ include/fsl_ddr.h |6 + 23 files changed, 545 insertions(+), 191 deletions(-) create mode 100644 arch/arm/include/asm/arch-ls102xa/gpio.h create mode 100644 board/freescale/ls1021aqds/dcu.c create mode 100644 configs/ls1021aqds_nor_lpuart_defconfig create mode 100644 configs/ls1021atwr_nor_lpuart_defconfig create mode 100644 drivers/crypto/fsl/sec.c Thanks. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 2/2] fsl/ls1021qds: Add deep sleep support
On 12/16/2014 10:58 PM, Tang Yuantian wrote: > Add deep sleep support on Freescale LS1021QDS platform. > > Signed-off-by: Tang Yuantian > --- > based on: u-boot-fsl-qoriq master. > depends on patch: http://patchwork.ozlabs.org/patch/420999/ > which is applied to u-boot-mpc85xx master, awaiting upstream. > v2: > - added sd boot deep sleep support > Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/2] arm: ls102xa: Add LPUART support for LS1021ATWR board
On 01/04/2015 01:30 AM, Alison Wang wrote: > This patch adds LPUART support for LS1021ATWR board. > For ls1021atwr_nor_lpuart_defconfig, LPUART is used as the console. > > Signed-off-by: Alison Wang > --- Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] arm: ls102xa: Add LPUART support for LS1021AQDS board
On 01/04/2015 01:30 AM, Alison Wang wrote: > This patch adds LPUART support for LS1021AQDS board. > For ls1021aqds_nor_lpuart_defconfig, LPUART is used as the console. > > Signed-off-by: Alison Wang > --- Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ls102xa: fdt: Disable QSPI and DSPI in NOR/NAND/SD boot
On 12/25/2014 11:14 PM, Alison Wang wrote: > As QSPI/DSPI and IFC are pin multiplexed, QSPI and DSPI are > only enabled in QSPI boot, and disabled in other boot modes. > IFC is enabled in NOR/NAND/SD boot, and disabled in QSPI boot. > This patch will add fdt support for the above rules. > > Signed-off-by: Alison Wang > --- Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] arm: ls102xa: Update snoop settings for CCI-400
On 01/15/2015 03:29 AM, Alison Wang wrote: > CAAM is connected to CCI-400 S0 slave interface. Disable snooping for > S0 will cause CAAM self test failure. This patch is to enable snooping > for S0 slave interface. These CCI-400 operations are moved to > board_early_init_f() to be initialized earlier. For S4 slave interface, > issuing of snoop requests and DVM message requests are enabled. > > Signed-off-by: Alison Wang > --- Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 1/2] ARM: HYP/non-sec: Make variable gic_dist_addr as a local one
On 12/16/2014 10:58 PM, Tang Yuantian wrote: > Defining variable gic_dist_addr as a globe one prevents some > functions, which use it, from being used before relocation > which is the case in the deep sleep resume process on Freescale > SoC platforms. > Besides, we can always get the GIC base address by calling > get_gicd_base_address() without referring gic_dist_addr. > > Signed-off-by: Tang Yuantian > --- > v2: > - change variable gic_dist_addr back as local > Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] ls102xa: dcu: Add platform support for DCU on LS1021AQDS board
On 12/16/2014 12:50 AM, Xiubo Li wrote: > This patch adds the CH7301 HDMI options and the common configuration > for DCU on LS1021AQDS board. > > Signed-off-by: Xiubo Li > Signed-off-by: Alison Wang > Cc: Jason Jin > --- Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] crypto/fsl: Add fixup for crypto node
On 12/15/2014 12:00 AM, Ruchika Gupta wrote: > Era property is added in the crypto node in device tree. > Move the code to do so from arch/powerpc/mpc8xxx/fdt.c to > drivers/sec/sec.c so that it can be used across arm and > powerpc platforms having crypto node. > > Signed-off-by: Ruchika Gupta > --- Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] arm: ls102xa: Add dummy gpio.h to enable CONFIG_OF_CONTROL
On 12/10/2014 12:17 AM, Ruchika Gupta wrote: > If CONFIG_OF_CONTROL is enabled, lib/fdtdec.c is compiled. > It includes and then includes > . As a result, all the SoCs that enable > CONFIG_OF_CONTROL must have even if they > do not support GPIO. > > The right fix would be to split the lib/fdtdec.c to remove > dependency on GPIO.This commit adds a dummy > to support OF_CONTROL for LS102x platform. This dummy header > will be removed after FDT-GPIO stuff is fixed correctly. > > Signed-off-by: Ruchika Gupta > --- Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC PATCH] dm:spi:fsl_qspi add DM support
Hi, Simon On 1/23/2015 6:29 AM, Simon Glass wrote: Hi Peng, On 16 January 2015 at 22:59, Peng Fan wrote: Hi Simon ,Jagan This patch is based on git://git.denx.de/u-boot-spi.git master branch, since some fsl_qspi's new feature is still in this git repo and have not been merged to mainline. I saw Simon sent out a new patch that remove the per_child_auto_alloc_size from the platforms' driver code and move it to spi uclass driver. In this patch I do not remove it, since this is a RFC version, and Jagan's spi git repo still has it. I can remove it in formal version if needed. Please take your time to review and comment this patch. Thanks. This patch adds DM support for fsl_qspi driver, the DM part needs device tree support. Partial of the original driver code is reused, such as the AHB part, the LUT initialization and etc. The driver now supports new DM and original driver by define "CONFIG_DM_SPI". Until device tree is integrated, the original part can be discarded. The driver code file is now as following: " Common code that needs both by DM or original driver code. #if defined(CONFIG_DM_SPI) DM part #else Original driver code #endif " In DM part, some reconstruction is done. A fsl_qspi_runcmd is included to simplify the code, but not the original qspi_op_s. fsl_qspi_get_seqid is included to get seqid, but not hardcoded in original qspi_op_s. Not sure where this driver is going - I'm happy to pick it up if you work things out with Jagan. For now I'll just make a few comments, in case they are useful. Thanks for your comments. Since some features in spi repo of Jagan are not into mainline, if DM support is not based on with the spi repo, more work from your side will needed to resolve merging conflict. Also i'd like to do this with the new qspi driver. Signed-off-by: Peng Fan --- drivers/spi/fsl_qspi.c | 420 +++-- drivers/spi/fsl_qspi.h | 1 + 2 files changed, 405 insertions(+), 16 deletions(-) diff --git a/drivers/spi/fsl_qspi.c b/drivers/spi/fsl_qspi.c index 5e0b069..ee151b3 100644 --- a/drivers/spi/fsl_qspi.c +++ b/drivers/spi/fsl_qspi.c @@ -13,6 +13,13 @@ #include #include "fsl_qspi.h" +#ifdef CONFIG_DM_SPI Shouldn't need these #ifdefs around header files. will remove uneccesary `ifdefs` +#include +#include +#include +#include +#endif + #define RX_BUFFER_SIZE 0x80 #ifdef CONFIG_MX6SX #define TX_BUFFER_SIZE 0x200 @@ -71,27 +78,41 @@ #define qspi_write32 out_be32 #endif -static unsigned long spi_bases[] = { - QSPI0_BASE_ADDR, -#ifdef CONFIG_MX6SX - QSPI1_BASE_ADDR, -#endif -}; +#ifdef CONFIG_DM_SPI +DECLARE_GLOBAL_DATA_PTR; +#define QUADSPI_AHBMAP_BANK_MAXSIZESZ_64M -static unsigned long amba_bases[] = { - QSPI0_AMBA_BASE, -#ifdef CONFIG_MX6SX - QSPI1_AMBA_BASE, -#endif +struct fsl_qspi_platdata { + u32 max_hz; + u32 reg_base; + u32 amba_base; + u32 flash_num; }; struct fsl_qspi { + u32 reg_base; + u32 amba_base; Should these be structure pointers? Yeah. using structure pointer for reg_base is better. + size_t cmd_len; + u8 cmd_buf[32]; + size_t data_len; + int qspi_is_init; + size_t flash_size; + u32 bank_memmap_phy[4]; + int cs; Do you need cs in here? The per-child platform data has it if you base it on u-boot-dm/i2c-working (which is what I suggest). I need `cs` to configure qspi controller each time `sf probe bus:cs`. If not use `cs` to configure controller, wrong chips will be accessed. I'll look into i2c-working branch to see how to use it. + u32 sf_addr; + int flash_num; + u8 cur_seqid; + u32 freq; +}; +#else Will there still be non-driver-model users of this driver? Can we convert them over? yeah. The platforms that using this driver does not support DM/DT in their default configuration file, so i'd like this driver support DM and no-DM. +struct fsl_qspi { struct spi_slave slave; unsigned long reg_base; unsigned long amba_base; u32 sf_addr; u8 cur_seqid; }; +#endif /* QSPI support swapping the flash read/write data * in hardware for LS102xA, but not for VF610 */ @@ -104,11 +125,6 @@ static inline u32 qspi_endian_xchg(u32 data) #endif } -static inline struct fsl_qspi *to_qspi_spi(struct spi_slave *slave) -{ - return container_of(slave, struct fsl_qspi, slave); -} - static void qspi_set_lut(struct fsl_qspi *qspi) { struct fsl_qspi_regs *regs = (struct fsl_qspi_regs *)qspi->reg_base; @@ -367,6 +383,377 @@ static void qspi_init_ahb_read(struct fsl_qspi_regs *regs) } #endif +#ifdef CONFIG_DM_SPI +/* Get the SEQID for the command
Re: [U-Boot] [PATCH v1] ls102xa: etsec: Select ge0_clk125 for eTSEC clock muxing as default
On 12/09/2014 03:38 AM, Alison Wang wrote: > This patch reverts to use ge0_clk125 for eTSEC clock muxing. For SAI and > CAN which are pin multiplexed with RGMII1 in EC1 of RCW, ge2_clk125 will > be used via hwconfig. > > Signed-off-by: Bhupesh Sharma > Signed-off-by: Alison Wang > --- Applied to u-boot-fsl-qoriq master branch, awaiting upstream. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 4/4] dm:gpio:mxc add DT support
Hi Simon, On 1/23/2015 5:26 AM, Simon Glass wrote: Hi Peng, On 21 January 2015 at 04:09, Peng Fan wrote: This patch add DT support for mxc gpio driver. There are one place using CONFIG_OF_CONTROL macro. 1. The U_BOOT_DEVICES and mxc_plat array are complied out. To DT, platdata is alloced using calloc, so there is no need to use mxc_plat. The following situations are tested, and all work fine: 1. with DM, without DT 2. with DM and DT 3. without DM Since device tree has not been upstreamed, if want to test this patch. The followings need to be done. + pieces of code does not gpio_request when using gpio_direction_xxx and etc, need to request gpio. + move the gpio settings from board_early_init_f to board_init + define CONFIG_DM ,CONFIG_DM_GPIO and CONFIG_OF_CONTROL + Add device tree file and do related configuration in `make ARCH=arm menuconfig` These will be done in future patches by step. Signed-off-by: Peng Fan --- drivers/gpio/mxc_gpio.c | 69 + 1 file changed, 52 insertions(+), 17 deletions(-) diff --git a/drivers/gpio/mxc_gpio.c b/drivers/gpio/mxc_gpio.c index c52dd19..0766b78 100644 --- a/drivers/gpio/mxc_gpio.c +++ b/drivers/gpio/mxc_gpio.c @@ -151,6 +151,9 @@ int gpio_direction_output(unsigned gpio, int value) #endif #ifdef CONFIG_DM_GPIO +#include +DECLARE_GLOBAL_DATA_PTR; + static int mxc_gpio_is_output(struct gpio_regs *regs, int offset) { u32 val; @@ -259,23 +262,6 @@ static const struct dm_gpio_ops gpio_mxc_ops = { .get_function = mxc_gpio_get_function, }; -static const struct mxc_gpio_plat mxc_plat[] = { - { 0, (struct gpio_regs *)GPIO1_BASE_ADDR }, - { 1, (struct gpio_regs *)GPIO2_BASE_ADDR }, - { 2, (struct gpio_regs *)GPIO3_BASE_ADDR }, -#if defined(CONFIG_MX25) || defined(CONFIG_MX27) || defined(CONFIG_MX51) || \ - defined(CONFIG_MX53) || defined(CONFIG_MX6) - { 3, (struct gpio_regs *)GPIO4_BASE_ADDR }, -#endif -#if defined(CONFIG_MX27) || defined(CONFIG_MX53) || defined(CONFIG_MX6) - { 4, (struct gpio_regs *)GPIO5_BASE_ADDR }, - { 5, (struct gpio_regs *)GPIO6_BASE_ADDR }, -#endif -#if defined(CONFIG_MX53) || defined(CONFIG_MX6) - { 6, (struct gpio_regs *)GPIO7_BASE_ADDR }, -#endif -}; - static int mxc_gpio_probe(struct udevice *dev) { struct mxc_bank_info *bank = dev_get_priv(dev); @@ -296,12 +282,60 @@ static int mxc_gpio_probe(struct udevice *dev) return 0; } +static int mxc_gpio_bind(struct udevice *device) s/device/dev/ as that is the convention. Will fix this. +{ + struct mxc_gpio_plat *plat = device->platdata; + struct gpio_regs *regs; + + if (plat) + return 0; Please add a comment as to why. Ok. + + regs = dev_get_addr(device); + if (!regs) + return -ENXIO; -ENODEV I think? Yeah. Right. + + plat = calloc(1, sizeof(*plat)); + if (!plat) + return -ENOMEM; Can you use the auto-alloc feature instead? Trying to keep memory allocations out of drivers unless it is for buffers, etc. I want the DM code can support DT and no DT. To no DT, platdata is defined in U_BOOT_DEVICES. If using auto-alloc feature, but DT is not supported, is it conflict with platdata in U_BOOT_DEVICES? + + plat->regs = regs; + plat->bank_index = device->req_seq; Why store this? You can access it anytime using the device pointer. To no DT, bank_index is statically intialized in mxc_plat array. I do not want to introudce `#ifdef CONFIG_OF_CONTROL` in probe function and introudce `if (dev->of_offset == -1)`, so store it to bank_index. To no DT, `if(plat) return 0;` will return. So plat->bank_index = device->req_seq will only effects for DT. Just want to support DT and no DT. + device->platdata = plat; + + return 0; +} + +static const struct udevice_id mxc_gpio_ids[] = { + { .compatible = "fsl,imx35-gpio" }, + { } +}; + U_BOOT_DRIVER(gpio_mxc) = { .name = "gpio_mxc", .id = UCLASS_GPIO, .ops= &gpio_mxc_ops, .probe = mxc_gpio_probe, .priv_auto_alloc_size = sizeof(struct mxc_bank_info), + .of_match = mxc_gpio_ids, Masahiro added a function for this.: .of_match = of_match_ptr(mxc_gpio_ids), But I'm not completely sure if this is wanted, since you include this information even when not using device tree. Thanks,I'll try this. I am not sure whether using of_match_ptr will make compiler complain mxc_gpio_ids `defined but not used` for no DT, since `#ifdef xx` is not recommended to compiled out `mxc_gpio_ids` for no DT. + .bind = mxc_gpio_bind, +}; + +#ifndef CONFIG_OF_CONTROL +static const struct mxc_gpio_plat mxc_plat[] = { + { 0, (struct gpio_regs *)GPIO1_BASE_ADDR }, + { 1, (struct gpio_regs *)GPIO2_BASE_ADDR }, + { 2, (struct gpio_regs *)GPIO3_BASE_ADDR }, +#if defined(CONF
Re: [U-Boot] [PATCH v2 06/26] dm: core: Allocate platform data when binding a device
Hi Masahiro, On 23 January 2015 at 22:04, Masahiro YAMADA wrote: > Hi Simon, > > > 2015-01-24 0:50 GMT+09:00 Simon Glass : > >> >> I tried to document the reasoning in the patches, but let me try to >> expand a bit. Hopefully this can provoke further comments / >> improvements. >> >> The main motivation for me was that buses want to set up the platform >> data for their children before they are probed. In fact some children >> may never be probed. For example a SPI bus wants to know the chip >> select for each of its children. >> >> At present we have to hunt around in the device tree to figure out >> which child is the right one, so we can probe it. Worse, the >> children's drivers (e.g. cros_ec on a SPI bus) have to be involved in >> setting themselves up. The device_probe_child() function was my >> attempt to make this fit better, and it did work, but I was not happy >> with it. You can see that from my unhappy comments in cros_ec, or SPI >> flash probe, for example. >> >> The new approach makes buses easier to deal with as I hope you can >> see. The 'bind' step is supposed to set up the entire basic framework >> of the drivers at start-up. Everything should be visible in the tree >> (the exception being buses which must be probed at run-time) but >> nothing should be probed. Now, we are following that approach for >> buses also. > > OK. > I understand that this concept makes things much simpler, so > > Reviewed-by: Masahiro Yamada > OK I will respin this series. > > Perhaps, we can have a flag like DM_FLAG_ALLOC_PLATDATA_LATE: > If this flag is set, platdata is allocated in device_probe(), not > device_bind(). > But, I think it might make things much more complicated and > probably make you unhappy. > I do not have a strong option about this. > Well I'm keen on anything that makes it more efficient, but yes if we can keep it simple we should do that for now. Let's see how things pan out. > > Let's go with your idea! > If something does not go well, then we can come back here. > > Yes we can. > > >> Re the disadvantages: >> >> - the per-child platform data for a bus is small, and we need not bind >> devices which are disabled. So, a board should avoid having a lot of >> enabled devices which are never used >> - malloc() is very fast, it is the platform data setup that takes >> time. I agree this slows things down. But currently it only affects >> bus children, and only their basic information such as chip select. >> >> The use of ofdata_to_platdata() is stil confined to when the device is >> actually probed. This helps to keep things fast in the common case >> where we don't need the platform data earlier. >> >> I think we can refine this further, but what I have now feels a lot >> cleaner to me. > > OK! > > > > I have done with a quick review of this series. > > I left some comments on some patches,but they are all minor issues. > > If you agree to fix them, please send v3. > I am OK with the whole concept, so I guess we can get it in during this MW. Will do. Thanks very much for going through this in detail. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] U-Boot on Sparc leon3
Hi Florian, On 23 January 2015 at 04:16, Florian Praden wrote: > Hi, > > I'm trying to build u-boot for a new gaisler board (gr-pci-xc5v-LX110T). > > I have some trouble with the leon3/start.S and the linking process > so I tried to build u-boot from a fresh clean GIT source with the board on > board/gaisler/gr_xc3s_1500 which should be supported. > > And I'm having the same linking problem. > > I have already tried the u-boot 1.3.3 which is working on my board > (booting, but the flash is not supported). > > The linking problem is the following: > > On version v2013.04: > > * In the relocation loop, the start.S define 2 variables which is set during > the > link: > = > /* un relocated start address of monitor */ > #define TEXT_START _text > > /* un relocated end address of monitor */ > #define DATA_END __init_end > > reloc: > set TEXT_START,%g2 > set DATA_END,%g3 > set CONFIG_SYS_RELOC_MONITOR_BASE,%g4 > reloc_loop: > = > > * compiling this start.S give the following relocation record > = > RELOCATION RECORDS FOR [.text]: > OFFSET TYPE VALUE > 009c R_SPARC_WDISP30 cpu_init_f > 00a4 R_SPARC_HI22 _text > 00a8 R_SPARC_LO10 _text > 00ac R_SPARC_HI22 __init_end > 00b0 R_SPARC_LO10 __init_end > = > with the following assembly code: > = > 00a4 : > a4: 05 00 00 00 sethi %hi(0), %g2 > a8: 84 10 a0 00 mov %g2, %g2 ! 0 <_hardreset> > ac: 07 00 00 00 sethi %hi(0), %g3 > b0: 86 10 e0 00 mov %g3, %g3 ! 0 <_hardreset> > b4: 09 10 fe 38 sethi %hi(0x43f8e000), %g4 > > 00b8 : > = > > For now, everythings is normal. > > After the linking process, I've the following elf: > > = > 10a4 : > 10a4: 05 00 00 03 sethi %hi(0xc00), %g2 > 10a8: 84 10 a1 3c or %g2, 0x13c, %g2 ! d3c > 10ac: 07 00 00 03 sethi %hi(0xc00), %g3 > 10b0: 86 10 e1 30 or %g3, 0x130, %g3 ! d30 > 10b4: 09 10 fe 38 sethi %hi(0x43f8e000), %g4 > = > And the associated .map: > > = > .text 0x0x2d2b8 > 0x_load_addr = . > 0x_text = . > [...] > .data.init > *(.data.init) > 0x0003. = ALIGN (0x1000) > 0x0003__init_end = . > 0x0003__bss_start = . > = > > And the others symbol in this start.S are not defined correctly either. > > On the v2013.01 version, I've the same intermediate file but the following > u-boot elf: > > = > 10a4 : > 10a4: 05 00 00 00 sethi %hi(0), %g2 > 10a8: 84 10 a0 00 mov %g2, %g2 ! 0 <_load_addr> > 10ac: 07 00 00 c0 sethi %hi(0x3), %g3 > 10b0: 86 10 e0 00 mov %g3, %g3 ! 3 <__bss_start> > 10b4: 09 10 fe 38 sethi %hi(0x43f8e000), %g4 > = > > Which is what I expected. > > On IRC, Marex give me the advice to check with git bisect and find the commit > which (I think) break the linking process. > And It found this one: > = > eb33809f70e3d3a2c1fba043e56cca8fccedbe0c is the first bad commit > commit eb33809f70e3d3a2c1fba043e56cca8fccedbe0c > Author: Simon Glass > Date: Tue Mar 5 14:40:03 2013 + > > sparc: Fix out-of-tree building > > It isn't clear why the sparc cpu Makefile has its own compile line, but > it does not work correctly with an out-of-tree build. Removing it fixes > this problem. Perhaps it does not introduce others. > > Signed-off-by: Simon Glass > > :04 04 39dc0c7a3ff2feadaddeda1b7938502f30f2ed76 > 7e77469d3aa8550d3f712470d45ef73e46b217b8 M arch > bisect run success > > > Which corresponds to remove the specific makefile for sparc. > > > So what did i do wrong or misunderstund about the compiling u-boot process? > Why removing specific compile process for sparc? It looks like the compile line was needed, although I'm not sure why. It used to say: $(START): $(START:.o=.S) $(CC) -D__ASSEMBLY__ $(DBGFLAGS) $(OPTFLAGS) -D__KERNEL__ \ -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE) -I$(TOPDIR)/include \ -fno-builtin -ffreestanding -nostdinc -isystem $(gccincdir) -pipe \ $(PLATFORM_CPPFLAGS) -Wall -Wstrict-prototypes \ -I$(TOPDIR)/board -c -o $(START) $(START:.o=.S) I don't see anything in there that does something special with compiler flags, but there must be some difference. You could try comparing the compiler flags that are used with start.S in each case. There may be some sort of difference, and then you can add it to PLATFORM_CPPFLAGS or perhaps your arch/xxx/config.mk. Re your second question, compilation is handled
Re: [U-Boot] [PATCH v4 2/3] pmic:pfuze implement pmic_mode_init
Hi, Stefano On 1/22/2015 6:30 PM, Stefano Babic wrote: On 16/01/2015 17:05, Peng Fan wrote: This patch is to implement pmic_mode_init function, and add prototype in header file. This function is to set switching mode for pmic buck regulators to improve system efficiency. Mode: OFF: The regulator is switched off and the output voltage is discharged. PFM: In this mode, the regulator is always in PFM mode, which is useful at light loads for optimized efficiency. PWM: In this mode, the regulator is always in PWM mode operation regardless of load conditions. APS: In this mode, the regulator moves automatically between pulse skipping mode and PWM mode depending on load conditions. Signed-off-by: Peng Fan --- Changes v4: Take Fabio's comments, fix return value using -EINVAL when error. Changes v3: delete the new feature, it is fine to use the original v1 patch version Changes v2: implement new feature to configure one regulator board/freescale/common/pfuze.c | 36 board/freescale/common/pfuze.h | 1 + 2 files changed, 37 insertions(+) diff --git a/board/freescale/common/pfuze.c b/board/freescale/common/pfuze.c index 2cd1794..c2a0105 100644 --- a/board/freescale/common/pfuze.c +++ b/board/freescale/common/pfuze.c @@ -8,6 +8,42 @@ #include #include +int pfuze_mode_init(struct pmic *p, u32 mode) +{ + unsigned char offset, i, switch_num; + u32 id, ret; + + pmic_reg_read(p, PFUZE100_DEVICEID, &id); + id = id & 0xf; + + if (id == 0) { + switch_num = 6; + offset = PFUZE100_SW1CMODE; + } else if (id == 1) { + switch_num = 4; + offset = PFUZE100_SW2MODE; + } else { + printf("Not supported, id=%d\n", id); + return -EINVAL; + } + + ret = pmic_reg_write(p, PFUZE100_SW1ABMODE, mode); + if (ret < 0) { + printf("Set SW1AB mode error!\n"); + return ret; + } + + for (i = 0; i < switch_num - 1; i++) { + ret = pmic_reg_write(p, offset + i * 7, mode); Even if it looks clear why, I would suggest a define into pfuze100_pmic.h such as "SIZEOF_SWITCH (or what you prefer)" and drop the constant here. The switch_num is dynamically set according to deviceid. I think hardcode it using a macro is not a good idea. + if (ret < 0) { + printf("Set switch%x mode error!\n", offset + i * 7); + return ret; + } + } + + return ret; +} + struct pmic *pfuze_common_init(unsigned char i2cbus) { struct pmic *p; diff --git a/board/freescale/common/pfuze.h b/board/freescale/common/pfuze.h index 7a4126c..53cfc99 100644 --- a/board/freescale/common/pfuze.h +++ b/board/freescale/common/pfuze.h @@ -8,5 +8,6 @@ #define __PFUZE_BOARD_HELPER__ struct pmic *pfuze_common_init(unsigned char i2cbus); +int pfuze_mode_init(struct pmic *p, u32 mode); #endif Best regards, Stefano Babic Regards, Peng. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] x86: Remove CONFIG_SATA_INTEL from x86-common.h
On 24 January 2015 at 02:17, Bin Meng wrote: > CONFIG_SATA_INTEL is not referenced anywhere, so remove it. > > Signed-off-by: Bin Meng > --- > > include/configs/x86-common.h | 1 - > 1 file changed, 1 deletion(-) Acked-by: Simon Glass ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 10/12] x86: config: Enable hook for saving MRC configuration
On 19 January 2015 at 23:04, Bin Meng wrote: > On Tue, Jan 20, 2015 at 1:16 PM, Simon Glass wrote: >> Add a hook to ensure that this information is saved. >> >> Signed-off-by: Simon Glass >> --- >> >> Changes in v3: >> - Add misc_init_r() call for link now that it is shared with chromebook_link >> >> Changes in v2: None >> >> arch/x86/cpu/coreboot/coreboot.c | 5 + >> include/configs/chromebook_link.h | 1 + >> 2 files changed, 6 insertions(+) >> >> diff --git a/arch/x86/cpu/coreboot/coreboot.c >> b/arch/x86/cpu/coreboot/coreboot.c >> index 6d06d5a..4cdd0d4 100644 >> --- a/arch/x86/cpu/coreboot/coreboot.c >> +++ b/arch/x86/cpu/coreboot/coreboot.c >> @@ -99,3 +99,8 @@ void panic_puts(const char *str) >> while (*str) >> NS16550_putc(port, *str++); >> } >> + >> +int misc_init_r(void) >> +{ >> + return 0; >> +} >> diff --git a/include/configs/chromebook_link.h >> b/include/configs/chromebook_link.h >> index 7e6d239..6e8b9ef 100644 >> --- a/include/configs/chromebook_link.h >> +++ b/include/configs/chromebook_link.h >> @@ -20,6 +20,7 @@ >> >> #define CONFIG_DCACHE_RAM_MRC_VAR_SIZE 0x4000 >> #define CONFIG_BOARD_EARLY_INIT_F >> +#define CONFIG_MISC_INIT_R >> >> #define CONFIG_NR_DRAM_BANKS 8 >> #define CONFIG_X86_MRC_ADDR0xfffa >> -- > > Reviewed-by: Bin Meng Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 11/12] x86: ivybridge: Drop the Kconfig MRC cache information
On 19 January 2015 at 22:16, Simon Glass wrote: > This is now stored in the device tree. > > Signed-off-by: Simon Glass > --- > > Changes in v3: None > Changes in v2: None > > arch/x86/cpu/ivybridge/Kconfig | 28 > 1 file changed, 28 deletions(-) Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 12/12] x86: config: chromebook_link: Enable environment
On 19 January 2015 at 22:16, Simon Glass wrote: > Enable an environment area. > > Signed-off-by: Simon Glass > Reviewed-by: Bin Meng > --- > > Changes in v3: None > Changes in v2: None > > include/configs/chromebook_link.h | 7 +++ > 1 file changed, 7 insertions(+) Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 04/12] x86: Use ipchecksum from net/
On 19 January 2015 at 22:16, Simon Glass wrote: > The existing IP checksum function is only accessible to the 'coreboot' cpu. > Drop it in favour of the new code in the network subsystem. > > Signed-off-by: Simon Glass > --- > > Changes in v3: > - Use checksum code that is now in net/checksum.c > > Changes in v2: > - Refactor IP checksum patches > > arch/x86/cpu/coreboot/Makefile | 1 - > arch/x86/cpu/coreboot/ipchecksum.c | 55 > - > arch/x86/cpu/coreboot/tables.c | 8 ++-- > arch/x86/include/asm/arch-coreboot/ipchecksum.h | 37 - > 4 files changed, 4 insertions(+), 97 deletions(-) > delete mode 100644 arch/x86/cpu/coreboot/ipchecksum.c > delete mode 100644 arch/x86/include/asm/arch-coreboot/ipchecksum.h Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 07/12] Allow architecture-specific memory reservation
On 19 January 2015 at 22:16, Simon Glass wrote: > All memory to be reserved for use after relocation by adding a new call > to perform this reservation. > > Signed-off-by: Simon Glass > --- > > Changes in v3: None > Changes in v2: None > > common/board_f.c | 7 +++ > 1 file changed, 7 insertions(+) Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 08/12] x86: dts: Add SPI flash MRC details for chromebook_link
On 19 January 2015 at 22:16, Simon Glass wrote: > Correct the SPI flash compatible string, add an alias and specify the > position of the MRC cache, used to store SDRAM training settings for the > Memory Reference Code. > > Signed-off-by: Simon Glass > --- > > Changes in v3: > - Drop accidental creation of link.dts due to bad rebase > > Changes in v2: > - Make changes to chromebook_link.dts since link.dts is gone > - Use intel,ich-spi as the compatible string > > arch/x86/dts/chromebook_link.dts | 15 ++- > 1 file changed, 14 insertions(+), 1 deletion(-) Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 06/12] x86: spi: Add device tree support
On 19 January 2015 at 22:16, Simon Glass wrote: > As a temporary measure before the ICH driver moves over to driver model, > add device tree support to the driver. > > Signed-off-by: Simon Glass > --- > > Changes in v3: None > Changes in v2: None > > drivers/spi/ich.c| 7 +++ > include/configs/x86-common.h | 1 + > 2 files changed, 8 insertions(+) Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 09/12] x86: Implement a cache for Memory Reference Code parameters
On 19 January 2015 at 22:16, Simon Glass wrote: > The memory reference code takes a very long time to 'train' its SDRAM > interface, around half a second. To avoid this delay on every boot we can > store the parameters from the last training sessions to speed up the next. > > Add an implementation of this, storing the training data in CMOS RAM and > SPI flash. > > Signed-off-by: Simon Glass > --- > > Changes in v3: > - Use checksum code from net/checksum.c > > Changes in v2: > - Update for the new CMOS RAM access functions in the RTC > - Add a comment about why both CMOS RAM and SPI flash are used for the cache > > arch/x86/cpu/ivybridge/Makefile| 1 + > arch/x86/cpu/ivybridge/mrccache.c | 156 +++ > arch/x86/cpu/ivybridge/sdram.c | 253 > + > arch/x86/include/asm/arch-ivybridge/mrccache.h | 51 + > arch/x86/include/asm/global_data.h | 3 + > 5 files changed, 464 insertions(+) > create mode 100644 arch/x86/cpu/ivybridge/mrccache.c > create mode 100644 arch/x86/include/asm/arch-ivybridge/mrccache.h Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 05/12] x86: rtc: mc146818: Add helpers to read/write CMOS RAM
On 19 January 2015 at 22:16, Simon Glass wrote: > On x86 we use CMOS RAM to read and write some settings. Add basic support > for this, including access to registers 128-255. > > Signed-off-by: Simon Glass > --- > > Changes in v3: > - Adjust functions to remain compatible with other RTC drivers > > Changes in v2: > - Adjust the mc146818 driver instead of adding a new cmos.h header > > drivers/rtc/mc146818.c | 121 > + > include/rtc.h | 32 + > 2 files changed, 105 insertions(+), 48 deletions(-) Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 02/12] net: Add a separate file for IP checksumming
On 19 January 2015 at 22:16, Simon Glass wrote: > Move the checksum code out into its own file so it can be used elsewhere. > Also use a new version which supports a length which is not a multiple of > 2 and add a new function to add two checksums. > > Signed-off-by: Simon Glass > --- > > Changes in v3: > - Add new patch to move checksum to its own file in net/ > > Changes in v2: None > > include/net.h | 30 + > net/Makefile | 1 + > net/checksum.c | 60 > ++ > 3 files changed, 91 insertions(+) > create mode 100644 net/checksum.c Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 01/12] x86: dts: Add compatible string for Intel ICH9 SPI controller
On 19 January 2015 at 22:16, Simon Glass wrote: > Add this to the enum so that we can use the various fdtdec functions. A > later commit will move this driver to driver model. > > Signed-off-by: Simon Glass > --- > > Changes in v3: None > Changes in v2: > - Use intel,ich-spi as the compatible string > > include/fdtdec.h | 1 + > lib/fdtdec.c | 1 + > 2 files changed, 2 insertions(+) Applied to u-boot-x86. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 0/12] Add support for caching Memory Reference Code data
On 23 January 2015 at 20:56, Bin Meng wrote: > Hi Simon, > > On Sat, Jan 24, 2015 at 5:17 AM, Simon Glass wrote: >> Hi Bin, >> >> On 19 January 2015 at 22:16, Simon Glass wrote: >>> Since the memory reference code is so slow on x86, add a feature to bypass >>> this, storing the previous parameters in SPI flash. This saves around 500ms >>> on each boot. >>> >>> Also enable a SPI flash environment. >>> >>> Changes in v3: >>> - Add new patch to move checksum to its own file in net/ >>> - Adjust net/ code to use the new checksum functions >>> - Use checksum code that is now in net/checksum.c >>> - Adjust functions to remain compatible with other RTC drivers >>> - Drop accidental creation of link.dts due to bad rebase >>> - Use checksum code from net/checksum.c >>> - Add misc_init_r() call for link now that it is shared with chromebook_link >> >> I'd like to get this applied. Do you have any comments on the new >> checksum approach? >> > > I did not perform a thorough review to the new checksum thus did not > offer a 'Reviewed-by', but generally it looks good to me. Please go > ahead. OK, going ahead, thanks. I'll leave out the net/ patch until I get some word on that. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] pci: tegra: Fix port information parsing
Hi Stephen, On 23 January 2015 at 23:35, Stephen Warren wrote: > On 01/23/2015 09:37 PM, Bin Meng wrote: >> Hi Stephen, >> >> On Sat, Jan 24, 2015 at 12:49 AM, Stephen Warren >> wrote: >>> On 01/23/2015 03:19 AM, Thierry Reding wrote: On Thu, Jan 22, 2015 at 12:04:06AM +0800, Bin Meng wrote: > > Hi Thierry, > > On Wed, Jan 21, 2015 at 5:40 PM, Thierry Reding > wrote: >> >> On Wed, Jan 21, 2015 at 05:15:42PM +0800, Bin Meng wrote: >>> >>> Hi Thierry, >>> >>> On Wed, Jan 21, 2015 at 4:24 PM, Thierry Reding >>> wrote: On Wed, Jan 21, 2015 at 10:37:07AM +0800, Bin Meng wrote: > > Hi, > > On Wed, Jan 21, 2015 at 3:05 AM, Simon Glass > wrote: >> >> Hi Sjoerd, >> >> On 20 January 2015 at 10:06, Sjoerd Simons >> wrote: >>> >>> commit a62e84d7b1824a202dd incorrectly changed the tegra pci code >>> to the >>> new fdtdec pci helpers. To get the device index of the root port, >>> the >>> "reg" property should be parsed from the dtb (as was previously the >>> case). >>> >>> With this patch i can successfully network boot my jetson tk1 >>> >>> Signed-off-by: Sjoerd Simons >>> --- >>> drivers/pci/pci_tegra.c | 5 ++--- >>> 1 file changed, 2 insertions(+), 3 deletions(-) >> >> >> Can you also please take a look at this patch? >> >> http://patchwork.ozlabs.org/patch/430815/ >> >> It tries to support both options. > > > Although I still don't see how the Tegra's dts is written, I feel > this > patch is doing correctly. It's in the U-Boot tree, look at arch/arm/dts/tegra124.dtsi for an example. >>> >>> >>> Got it. I see: >>> >>> pci@1,0 { >>> device_type = "pci"; >>> assigned-addresses = <0x82000800 0 0x0100 >>> 0 0x1000>; >>> reg = <0x000800 0 0 0 0>; >>> status = "disabled"; >>> >>> #address-cells = <3>; >>> #size-cells = <2>; >>> ranges; >>> >>> nvidia,num-lanes = <2>; >>> }; >>> >>> So I would read this 'reg = <0x000800 0 0 0 0>' as this is a >>> downstream port with device number 1 of the root complex. >> >> >> Correct. Note that these root ports don't appear on the bus using the >> regular configuration space accesses, so the definition here is >> arbitrary, though in a way to mirror what PCI would typically look like >> (host bridge 00:00.0, root ports 00:01.0..00:0N.0). >> >> The Linux kernel driver (and the U-Boot driver for that matter) rely on >> this numbering, though, for some aspects of configuration of the root >> ports. >> >>> diff --git a/drivers/pci/pci_tegra.c b/drivers/pci/pci_tegra.c >>> index f9e05ad..67b5fdf 100644 >>> --- a/drivers/pci/pci_tegra.c >>> +++ b/drivers/pci/pci_tegra.c >>> @@ -459,7 +459,6 @@ static int tegra_pcie_parse_port_info(const >>> void *fdt, int node, >>>unsigned int *lanes) >>> { >>> struct fdt_pci_addr addr; >>> - pci_dev_t bdf; >>> int err; >>> >>> err = fdtdec_get_int(fdt, node, "nvidia,num-lanes", 0); >>> @@ -470,13 +469,13 @@ static int tegra_pcie_parse_port_info(const >>> void *fdt, int node, >>> >>> *lanes = err; >>> >>> - err = fdtdec_get_pci_bdf(fdt, node, &addr, &bdf); >>> + err = fdtdec_get_pci_addr(fdt, node, 0, "reg", &addr); > > > I suggest replace 0 to FDT_PCI_SPACE_CONFIG. I do like how 0 actually transports the meaning of "don't care" here. The reg property encodes only the BDF, whereas the configuration space region for the root ports is encoded in the assigned-addresses property. Looking at the fdtdec_get_pci_addr() implementation I notice that it uses the type parameter to match on the type of region. Devices can have more than one region of the same type. How is that supposed to work with this function. Perhaps it's nothing we care about for the fdtdec API since we don't access those regions anyway from FDT code? >>> >>> >>> Ah, yes, some devices may have multiple regions of the same type. >>> Perhaps we need another parameter bar_index for this api? So far this >>> API is not used b
Re: [U-Boot] x86 FSP - delayed SDRAM init?
Hi Bin, On 22 January 2015 at 18:32, Bin Meng wrote: > Hi Simon, > > On Fri, Jan 23, 2015 at 12:36 AM, Simon Glass wrote: >> Hi Bin, >> >> On 21 January 2015 at 22:39, Bin Meng wrote: >>> >>> Hi Simon, >>> >>> On Thu, Jan 22, 2015 at 1:02 PM, Simon Glass wrote: >>> > Hi Bin, >>> > >>> > On 21 January 2015 at 21:45, Bin Meng wrote: >>> >> Hi Simon, >>> >> >>> >> On Thu, Jan 22, 2015 at 11:42 AM, Simon Glass wrote: >>> >>> Hi Bin, >>> >>> >>> >>> In the Baytrail FSP docs I see a note about the HOB passing back the >>> >>> 'Boot Loader Temporary Memory Data HOB'. This seems to be a copy of >>> >>> the entire temporary memory space. I wonder if we could recover struct >>> >>> global_data from this? >>> >>> >>> >> >>> >> Yes, I think so. And I have verified this temporary memory space >>> >> indeed contains stack contents before fsp_init() from U-Boot shell on >>> >> Crown Bay. But the overall process might be complicated. See below. >>> >> >>> >>> If so, then we could move the fsp_init stuff to dram_init(), perhaps? >>> >>> >>> >>> But perhaps this is a feature of only this FSP? >>> >>> >>> >> >>> >> I believe this is a feature defined by the FSP architecture spec, so >>> >> every FSP should support that. >>> >> >>> >> Technically it should be no problem to call fsp_init() from >>> >> arch_cpu_init() or even later dram_init(). However, I would say doing >>> >> so brings us more harm than good. The following points are what I >>> >> thought about before: >>> >> >>> >> 1). fsp_init() takes one parameter 'stack_top' to setup another stack >>> >> after DRAM is initialized. This means everything on the previous CAR >>> >> stack will need to migrate to the new stack below 'stack_top'. This >>> >> includes global data, early malloc pointers, arch_cpu_init() stack >>> >> variables and its return address. >>> >> 2). Copy previous global_data to the new places under stack_top, and >>> >> fix up gd->arch.gd_addr. >>> >> 3). The initf_malloc() is called before arch_cpu_init() so we need fix >>> >> up the early malloc pointers manually (gd->malloc_base and >>> >> gd->malloc_limit) >>> >> 4). Fix up the stack variables and return address of arch_cpu_init() >>> >> on the new stack. >>> >> 5). On Tunnel Creek, if we call setup_gdt() in start.S, later >>> >> fsp_init() in arch_cpu_init() will fail to bring up the thread 1 >>> >> (Tunnel Creek supports SMT), the reason of which is unknown to me yet >>> >> (FSP is a black box). It looks to me that FSP is assuming GDT only >>> >> contains two entries (32-bit 4G flat address) before calling >>> >> fsp_init(). >>> >> >>> >> I have not looked into this any further, so the above points might not >>> >> be 100% right. I would say with these modifications, the codes are >>> >> more difficult to understand. >>> > >>> > I don't disagree with any of this, but I've had a bit more of a look. >>> > >>> > How about something awful like this: >>> > >>> > - start.S >>> > - do the initram thing >>> > - call board_init_f() >>> > - there is no hob pointer, so CPU init does very little >>> > - it runs only to dram_init() >>> > - dram_init() calls the fsp_init() and ends up back at another function >>> > - that function sets up global_data again, calls board_init_f() again >>> >- passes a boot flag to suppress the banner the second time >>> > - this time there is a hob pointer, so CPU init can complete >>> > - things boot normally >>> > >>> > It is hideous. The question is which way is worse. >>> >>> So this way we avoid migrating the stack. >>> >>> > What we really need is to split fsp_init() into two parts: >>> > >>> > 1. Set up DRAM >>> > 2. Turn off CAR (called when WE decide we no-longer need it) >>> > >>> > Then we could make this work as with the non-FSP mode. >>> > >>> > By joining the two, they have made it even harder than it should be. >>> > Of course, no one wins with binary blobs, but the 'continuation >>> > function' should have been a red flag when this design was done at >>> > Intel. >>> >>> I agree. I wish the design done at Intel should have considered more >>> use cases about the FSP integration into existing bootloaders. Even in >>> coreboot, the FSP integration is not perfectly fit into the coreboot >>> model. >>> >>> > BTW for me on minnowmax fsp_init() hangs. Since it is a binary blob I >>> > am not sure how to debug it. There is no error printed / returned. I'm >>> > not even sure how to make it output debug info. No post codes are >>> > available. Sigh. >>> >>> I see coreboot has the minnow max board support already with Intel >>> FSP. You can generate a coreboot for minnow max and program it onto >>> the board to see how things go. >>> >>> Does this link help? >>> http://review.coreboot.org/gitweb?p=coreboot.git;a=commitdiff;h=e6df041b8bf8e37debc0d6a871080b64eea7a372. >>> It looks that the BayTrail FSP has several parameters configurable for >>> DRAM. >> >> Thanks - yes I saw that code although didn't look at the particular >> commit. It's just painful trying n r
Re: [U-Boot] [v2 PATCH 2/3] arm: mxs: Enable booting of mx28 without battery
Hi Graeme, This looks so much better! On Sat, Jan 24, 2015 at 1:32 AM, Graeme Russ wrote: > Section 4.1.2 of Freescale Application Note AN4199 describes the > configuration required to operate the mx28 from a 5V source without a > battery. This patch implements the changes to the Freescale bootlets Minor nit in case you send a v3: we are not implementing changes to the FSL bootlets. We are changing U-boot code ;-) > which allow this configuration to properly boot the mx28 processor > > Signed-off-by: Graeme Russ > Signed-off-by: Damien Gotfroi Acked-by: Fabio Estevam Thanks for working on this Damien and Graeme. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 2/4] usb: add 'bcm_udc_otg' support
On Saturday, January 24, 2015 at 12:48:15 AM, Steve Rae wrote: > On 15-01-21 11:05 PM, Marek Vasut wrote: > > On Tuesday, January 20, 2015 at 11:42:08 PM, Steve Rae wrote: > >> Implement the UDC support for the USB OTG interface. > >> > >> Signed-off-by: Steve Rae > >> --- > > > > General question -- this bcm controller you're adding here isn't by > > any chance a DWC2 controller, or is it ? There's already a driver > > for DWC2 in drivers/usb/gadget/s3c_udc_otg.c . This driver should really > > be properly renamed though ;-/ > > > > If this is not DWC2, do you know what controller this is please ? > > yes -- it is a DWC2 > > So, I have had a quick look at the s3c_udc_otg*.c code > > First observation is that there is a completely different philosophy in > the implementation. For example, the the interrupt handler routine(s), > Broadcom is using #defines (sysmap.h which BTW are autogenerated by our > Device Team) whereas "S3C" is using a "s3c_usbotg_reg" structure for the > 'address' and #defines for the 'data/masks'. I'm not suggesting that one > is better than the other, they are just different. Hi! The later is accepted by U-Boot as the preferred way, so the s3c is doing things right. > So, how do we proceed? At this point, the Altera SoCFPGA and Samsung Exynos both use this s3c driver to operate the DWC2 core in gadget mode. It should be trivial to add support for the boardcom SoC, just follow the Altera example. I would like to avoid situation where we have two drivers for a single IP block. > - is the ultimate goal to get to a proper gadget driver for DWC2? (I > don't really know enough about this yet, so I apologize for these > questions) Yes, but we already have one to my knowledge. > - is the "S3C" code a proper 'gadget' driver and/or is it a better > starting point to get to a gadget driver? Yes, and it's thoroughly tested already. > - I don't have enough time right now to really investigate the existing > "S3C" and implement it on our board(s); they are significantly different > and it looks like it will take a lot of effort - is there someone (Denx > or community) that could assist me? Sure, just start asking the questions. > - Could we continue to review this patchset and accept it; then > establish a team to provide a "DWC2 gadget" that could be used going > forward? No, unless there's a convincing technical argument that the currently mainline DWC2 gadget driver (the s3c one) can absolutelly not be used for the broadcom SoC, I want to avoid having two drivers for the same IP core in mainline, sorry. [...] Sorry, at this point I have to push back a little. Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 0/9] sf: Update flash params for supported read commands and sector size
Hi Jagan, On Mon, Jan 12, 2015 at 2:52 PM, Jagan Teki wrote: > On 12 January 2015 at 09:12, Bin Meng wrote: >> Hi Jagan, >> >> On Wed, Dec 17, 2014 at 4:39 PM, Jagan Teki wrote: >>> On 17 December 2014 at 13:32, Bin Meng wrote: Hi Jagan, On Wed, Dec 17, 2014 at 3:59 PM, Jagan Teki wrote: > On 15 December 2014 at 19:21, Bin Meng wrote: >> Hi Jagan, >> >> On Thu, Dec 11, 2014 at 3:40 PM, Bin Meng wrote: >>> Hi Jagan, >>> >>> On Thu, Dec 11, 2014 at 3:26 PM, Jagan Teki >>> wrote: Hi Bin, On 11 December 2014 at 08:34, Bin Meng wrote: > Hi Jagan, > > On Thu, Dec 11, 2014 at 2:41 AM, Jagan Teki > wrote: >> Hi Bin, >> >> On 10 December 2014 at 18:21, Bin Meng wrote: >>> This series update SPI flash supported read commands per datasheet >>> in the flash params table, and change flash sector size to 4KiB as >>> long as flash supports sector erase (20h) command, to ensure >>> 'sf erase offset +len' work on 4KiB boundary instead of 64KiB when >>> given SECT_4K. >>> >>> Changes in v3: >>> - Rebase with Jagan's patch series @ >>> http://patchwork.ozlabs.org/patch/419154/ >>> >>> >>> Bin Meng (9): >>> sf: Update SST flash params >>> sf: Update Atmel flash params >>> sf: Update EON flash params >>> sf: Update GigaDevice flash params >>> sf: Update Macronix flash params >>> sf: Update Spansion flash params >>> sf: Update Micron flash params >>> sf: Update Winbond flash params >>> sf: Give proper spacing between flash table params >> >> Thanks for the updates - have you verified these changes? > > I verified some, but not all of these flash parts. The update is based > on flash datasheet, so if something is broken, eg before this series > the flash advertises only READ_NORM and after my series it is changed > to READ_FULL, and let's say QUAD_IO_FAST is not working, it is very > likely that the SPI controller driver has some bugs when supporting > QUAD_IO_FAST. Since these updates were tested before, I will skip these for this PR. Will test all the rest (except these) and send the PR soon. Let me know your inputs? >>> >>> I am fine, as long as this PR will not contains other commits which >>> modify the same sf_params.c to introduce more flash support. We can >>> test these updates and if everything looks fine, apply these first and >>> ask other commits to rebase on this series to introduce more flash >>> support. >>> >> >> Do you have any additional comments about this patch series besides >> the S25FL128S_64K and S25FL256S_64K sector size? If not, I can send >> the v4. > > I'm thinking about the other flashes too, since these params were taken > from > previous working and Linux mtd. > You mean 'thinking about' or 'testing'? I should say previously they might not be 100% working as per datasheet some flash params currently are apparently wrong. >>> >>> Yes - about testing. >>> >> >> Ping? What about your test results about this patch series? > > Some were pending - Will comment, pls- wait. > > thanks! > -- I still don't see any additional comments. Looking at the history this patch series has been sitting there for months. Would you please let me know what you think about this series? Regards, Bin ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [v2 PATCH 3/3] arm: mxs: Add 'Wait for JTAG user' if booted in JTAG mode
On 24/01/15 14:32, Graeme Russ wrote: When booting in JTAG mode, there is no way to use soft break-points, and no way of knowing when SPL has finished executing (so the user can issue a 'halt' command to load u-boot.bin for example) Add a debug output and simple loop to stop execution at the completion of the SPL initialisation as a pseudo break-point when booting in JTAG mode Signed-off-by: Graeme Russ --- Changes in v2 - Added and used boot mode #defines --- arch/arm/cpu/arm926ejs/mxs/spl_boot.c | 6 ++ arch/arm/include/asm/arch-mxs/sys_proto.h | 17 + 2 files changed, 23 insertions(+) diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c index 2a5f817..d1457e0 100644 --- a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c +++ b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c @@ -157,6 +157,12 @@ void mxs_common_spl_init(const uint32_t arg, const uint32_t *resptr, data->boot_mode_idx = bootmode; mxs_power_wait_pswitch(); + + My bad - I missed this. I'll post a v3 + if (mxs_boot_modes[data->boot_mode_idx].boot_pads == MXS_BM_JTAG) { + debug("SPL: Waiting for JTAG user\n"); + asm volatile ("x: b x"); + } } Regards, Graeme ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] x86: Remove CONFIG_SATA_INTEL from x86-common.h
CONFIG_SATA_INTEL is not referenced anywhere, so remove it. Signed-off-by: Bin Meng --- include/configs/x86-common.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h index f16ae32..dd19c02 100644 --- a/include/configs/x86-common.h +++ b/include/configs/x86-common.h @@ -39,7 +39,6 @@ /* SATA AHCI storage */ #define CONFIG_SCSI_AHCI -#define CONFIG_SATA_INTEL #ifdef CONFIG_SCSI_AHCI #define CONFIG_LIBATA #define CONFIG_SYS_64BIT_LBA -- 1.8.2.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] arm: spl: Allow board_init_r() to run with a larger stack
Hi Simon, On Thu, 22 Jan 2015 08:10:07 -0700 Simon Glass wrote: > Hi Masahiro, > > On 22 January 2015 at 00:33, Masahiro Yamada > wrote: > > Simon, Heiko, > > > > > > On Thu, 22 Jan 2015 07:28:37 +0100 > > Heiko Schocher wrote: > > > >> > But for your particular case, I certainly would like the UART to be > >> > available early in SPL. We are in the very early days of driver model > >> > for SPL. Once we get it merged (thanks to Tom's work this should be > >> > soon) we can look at how to get the UART available early. One hacky > >> > idea is to do the DM scan in board_init_f() in SPL, for serial only. > >> > But it can be done. > >> > > >> > Yes generic board for SPL is where I'd like to head (but hopefully > >> > using driver model for all init). This patch is a step along the way. > >> > >> I know, I am geting annoying, but we should not forget boards/SoCs > >> which have minimal sram ... like the sam9260 with 4k only! So we must > >> have an option to get SPL running there ... to set BSS and stack > >> into RAM is a great option, so we have no problems with that anymore, > >> but there is currently no place to get an UART running on it... so I > >> feel DM is also to big ... > > > > > > Simon, > > Have you ever estimated how much the DM increase the binary image size? > > (for ARM) > > I did originally (around 2.2KB for the core) but it has grown since. > When I revisit SPL (soon) I suppose we will get another data point. > > One problem is that the new bus functionality is likely not needed in > SPL for things like AT91. I have a SAM9260 board so can try it out. > However, that chip is very old. Are there chips in common use still > which are so limited in SRAM? > > Also Masahiro you should badger your hardware guys to add e.g. 128KB > of SRAM to their next chip! I do not think this would happen. Some old Panasonic SoCs could load 128KB, but newer ones can only load 64KB. Looks like SRAM is the first thing hardware folks want to cut down for chip-shrinking. Anyway, the SPL image size for my board is around 35KB; 29KB space available. No problem with enabling SPL DM on my boards! Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] U-Boot on Sparc leon3
Hi, I'm trying to build u-boot for a new gaisler board (gr-pci-xc5v-LX110T). I have some trouble with the leon3/start.S and the linking process so I tried to build u-boot from a fresh clean GIT source with the board on board/gaisler/gr_xc3s_1500 which should be supported. And I'm having the same linking problem. I have already tried the u-boot 1.3.3 which is working on my board (booting, but the flash is not supported). The linking problem is the following: On version v2013.04: * In the relocation loop, the start.S define 2 variables which is set during the link: = /* un relocated start address of monitor */ #define TEXT_START _text /* un relocated end address of monitor */ #define DATA_END __init_end reloc: set TEXT_START,%g2 set DATA_END,%g3 set CONFIG_SYS_RELOC_MONITOR_BASE,%g4 reloc_loop: = * compiling this start.S give the following relocation record = RELOCATION RECORDS FOR [.text]: OFFSET TYPE VALUE 009c R_SPARC_WDISP30 cpu_init_f 00a4 R_SPARC_HI22 _text 00a8 R_SPARC_LO10 _text 00ac R_SPARC_HI22 __init_end 00b0 R_SPARC_LO10 __init_end = with the following assembly code: = 00a4 : a4: 05 00 00 00 sethi %hi(0), %g2 a8: 84 10 a0 00 mov %g2, %g2 ! 0 <_hardreset> ac: 07 00 00 00 sethi %hi(0), %g3 b0: 86 10 e0 00 mov %g3, %g3 ! 0 <_hardreset> b4: 09 10 fe 38 sethi %hi(0x43f8e000), %g4 00b8 : = For now, everythings is normal. After the linking process, I've the following elf: = 10a4 : 10a4: 05 00 00 03 sethi %hi(0xc00), %g2 10a8: 84 10 a1 3c or %g2, 0x13c, %g2 ! d3c 10ac: 07 00 00 03 sethi %hi(0xc00), %g3 10b0: 86 10 e1 30 or %g3, 0x130, %g3 ! d30 10b4: 09 10 fe 38 sethi %hi(0x43f8e000), %g4 = And the associated .map: = .text 0x0x2d2b8 0x_load_addr = . 0x_text = . [...] .data.init *(.data.init) 0x0003. = ALIGN (0x1000) 0x0003__init_end = . 0x0003__bss_start = . = And the others symbol in this start.S are not defined correctly either. On the v2013.01 version, I've the same intermediate file but the following u-boot elf: = 10a4 : 10a4: 05 00 00 00 sethi %hi(0), %g2 10a8: 84 10 a0 00 mov %g2, %g2 ! 0 <_load_addr> 10ac: 07 00 00 c0 sethi %hi(0x3), %g3 10b0: 86 10 e0 00 mov %g3, %g3 ! 3 <__bss_start> 10b4: 09 10 fe 38 sethi %hi(0x43f8e000), %g4 = Which is what I expected. On IRC, Marex give me the advice to check with git bisect and find the commit which (I think) break the linking process. And It found this one: = eb33809f70e3d3a2c1fba043e56cca8fccedbe0c is the first bad commit commit eb33809f70e3d3a2c1fba043e56cca8fccedbe0c Author: Simon Glass Date: Tue Mar 5 14:40:03 2013 + sparc: Fix out-of-tree building It isn't clear why the sparc cpu Makefile has its own compile line, but it does not work correctly with an out-of-tree build. Removing it fixes this problem. Perhaps it does not introduce others. Signed-off-by: Simon Glass :04 04 39dc0c7a3ff2feadaddeda1b7938502f30f2ed76 7e77469d3aa8550d3f712470d45ef73e46b217b8 M arch bisect run success Which corresponds to remove the specific makefile for sparc. So what did i do wrong or misunderstund about the compiling u-boot process? Why removing specific compile process for sparc? Best, -- Florian. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot