ARM: keystone2: Enable OF_CONTROL and DM
cover ARM: keystone2: Enable OF_CONTROL and DM
This patch series enables OF_CONTROL and DM for all keystone platforms. In order to add support for OF_CONTROL all the keystone2 specific DT files are imported from Linux kernel. For now only DM_SERIAL is enabled on all keystone2 platforms, moving forward all other drivers are converted to DM and will be enabled in defconfig.
Build targets used:
UART boot: u-boot-dtb.bin
NAND boot: MLO
SPI boot: u-boot-spl.gph
Above three bootmodes are verified on the following platforms:
K2HK-evm, K2L-evm, K2E-evm.
This patch series is based on top of keystone serial driver posted previously:
https://www.mail-archive.com/u-boot%40lists.denx.de/msg186443.html
Lokesh Vutla (8):
ARM: keystone2: Fix serial port init
ARM: keystone2: spl: Fix stack allocation with CONFIG_SYS_MALLOC_F_LEN
ARM: dts: Keystone2: Import generic dt files from Linux Kernel
ARM: dts: keystone2: Do not use LPAE addresses in U-Boot
ARM: dts: k2hk: Enable OF_CONTROL and DM
ARM: dts: k2l: Enable OF_CONTROL and DM
ARM: dts: k2e: Enable OF_CONTROL and DM
ARM: keystone2: Use dtb images by default
arch/arm/dts/Makefile | 4 + arch/arm/dts/k2e-clocks.dtsi | 77 +++++++ arch/arm/dts/k2e-evm.dts | 154 +++++++++++++ arch/arm/dts/k2e-netcp.dtsi | 206 +++++++++++++++++ arch/arm/dts/k2e.dtsi | 147 ++++++++++++ arch/arm/dts/k2hk-clocks.dtsi | 425 +++++++++++++++++++++++++++++++++++ arch/arm/dts/k2hk-evm.dts | 182 +++++++++++++++ arch/arm/dts/k2hk-netcp.dtsi | 208 +++++++++++++++++ arch/arm/dts/k2hk.dtsi | 114 ++++++++++ arch/arm/dts/k2l-clocks.dtsi | 266 ++++++++++++++++++++++ arch/arm/dts/k2l-evm.dts | 131 +++++++++++ arch/arm/dts/k2l-netcp.dtsi | 189 ++++++++++++++++ arch/arm/dts/k2l.dtsi | 108 +++++++++ arch/arm/dts/keystone-clocks.dtsi | 414 ++++++++++++++++++++++++++++++++++ arch/arm/dts/keystone.dtsi | 327 +++++++++++++++++++++++++++ arch/arm/mach-keystone/config.mk | 4 +- arch/arm/mach-keystone/init.c | 2 + board/ti/ks2_evm/README | 14 +- configs/k2e_evm_defconfig | 5 + configs/k2hk_evm_defconfig | 5 + configs/k2l_evm_defconfig | 5 + include/configs/ti_armv7_keystone2.h | 13 +- 22 files changed, 2990 insertions(+), 10 deletions(-) create mode 100644 arch/arm/dts/k2e-clocks.dtsi create mode 100644 arch/arm/dts/k2e-evm.dts create mode 100644 arch/arm/dts/k2e-netcp.dtsi create mode 100644 arch/arm/dts/k2e.dtsi create mode 100644 arch/arm/dts/k2hk-clocks.dtsi create mode 100644 arch/arm/dts/k2hk-evm.dts create mode 100644 arch/arm/dts/k2hk-netcp.dtsi create mode 100644 arch/arm/dts/k2hk.dtsi create mode 100644 arch/arm/dts/k2l-clocks.dtsi create mode 100644 arch/arm/dts/k2l-evm.dts create mode 100644 arch/arm/dts/k2l-netcp.dtsi create mode 100644 arch/arm/dts/k2l.dtsi create mode 100644 arch/arm/dts/keystone-clocks.dtsi create mode 100644 arch/arm/dts/keystone.dtsi
Signature · 1 line
2.1.4
PATCH 1/8 ARM: keystone2: Fix serial port init
With CONFIG_DM_SERIAL is enabled NS16550_init() cannot be called directly. Driver probe should be taking care of this. So call this function only when DM_SERIAL is not enabled.
--- arch/arm/mach-keystone/init.c | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/mach-keystone/init.c +2 -0
@@ -122,8 +122,10 @@ int arch_cpu_init(void)* UART register PWREMU_MGMT is initialized. Linux UART * driver doesn't handle this. */ +#ifndef CONFIG_DM_SERIAL NS16550_init ((NS16550_t)(CONFIG_SYS_NS16550_COM2 ),CONFIG_SYS_NS16550_CLK /16 /CONFIG_BAUDRATE ); +#endif return 0 ; }
Signature · 1 line
2.1.4
PATCH 1/8 ARM: keystone2: Fix serial port init
Quoted 5 lines · Lokesh Vutla
With
CONFIG_DM_SERIALis enabledNS16550_init()cannot be called directly. Driver probe should be taking care of this. So call this function only whenDM_SERIALis not enabled.Signed-off-by Lokesh Vutla <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/bb3b4e8e/attachment.sig>
PATCH 2/8 ARM: keystone2: spl: Fix stack allocation with CONFIG_SYS_MALLOC_F_LEN
In reply to Lokesh VutlaIf CONFIG_SYS_MALLOC_F_LEN is enabled, the stack is moved down to the specified size to make the malloc function available before relocation. But on keystone platforms SYS_SPL_MALLOC is immediately preceding stack, which is causing an overlap with this config enabled.
So leave a gap between malloc space and stack space.
--- include/configs/ti_armv7_keystone2.h | 7 +++++++ 1 file changed, 7 insertions(+)
include/configs/ti_armv7_keystone2.h +7 -0
@@ -32,6 +32,12 @@#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SPL_TEXT_BASE - \ GENERATED_GBL_DATA_SIZE) +#ifdef CONFIG_SYS_MALLOC_F_LEN +#define SPL_MALLOC_F_SIZE CONFIG_SYS_MALLOC_F_LEN +#else +#define SPL_MALLOC_F_SIZE 0 +#endif +/* SPL SPI Loader Configuration */ #define CONFIG_SPL_PAD_TO 65536#define CONFIG_SPL_MAX_SIZE (CONFIG_SPL_PAD_TO - 8)
@@ -44,6 +50,7 @@#define CONFIG_SPL_STACK_SIZE (8 * 1024)#define CONFIG_SPL_STACK (CONFIG_SYS_SPL_MALLOC_START + \ CONFIG_SYS_SPL_MALLOC_SIZE + \ + SPL_MALLOC_F_SIZE + \ CONFIG_SPL_STACK_SIZE - 4)#define CONFIG_SPL_SPI_FLASH_SUPPORT #define CONFIG_SPL_SPI_SUPPORT
Signature · 1 line
2.1.4
PATCH 2/8 ARM: keystone2: spl: Fix stack allocation with CONFIG_SYS_MALLOC_F_LEN
Quoted 7 lines · Lokesh Vutla
If
CONFIG_SYS_MALLOC_F_LENis enabled, the stack is moved down to the specified size to make the malloc function available before relocation. But on keystone platformsSYS_SPL_MALLOCis immediately preceding stack, which is causing an overlap with this config enabled.
So leave a gap between malloc space and stack space.Signed-off-by Lokesh Vutla <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/81c21bc6/attachment.sig>
PATCH 3/8 ARM: dts: Keystone2: Import generic dt files from Linux Kernel
In reply to Lokesh VutlaImport various generic dts files from Linux kernel so that all keystone2 platforms can be DT in U-boot.
--- arch/arm/dts/keystone-clocks.dtsi | 414 ++++++++++++++++++++++++++++++++++++++ arch/arm/dts/keystone.dtsi | 324 +++++++++++++++++++++++++++++ 2 files changed, 738 insertions(+) create mode 100644 arch/arm/dts/keystone-clocks.dtsi create mode 100644 arch/arm/dts/keystone.dtsi
arch/arm/dts/keystone-clocks.dtsi new file +414 -0
@@ -0,0 +1,414 @@ +/* + * Device Tree Source for Keystone 2 clock tree + * + * Copyright (C) 2013 Texas Instruments, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +clocks { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + mainmuxclk: mainmuxclk at 2310108 { + #clock-cells = <0>; + compatible = "ti,keystone,pll-mux-clock"; + clocks = <&mainpllclk>, <&refclksys>; + reg = <0x02310108 4>; + bit-shift = <23>; + bit-mask = <1>; + clock-output-names = "mainmuxclk"; + }; + + chipclk1: chipclk1 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&mainmuxclk>; + clock-div = <1>; + clock-mult = <1>; + clock-output-names = "chipclk1"; + }; + + chipclk1rstiso: chipclk1rstiso { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&mainmuxclk>; + clock-div = <1>; + clock-mult = <1>; + clock-output-names = "chipclk1rstiso"; + }; + + gemtraceclk: gemtraceclk at 2310120 { + #clock-cells = <0>; + compatible = "ti,keystone,pll-divider-clock"; + clocks = <&mainmuxclk>; + reg = <0x02310120 4>; + bit-shift = <0>; + bit-mask = <8>; + clock-output-names = "gemtraceclk"; + }; + + chipstmxptclk: chipstmxptclk { + #clock-cells = <0>; + compatible = "ti,keystone,pll-divider-clock"; + clocks = <&mainmuxclk>; + reg = <0x02310164 4>; + bit-shift = <0>; + bit-mask = <8>; + clock-output-names = "chipstmxptclk"; + }; + + chipclk12: chipclk12 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1>; + clock-div = <2>; + clock-mult = <1>; + clock-output-names = "chipclk12"; + }; + + chipclk13: chipclk13 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1>; + clock-div = <3>; + clock-mult = <1>; + clock-output-names = "chipclk13"; + }; + + paclk13: paclk13 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&papllclk>; + clock-div = <3>; + clock-mult = <1>; + clock-output-names = "paclk13"; + }; + + chipclk14: chipclk14 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1>; + clock-div = <4>; + clock-mult = <1>; + clock-output-names = "chipclk14"; + }; + + chipclk16: chipclk16 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1>; + clock-div = <6>; + clock-mult = <1>; + clock-output-names = "chipclk16"; + }; + + chipclk112: chipclk112 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1>; + clock-div = <12>; + clock-mult = <1>; + clock-output-names = "chipclk112"; + }; + + chipclk124: chipclk124 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1>; + clock-div = <24>; + clock-mult = <1>; + clock-output-names = "chipclk114"; + }; + + chipclk1rstiso13: chipclk1rstiso13 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1rstiso>; + clock-div = <3>; + clock-mult = <1>; + clock-output-names = "chipclk1rstiso13"; + }; + + chipclk1rstiso14: chipclk1rstiso14 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1rstiso>; + clock-div = <4>; + clock-mult = <1>; + clock-output-names = "chipclk1rstiso14"; + }; + + chipclk1rstiso16: chipclk1rstiso16 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1rstiso>; + clock-div = <6>; + clock-mult = <1>; + clock-output-names = "chipclk1rstiso16"; + }; + + chipclk1rstiso112: chipclk1rstiso112 { + #clock-cells = <0>; + compatible = "fixed-factor-clock"; + clocks = <&chipclk1rstiso>; + clock-div = <12>; + clock-mult = <1>; + clock-output-names = "chipclk1rstiso112"; + }; + + clkmodrst0: clkmodrst0 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&chipclk16>; + clock-output-names = "modrst0"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + + clkusb: clkusb { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&chipclk16>; + clock-output-names = "usb"; + reg = <0x02350008 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkaemifspi: clkaemifspi { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&chipclk16>; + clock-output-names = "aemif-spi"; + reg = <0x0235000c 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + + clkdebugsstrc: clkdebugsstrc { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&chipclk13>; + clock-output-names = "debugss-trc"; + reg = <0x02350014 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <1>; + }; + + clktetbtrc: clktetbtrc { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&chipclk13>; + clock-output-names = "tetb-trc"; + reg = <0x02350018 0xb00>, <0x02350004 0x400>; + reg-names = "control", "domain"; + domain-id = <1>; + }; + + clkpa: clkpa { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&paclk13>; + clock-output-names = "pa"; + reg = <0x0235001c 0xb00>, <0x02350008 0x400>; + reg-names = "control", "domain"; + domain-id = <2>; + }; + + clkcpgmac: clkcpgmac { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkpa>; + clock-output-names = "cpgmac"; + reg = <0x02350020 0xb00>, <0x02350008 0x400>; + reg-names = "control", "domain"; + domain-id = <2>; + }; + + clksa: clksa { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkpa>; + clock-output-names = "sa"; + reg = <0x02350024 0xb00>, <0x02350008 0x400>; + reg-names = "control", "domain"; + domain-id = <2>; + }; + + clkpcie: clkpcie { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&chipclk12>; + clock-output-names = "pcie"; + reg = <0x02350028 0xb00>, <0x0235000c 0x400>; + reg-names = "control", "domain"; + domain-id = <3>; + }; + + clksr: clksr { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&chipclk1rstiso112>; + clock-output-names = "sr"; + reg = <0x02350034 0xb00>, <0x02350018 0x400>; + reg-names = "control", "domain"; + domain-id = <6>; + }; + + clkgem0: clkgem0 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&chipclk1>; + clock-output-names = "gem0"; + reg = <0x0235003c 0xb00>, <0x02350020 0x400>; + reg-names = "control", "domain"; + domain-id = <8>; + }; + + clkddr30: clkddr30 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&chipclk12>; + clock-output-names = "ddr3-0"; + reg = <0x0235005c 0xb00>, <0x02350040 0x400>; + reg-names = "control", "domain"; + domain-id = <16>; + }; + + clkwdtimer0: clkwdtimer0 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "timer0"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkwdtimer1: clkwdtimer1 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "timer1"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkwdtimer2: clkwdtimer2 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "timer2"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkwdtimer3: clkwdtimer3 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "timer3"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clktimer15: clktimer15 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "timer15"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkuart0: clkuart0 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "uart0"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkuart1: clkuart1 { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "uart1"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkaemif: clkaemif { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkaemifspi>; + clock-output-names = "aemif"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkusim: clkusim { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "usim"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clki2c: clki2c { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "i2c"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkspi: clkspi { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkaemifspi>; + clock-output-names = "spi"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkgpio: clkgpio { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "gpio"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; + + clkkeymgr: clkkeymgr { + #clock-cells = <0>; + compatible = "ti,keystone,psc-clock"; + clocks = <&clkmodrst0>; + clock-output-names = "keymgr"; + reg = <0x02350000 0xb00>, <0x02350000 0x400>; + reg-names = "control", "domain"; + domain-id = <0>; + }; +};
arch/arm/dts/keystone.dtsi new file +324 -0
324 lines not on this page · raw message
Signature · 1 line
2.1.4
PATCH 3/8 ARM: dts: Keystone2: Import generic dt files from Linux Kernel
Quoted 4 lines · Lokesh Vutla
Import various generic dts files from Linux kernel so that all keystone2 platforms can be DT in U-boot.
Signed-off-by Lokesh Vutla <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/217cd45d/attachment.sig>
PATCH 4/8 ARM: dts: keystone2: Do not use LPAE addresses in U-Boot
In reply to Lokesh VutlaKeystone dts files assumes that LPAE is enabled and top level root node uses 64bit addresses. This breaks the keystone boot with CONFIG_OF_CONTROL enabled. So do not use 64 bit addresse in U-Boot DT.
--- arch/arm/dts/keystone.dtsi | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-)
arch/arm/dts/keystone.dtsi +8 -9
@@ -13,8 +13,8 @@ / { model = "Texas Instruments Keystone 2 SoC"; - #address-cells = <2>; - #size-cells = <2>; + #address-cells = <1>; + #size-cells = <1>; interrupt-parent = <&gic>; aliases {
@@ -22,17 +22,17 @@ }; memory { - reg = <0x00000000 0x80000000 0x00000000 0x40000000>; + reg = <0x80000000 0x40000000>; }; gic: interrupt-controller { compatible = "arm,cortex-a15-gic"; #interrupt-cells = <3>; interrupt-controller; - reg = <0x0 0x02561000 0x0 0x1000>, - <0x0 0x02562000 0x0 0x2000>, - <0x0 0x02564000 0x0 0x1000>, - <0x0 0x02566000 0x0 0x2000>; + reg = <0x02561000 0x1000>, + <0x02562000 0x2000>, + <0x02564000 0x1000>, + <0x02566000 0x2000>; interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; };
@@ -63,8 +63,7 @@ #size-cells = <1>; compatible = "ti,keystone","simple-bus"; interrupt-parent = <&gic>; - ranges = <0x0 0x0 0x0 0xc0000000>; - dma-ranges = <0x80000000 0x8 0x00000000 0x80000000>; + ranges; pllctrl: pll-controller at 02310000 { compatible = "ti,keystone-pllctrl", "syscon";
Signature · 1 line
2.1.4
PATCH 4/8 ARM: dts: keystone2: Do not use LPAE addresses in U-Boot
Quoted 5 lines · Lokesh Vutla
Keystone dts files assumes that LPAE is enabled and top level root node uses 64bit addresses. This breaks the keystone boot with
CONFIG_OF_CONTROLenabled. So do not use 64 bit addresse in U-Boot DT.Signed-off-by Lokesh Vutla <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/5a4cd952/attachment.sig>
PATCH 5/8 ARM: dts: k2hk: Enable OF_CONTROL and DM
In reply to Lokesh VutlaImport k2hk specific DT files from Linux Kernel and enable OF_CONTROL, DM, DM_SERIAL.
--- arch/arm/dts/Makefile | 2 + arch/arm/dts/k2hk-clocks.dtsi | 425 +++++++++++++++++++++++++++++++++++ arch/arm/dts/k2hk-evm.dts | 182 +++++++++++++++ arch/arm/dts/k2hk-netcp.dtsi | 208 +++++++++++++++++ arch/arm/dts/k2hk.dtsi | 114 ++++++++++ arch/arm/dts/keystone.dtsi | 4 + configs/k2hk_evm_defconfig | 5 + include/configs/ti_armv7_keystone2.h | 6 +- 8 files changed, 945 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/k2hk-clocks.dtsi create mode 100644 arch/arm/dts/k2hk-evm.dts create mode 100644 arch/arm/dts/k2hk-netcp.dtsi create mode 100644 arch/arm/dts/k2hk.dtsi
arch/arm/dts/Makefile +2 -0
@@ -163,6 +163,8 @@ dtb-$(CONFIG_MACH_SUN9I) += \ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \ vf610-colibri.dtb +dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb + targets += $(dtb-y) # Add any required device tree compiler flags here
arch/arm/dts/k2hk-clocks.dtsi new file +425 -0
425 lines not on this page · raw message
arch/arm/dts/k2hk-evm.dts new file +182 -0
182 lines not on this page · raw message
arch/arm/dts/k2hk-netcp.dtsi new file +208 -0
208 lines not on this page · raw message
arch/arm/dts/k2hk.dtsi new file +114 -0
114 lines not on this page · raw message
arch/arm/dts/keystone.dtsi +4 -0
@@ -21,6 +21,10 @@ serial0 = &uart0; }; + chosen { + stdout-path = &uart0; + }; + memory { reg = <0x80000000 0x40000000>; };
configs/k2hk_evm_defconfig +5 -0
@@ -1,9 +1,14 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_TARGET_K2HK_EVM=y +CONFIG_DEFAULT_DEVICE_TREE="k2hk-evm" CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set +CONFIG_OF_CONTROL=y +CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_SPI_FLASH=y CONFIG_SYS_PROMPT="K2HK EVM # " +CONFIG_DM=y +CONFIG_DM_SERIAL=y
include/configs/ti_armv7_keystone2.h +5 -1
@@ -59,9 +59,13 @@/* UART Configuration */ #define CONFIG_SYS_NS16550 -#define CONFIG_SYS_NS16550_SERIAL #define CONFIG_SYS_NS16550_MEM32 +#if defined(CONFIG_SPL_BUILD ) || !defined(CONFIG_DM_SERIAL ) +#define CONFIG_SYS_NS16550_SERIAL #define CONFIG_SYS_NS16550_REG_SIZE -4 +#else +#define CONFIG_KEYSTONE_SERIAL +#endif #define CONFIG_SYS_NS16550_COM1 KS2_UART0_BASE#define CONFIG_SYS_NS16550_COM2 KS2_UART1_BASE#define CONFIG_SYS_NS16550_CLK clk_get_rate(KS2_CLK1_6)
Signature · 1 line
2.1.4
PATCH 5/8 ARM: dts: k2hk: Enable OF_CONTROL and DM
Quoted 4 lines · Lokesh Vutla
Import k2hk specific DT files from Linux Kernel and enable
OF_CONTROL, DM,DM_SERIAL.Signed-off-by Lokesh Vutla <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/76e01171/attachment.sig>
PATCH 6/8 ARM: dts: k2l: Enable OF_CONTROL and DM
In reply to Lokesh VutlaImport k2l specific DT files from Linux Kernel and enable OF_CONTROL, DM, DM_SERIAL.
--- arch/arm/dts/Makefile | 3 +- arch/arm/dts/k2l-clocks.dtsi | 266 +++++++++++++++++++++++++++++++++++++++++++ arch/arm/dts/k2l-evm.dts | 131 +++++++++++++++++++++ arch/arm/dts/k2l-netcp.dtsi | 189 ++++++++++++++++++++++++++++++ arch/arm/dts/k2l.dtsi | 108 ++++++++++++++++++ configs/k2l_evm_defconfig | 5 + 6 files changed, 701 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/k2l-clocks.dtsi create mode 100644 arch/arm/dts/k2l-evm.dts create mode 100644 arch/arm/dts/k2l-netcp.dtsi create mode 100644 arch/arm/dts/k2l.dtsi
arch/arm/dts/Makefile +2 -1
@@ -163,7 +163,8 @@ dtb-$(CONFIG_MACH_SUN9I) += \ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \ vf610-colibri.dtb -dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb +dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \ + k2l-evm.dtb targets += $(dtb-y)
arch/arm/dts/k2l-clocks.dtsi new file +266 -0
266 lines not on this page · raw message
arch/arm/dts/k2l-evm.dts new file +131 -0
131 lines not on this page · raw message
arch/arm/dts/k2l-netcp.dtsi new file +189 -0
189 lines not on this page · raw message
arch/arm/dts/k2l.dtsi new file +108 -0
108 lines not on this page · raw message
configs/k2l_evm_defconfig +5 -0
@@ -1,9 +1,14 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_TARGET_K2L_EVM=y +CONFIG_DEFAULT_DEVICE_TREE="k2l-evm" CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set CONFIG_SPI_FLASH=y CONFIG_SYS_PROMPT="K2L EVM # " +CONFIG_OF_CONTROL=y +CONFIG_SPL_DISABLE_OF_CONTROL=y +CONFIG_DM=y +CONFIG_DM_SERIAL=y
Signature · 1 line
2.1.4
PATCH 6/8 ARM: dts: k2l: Enable OF_CONTROL and DM
Quoted 4 lines · Lokesh Vutla
Import k2l specific DT files from Linux Kernel and enable
OF_CONTROL, DM,DM_SERIAL.Signed-off-by Lokesh Vutla <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/34adc49c/attachment.sig>
PATCH 7/8 ARM: dts: k2e: Enable OF_CONTROL and DM
In reply to Lokesh VutlaImport k2e specific DT files from Linux Kernel and enable OF_CONTROL, DM, DM_SERIAL.
--- arch/arm/dts/Makefile | 3 +- arch/arm/dts/k2e-clocks.dtsi | 77 ++++++++++++++++ arch/arm/dts/k2e-evm.dts | 154 ++++++++++++++++++++++++++++++++ arch/arm/dts/k2e-netcp.dtsi | 206 +++++++++++++++++++++++++++++++++++++++++++ arch/arm/dts/k2e.dtsi | 147 ++++++++++++++++++++++++++++++ configs/k2e_evm_defconfig | 5 ++ 6 files changed, 591 insertions(+), 1 deletion(-) create mode 100644 arch/arm/dts/k2e-clocks.dtsi create mode 100644 arch/arm/dts/k2e-evm.dts create mode 100644 arch/arm/dts/k2e-netcp.dtsi create mode 100644 arch/arm/dts/k2e.dtsi
arch/arm/dts/Makefile +2 -1
@@ -164,7 +164,8 @@ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \ vf610-colibri.dtb dtb-$(CONFIG_SOC_KEYSTONE) += k2hk-evm.dtb \ - k2l-evm.dtb + k2l-evm.dtb \ + k2e-evm.dtb targets += $(dtb-y)
arch/arm/dts/k2e-clocks.dtsi new file +77 -0
77 lines not on this page · raw message
arch/arm/dts/k2e-evm.dts new file +154 -0
154 lines not on this page · raw message
arch/arm/dts/k2e-netcp.dtsi new file +206 -0
206 lines not on this page · raw message
arch/arm/dts/k2e.dtsi new file +147 -0
147 lines not on this page · raw message
configs/k2e_evm_defconfig +5 -0
@@ -2,8 +2,13 @@ CONFIG_ARM=y CONFIG_ARCH_KEYSTONE=y CONFIG_TARGET_K2E_EVM=y CONFIG_SPL=y +CONFIG_DEFAULT_DEVICE_TREE="k2e-evm" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set CONFIG_SPI_FLASH=y CONFIG_SYS_PROMPT="K2E EVM # " +CONFIG_OF_CONTROL=y +CONFIG_SPL_DISABLE_OF_CONTROL=y +CONFIG_DM=y +CONFIG_DM_SERIAL=y
Signature · 1 line
2.1.4
PATCH 7/8 ARM: dts: k2e: Enable OF_CONTROL and DM
Quoted 4 lines · Lokesh Vutla
Import k2e specific DT files from Linux Kernel and enable
OF_CONTROL, DM,DM_SERIAL.Signed-off-by Lokesh Vutla <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/00d87f8e/attachment.sig>
PATCH 8/8 ARM: keystone2: Use dtb images by default
In reply to Lokesh VutlaNow that OF_CONTROL is enabled on all keystone2 platforms, build the default images with DT.
--- arch/arm/mach-keystone/config.mk | 4 ++-- board/ti/ks2_evm/README | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-)
arch/arm/mach-keystone/config.mk +2 -2
@@ -16,13 +16,13 @@ spl/u-boot-spl.gph: spl/u-boot-spl.bin FORCE OBJCOPYFLAGS_u-boot-spi.gph = -I binary -O binary --pad-to=$(CONFIG_SPL_PAD_TO) \ --gap-fill=0 -u-boot-spi.gph: spl/u-boot-spl.gph u-boot.img FORCE +u-boot-spi.gph: spl/u-boot-spl.gph u-boot-dtb.img FORCE $(call if_changed,pad_cat) ifndef CONFIG_SPL_BUILD MKIMAGEFLAGS_MLO = -A $(ARCH) -T gpimage -C none \ -a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE) -n U-Boot -MLO: u-boot.bin FORCE +MLO: u-boot-dtb.bin FORCE $(call if_changed,mkimage) @dd if=/dev/zero bs=8 count=1 2>/dev/null >> $@ endif
board/ti/ks2_evm/README +7 -7
@@ -59,8 +59,8 @@ Supported boot modes: - UART boot Supported image formats: - - u-boot.bin: for loading and running u-boot.bin through Texas instruments - code composure studio (CCS) and for UART boot. + - u-boot-dtb.bin: for loading and running u-boot-dtb.bin through + Texas Instruments code composure studio (CCS) and for UART boot. - u-boot-spi.gph: gpimage for programming SPI NOR flash for SPI NOR boot - MLO: gpimage for programming AEMIF NAND flash for NAND boot
@@ -69,18 +69,18 @@ Build instructions: Examples for k2hk, for k2e and k2l just replace k2hk prefix accordingly. Don't forget to add ARCH=arm and CROSS_COMPILE. -To build u-boot.bin, u-boot-spi.gph, MLO: +To build u-boot-dtb.bin, u-boot-spi.gph, MLO: >make k2hk_evm_defconfig >make Load and Run U-Boot on keystone EVMs using CCS ========================================= -Need Code Composer Studio (CCS) installed on a PC to load and run u-boot.bin +Need Code Composer Studio (CCS) installed on a PC to load and run u-boot-dtb.bin on EVM. See instructions at below link for installing CCS on a Windows PC. http://processors.wiki.ti.com/index.php/MCSDK_UG_Chapter_Getting_Started# Installing_Code_Composer_Studio -Use u-boot.bin from the build folder for loading and running u-boot binary +Use u-boot-dtb.bin from the build folder for loading and running u-boot binary on EVM. Follow instructions at K2HK http://processors.wiki.ti.com/index.php/EVMK2H_Hardware_Setup K2E http://processors.wiki.ti.com/index.php/EVMK2E_Hardware_Setup
@@ -100,7 +100,7 @@ loading the u-boot binary on the target EVM. Instead do the following:- is connected: Unknown)" at the debug window (This is created once Target configuration is launched) and select "Connect Target". 2. Once target connect is successful, choose Tools->Load Memory option from the - top level menu. At the Load Memory window, choose the file u-boot.bin + top level menu. At the Load Memory window, choose the file u-boot-dtb.bin through "Browse" button and click "next >" button. In the next window, enter Start address as 0xc001000, choose Type-size "32 bits" and click "Finish" button.
@@ -167,7 +167,7 @@ Load and Run U-Boot on keystone EVMs using UART download Open BMC and regular UART terminals. -1. On the regular UART port start xmodem transfer of the u-boot.bin +1. On the regular UART port start xmodem transfer of the u-boot-dtb.bin 2. Using BMC terminal set the ARM-UART bootmode and reboot the EVM BMC> bootmode #4 MBC> reboot
Signature · 1 line
2.1.4
PATCH 8/8 ARM: keystone2: Use dtb images by default
Quoted 4 lines · Lokesh Vutla
Now that
OF_CONTROLis enabled on all keystone2 platforms, build the default images with DT.Signed-off-by Lokesh Vutla <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/07ac52ed/attachment.sig>
cover ARM: keystone2: Enable OF_CONTROL and DM
In reply to Lokesh VutlaHi Tom,
Quoted 11 lines · Lokesh Vutla
This patch series enables
OF_CONTROLand DM for all keystone platforms. In order to add support forOF_CONTROLall the keystone2 specific DT files are imported from Linux kernel. For now onlyDM_SERIALis enabled on all keystone2 platforms, moving forward all other drivers are converted to DM and will be enabled in defconfig.Build targets used:
UART boot: u-boot-dtb.bin
NAND boot: MLO
SPI boot: u-boot-spl.gph
Quoted 5 lines
Above three bootmodes are verified on the following platforms:
K2HK-evm, K2L-evm, K2E-evm.This patch series is based on top of keystone serial driver posted previously:
https://www.mail-archive.com/u-boot%40lists.denx.de/msg186443.html
Gentle ping.
Thanks and regards,
Lokesh
Quoted 49 lines
Lokesh Vutla (8):
ARM: keystone2: Fix serial port init
ARM: keystone2: spl: Fix stack allocation withCONFIG_SYS_MALLOC_F_LEN
ARM: dts: Keystone2: Import generic dt files from Linux Kernel
ARM: dts: keystone2: Do not use LPAE addresses in U-Boot
ARM: dts: k2hk: EnableOF_CONTROLand DM
ARM: dts: k2l: EnableOF_CONTROLand DM
ARM: dts: k2e: EnableOF_CONTROLand DM
ARM: keystone2: Use dtb images by defaultarch/arm/dts/Makefile | 4 + arch/arm/dts/k2e-clocks.dtsi | 77 +++++++ arch/arm/dts/k2e-evm.dts | 154 +++++++++++++ arch/arm/dts/k2e-netcp.dtsi | 206 +++++++++++++++++ arch/arm/dts/k2e.dtsi | 147 ++++++++++++ arch/arm/dts/k2hk-clocks.dtsi | 425 +++++++++++++++++++++++++++++++++++ arch/arm/dts/k2hk-evm.dts | 182 +++++++++++++++ arch/arm/dts/k2hk-netcp.dtsi | 208 +++++++++++++++++ arch/arm/dts/k2hk.dtsi | 114 ++++++++++ arch/arm/dts/k2l-clocks.dtsi | 266 ++++++++++++++++++++++ arch/arm/dts/k2l-evm.dts | 131 +++++++++++ arch/arm/dts/k2l-netcp.dtsi | 189 ++++++++++++++++ arch/arm/dts/k2l.dtsi | 108 +++++++++ arch/arm/dts/keystone-clocks.dtsi | 414 ++++++++++++++++++++++++++++++++++ arch/arm/dts/keystone.dtsi | 327 +++++++++++++++++++++++++++ arch/arm/mach-keystone/config.mk | 4 +- arch/arm/mach-keystone/init.c | 2 + board/ti/ks2_evm/README | 14 +- configs/k2e_evm_defconfig | 5 + configs/k2hk_evm_defconfig | 5 + configs/k2l_evm_defconfig | 5 + include/configs/ti_armv7_keystone2.h | 13 +- 22 files changed, 2990 insertions(+), 10 deletions(-) create mode 100644 arch/arm/dts/k2e-clocks.dtsi create mode 100644 arch/arm/dts/k2e-evm.dts create mode 100644 arch/arm/dts/k2e-netcp.dtsi create mode 100644 arch/arm/dts/k2e.dtsi create mode 100644 arch/arm/dts/k2hk-clocks.dtsi create mode 100644 arch/arm/dts/k2hk-evm.dts create mode 100644 arch/arm/dts/k2hk-netcp.dtsi create mode 100644 arch/arm/dts/k2hk.dtsi create mode 100644 arch/arm/dts/k2l-clocks.dtsi create mode 100644 arch/arm/dts/k2l-evm.dts create mode 100644 arch/arm/dts/k2l-netcp.dtsi create mode 100644 arch/arm/dts/k2l.dtsi create mode 100644 arch/arm/dts/keystone-clocks.dtsi create mode 100644 arch/arm/dts/keystone.dtsi
cover ARM: keystone2: Enable OF_CONTROL and DM
Quoted 14 lines · Lokesh Vutla
Hi Tom,
Quoted 11 lines · Lokesh Vutla
This patch series enables
OF_CONTROLand DM for all keystone platforms. In order to add support forOF_CONTROLall the keystone2 specific DT files are imported from Linux kernel. For now onlyDM_SERIALis enabled on all keystone2 platforms, moving forward all other drivers are converted to DM and will be enabled in defconfig.Build targets used:
UART boot: u-boot-dtb.bin
NAND boot: MLO
SPI boot: u-boot-spl.gph
Quoted 7 lines
Quoted 5 lines
Above three bootmodes are verified on the following platforms:
K2HK-evm, K2L-evm, K2E-evm.This patch series is based on top of keystone serial driver posted previously:
https://www.mail-archive.com/u-boot%40lists.denx.de/msg186443.htmlGentle ping.
Thanks, I'm going to put together a PR of my own stuff today or tomorrow.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/05462156/attachment.sig>