[U-Boot] [PATCH 0/2] stv0991: Add flat device tree support

This patchset adds device tree support for stv0991 soc.
Vikas Manocha (2): stv0991: fdt: add stv0991 device tree stv0991: use fdt for serial port platform data
arch/arm/dts/Makefile | 1 + arch/arm/dts/stv0991.dts | 23 +++++++++++++++++++++++ board/st/stv0991/stv0991.c | 2 ++ configs/stv0991_defconfig | 1 + include/configs/stv0991.h | 3 +++ 5 files changed, 30 insertions(+) create mode 100644 arch/arm/dts/stv0991.dts

Signed-off-by: Vikas Manocha vikas.manocha@st.com --- arch/arm/dts/Makefile | 1 + arch/arm/dts/stv0991.dts | 23 +++++++++++++++++++++++ configs/stv0991_defconfig | 1 + include/configs/stv0991.h | 3 +++ 4 files changed, 28 insertions(+) create mode 100644 arch/arm/dts/stv0991.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 46a6171..86faf58 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -54,6 +54,7 @@ dtb-$(CONFIG_SOCFPGA) += \ socfpga_arria5_socdk.dtb \ socfpga_cyclone5_socdk.dtb \ socfpga_cyclone5_socrates.dtb +dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb
dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \ ls1021a-twr.dtb diff --git a/arch/arm/dts/stv0991.dts b/arch/arm/dts/stv0991.dts new file mode 100644 index 0000000..b25c48b --- /dev/null +++ b/arch/arm/dts/stv0991.dts @@ -0,0 +1,23 @@ +/dts-v1/; + +/ { + model = "ST STV0991 application board"; + compatible = "st,stv0991"; + #address-cells = <1>; + #size-cells = <1>; + + chosen { + stdout-path = &uart0; + }; + + memory { + device_type="memory"; + reg = <0x0 0x198000>; + }; + + uart0: serial@0x80406000 { + compatible = "arm,pl011", "arm,primecell"; + reg = <0x80406000 0x1000>; + clock = <2700000>; + }; +}; diff --git a/configs/stv0991_defconfig b/configs/stv0991_defconfig index 76ba41b..d9edc06 100644 --- a/configs/stv0991_defconfig +++ b/configs/stv0991_defconfig @@ -5,3 +5,4 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_ETH_DESIGNWARE=y CONFIG_NETDEVICES=y CONFIG_NET=y +CONFIG_DEFAULT_DEVICE_TREE="stv0991" diff --git a/include/configs/stv0991.h b/include/configs/stv0991.h index 2f65eda..750eebd 100644 --- a/include/configs/stv0991.h +++ b/include/configs/stv0991.h @@ -80,4 +80,7 @@ #define CONFIG_AUTOBOOT_PROMPT \ "Hit SPACE in %d seconds to stop autoboot.\n", bootdelay #undef CONFIG_HAS_VBAR +#define CONFIG_OF_EMBED +#define CONFIG_OF_CONTROL +#define CONFIG_OF_LIBFDT #endif /* __CONFIG_H */

Hi Vikas,
On 1 May 2015 at 16:43, Vikas Manocha vikas.manocha@st.com wrote:
<commit message here>
Signed-off-by: Vikas Manocha vikas.manocha@st.com
arch/arm/dts/Makefile | 1 + arch/arm/dts/stv0991.dts | 23 +++++++++++++++++++++++ configs/stv0991_defconfig | 1 + include/configs/stv0991.h | 3 +++ 4 files changed, 28 insertions(+) create mode 100644 arch/arm/dts/stv0991.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 46a6171..86faf58 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -54,6 +54,7 @@ dtb-$(CONFIG_SOCFPGA) += \ socfpga_arria5_socdk.dtb \ socfpga_cyclone5_socdk.dtb \ socfpga_cyclone5_socrates.dtb +dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb
Is this the only chip in this soc family? If so fine. If not, could your CONFIG be a little broader so we can (later) list all the DTBs here?
dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \ ls1021a-twr.dtb diff --git a/arch/arm/dts/stv0991.dts b/arch/arm/dts/stv0991.dts new file mode 100644 index 0000000..b25c48b --- /dev/null +++ b/arch/arm/dts/stv0991.dts @@ -0,0 +1,23 @@ +/dts-v1/;
+/ {
model = "ST STV0991 application board";
compatible = "st,stv0991";
#address-cells = <1>;
#size-cells = <1>;
chosen {
stdout-path = &uart0;
};
memory {
device_type="memory";
reg = <0x0 0x198000>;
};
uart0: serial@0x80406000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0x80406000 0x1000>;
clock = <2700000>;
};
+}; diff --git a/configs/stv0991_defconfig b/configs/stv0991_defconfig index 76ba41b..d9edc06 100644 --- a/configs/stv0991_defconfig +++ b/configs/stv0991_defconfig @@ -5,3 +5,4 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_ETH_DESIGNWARE=y CONFIG_NETDEVICES=y CONFIG_NET=y +CONFIG_DEFAULT_DEVICE_TREE="stv0991" diff --git a/include/configs/stv0991.h b/include/configs/stv0991.h index 2f65eda..750eebd 100644 --- a/include/configs/stv0991.h +++ b/include/configs/stv0991.h @@ -80,4 +80,7 @@ #define CONFIG_AUTOBOOT_PROMPT \ "Hit SPACE in %d seconds to stop autoboot.\n", bootdelay #undef CONFIG_HAS_VBAR +#define CONFIG_OF_EMBED +#define CONFIG_OF_CONTROL +#define CONFIG_OF_LIBFDT
#endif /* __CONFIG_H */
1.7.9.5
Regards, Simon

Thanks Simon,
On 05/01/2015 04:01 PM, Simon Glass wrote:
Hi Vikas,
On 1 May 2015 at 16:43, Vikas Manocha vikas.manocha@st.com wrote:
<commit message here>
There is not much to add in the commit message apart from info in the title, that is why i didn't add any message in the body. Please let me know if i am missing something ?
Signed-off-by: Vikas Manocha vikas.manocha@st.com
arch/arm/dts/Makefile | 1 + arch/arm/dts/stv0991.dts | 23 +++++++++++++++++++++++ configs/stv0991_defconfig | 1 + include/configs/stv0991.h | 3 +++ 4 files changed, 28 insertions(+) create mode 100644 arch/arm/dts/stv0991.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 46a6171..86faf58 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -54,6 +54,7 @@ dtb-$(CONFIG_SOCFPGA) += \ socfpga_arria5_socdk.dtb \ socfpga_cyclone5_socdk.dtb \ socfpga_cyclone5_socrates.dtb +dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb
Is this the only chip in this soc family? If so fine. If not, could your CONFIG be a little broader so we can (later) list all the DTBs here?
Yes, it is the only chip :-(, hope there will be more.
Rgds, Vikas
dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \ ls1021a-twr.dtb diff --git a/arch/arm/dts/stv0991.dts b/arch/arm/dts/stv0991.dts new file mode 100644 index 0000000..b25c48b --- /dev/null +++ b/arch/arm/dts/stv0991.dts @@ -0,0 +1,23 @@ +/dts-v1/;
+/ {
model = "ST STV0991 application board";
compatible = "st,stv0991";
#address-cells = <1>;
#size-cells = <1>;
chosen {
stdout-path = &uart0;
};
memory {
device_type="memory";
reg = <0x0 0x198000>;
};
uart0: serial@0x80406000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0x80406000 0x1000>;
clock = <2700000>;
};
+}; diff --git a/configs/stv0991_defconfig b/configs/stv0991_defconfig index 76ba41b..d9edc06 100644 --- a/configs/stv0991_defconfig +++ b/configs/stv0991_defconfig @@ -5,3 +5,4 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_ETH_DESIGNWARE=y CONFIG_NETDEVICES=y CONFIG_NET=y +CONFIG_DEFAULT_DEVICE_TREE="stv0991" diff --git a/include/configs/stv0991.h b/include/configs/stv0991.h index 2f65eda..750eebd 100644 --- a/include/configs/stv0991.h +++ b/include/configs/stv0991.h @@ -80,4 +80,7 @@ #define CONFIG_AUTOBOOT_PROMPT \ "Hit SPACE in %d seconds to stop autoboot.\n", bootdelay #undef CONFIG_HAS_VBAR +#define CONFIG_OF_EMBED +#define CONFIG_OF_CONTROL +#define CONFIG_OF_LIBFDT
#endif /* __CONFIG_H */
1.7.9.5
Regards, Simon

Hi Vikas,
On 1 May 2015 at 17:18, vikasm vikas.manocha@st.com wrote:
Thanks Simon,
On 05/01/2015 04:01 PM, Simon Glass wrote:
Hi Vikas,
On 1 May 2015 at 16:43, Vikas Manocha vikas.manocha@st.com wrote:
<commit message here>
There is not much to add in the commit message apart from info in the title, that is why i didn't add any message in the body. Please let me know if i am missing something ?
How about:
"Add a device tree for the St Micro STV0991 board and enable device tree control. We will progressively add device tree support to drivers used by this board"
Signed-off-by: Vikas Manocha vikas.manocha@st.com
arch/arm/dts/Makefile | 1 + arch/arm/dts/stv0991.dts | 23 +++++++++++++++++++++++ configs/stv0991_defconfig | 1 + include/configs/stv0991.h | 3 +++ 4 files changed, 28 insertions(+) create mode 100644 arch/arm/dts/stv0991.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 46a6171..86faf58 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -54,6 +54,7 @@ dtb-$(CONFIG_SOCFPGA) += \ socfpga_arria5_socdk.dtb \ socfpga_cyclone5_socdk.dtb \ socfpga_cyclone5_socrates.dtb +dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb
Is this the only chip in this soc family? If so fine. If not, could your CONFIG be a little broader so we can (later) list all the DTBs here?
Yes, it is the only chip :-(, hope there will be more.
OK.
Rgds, Vikas
dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \ ls1021a-twr.dtb diff --git a/arch/arm/dts/stv0991.dts b/arch/arm/dts/stv0991.dts new file mode 100644 index 0000000..b25c48b --- /dev/null +++ b/arch/arm/dts/stv0991.dts @@ -0,0 +1,23 @@ +/dts-v1/;
+/ {
model = "ST STV0991 application board";
compatible = "st,stv0991";
#address-cells = <1>;
#size-cells = <1>;
chosen {
stdout-path = &uart0;
};
memory {
device_type="memory";
reg = <0x0 0x198000>;
};
uart0: serial@0x80406000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0x80406000 0x1000>;
clock = <2700000>;
};
+}; diff --git a/configs/stv0991_defconfig b/configs/stv0991_defconfig index 76ba41b..d9edc06 100644 --- a/configs/stv0991_defconfig +++ b/configs/stv0991_defconfig @@ -5,3 +5,4 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_ETH_DESIGNWARE=y CONFIG_NETDEVICES=y CONFIG_NET=y +CONFIG_DEFAULT_DEVICE_TREE="stv0991" diff --git a/include/configs/stv0991.h b/include/configs/stv0991.h index 2f65eda..750eebd 100644 --- a/include/configs/stv0991.h +++ b/include/configs/stv0991.h @@ -80,4 +80,7 @@ #define CONFIG_AUTOBOOT_PROMPT \ "Hit SPACE in %d seconds to stop autoboot.\n", bootdelay #undef CONFIG_HAS_VBAR +#define CONFIG_OF_EMBED +#define CONFIG_OF_CONTROL +#define CONFIG_OF_LIBFDT
#endif /* __CONFIG_H */
1.7.9.5
Regards, Simon
Regards, Simon

Hi Simon,
On 05/01/2015 04:45 PM, Simon Glass wrote:
Hi Vikas,
On 1 May 2015 at 17:18, vikasm vikas.manocha@st.com wrote:
Thanks Simon,
On 05/01/2015 04:01 PM, Simon Glass wrote:
Hi Vikas,
On 1 May 2015 at 16:43, Vikas Manocha vikas.manocha@st.com wrote:
<commit message here>
There is not much to add in the commit message apart from info in the title, that is why i didn't add any message in the body. Please let me know if i am missing something ?
How about:
"Add a device tree for the St Micro STV0991 board and enable device tree control. We will progressively add device tree support to drivers used by this board"
Thanks, i will send V2.
Rgds, Vikas
Signed-off-by: Vikas Manocha vikas.manocha@st.com
arch/arm/dts/Makefile | 1 + arch/arm/dts/stv0991.dts | 23 +++++++++++++++++++++++ configs/stv0991_defconfig | 1 + include/configs/stv0991.h | 3 +++ 4 files changed, 28 insertions(+) create mode 100644 arch/arm/dts/stv0991.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 46a6171..86faf58 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -54,6 +54,7 @@ dtb-$(CONFIG_SOCFPGA) += \ socfpga_arria5_socdk.dtb \ socfpga_cyclone5_socdk.dtb \ socfpga_cyclone5_socrates.dtb +dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb
Is this the only chip in this soc family? If so fine. If not, could your CONFIG be a little broader so we can (later) list all the DTBs here?
Yes, it is the only chip :-(, hope there will be more.
OK.
Rgds, Vikas
dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \ ls1021a-twr.dtb diff --git a/arch/arm/dts/stv0991.dts b/arch/arm/dts/stv0991.dts new file mode 100644 index 0000000..b25c48b --- /dev/null +++ b/arch/arm/dts/stv0991.dts @@ -0,0 +1,23 @@ +/dts-v1/;
+/ {
model = "ST STV0991 application board";
compatible = "st,stv0991";
#address-cells = <1>;
#size-cells = <1>;
chosen {
stdout-path = &uart0;
};
memory {
device_type="memory";
reg = <0x0 0x198000>;
};
uart0: serial@0x80406000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0x80406000 0x1000>;
clock = <2700000>;
};
+}; diff --git a/configs/stv0991_defconfig b/configs/stv0991_defconfig index 76ba41b..d9edc06 100644 --- a/configs/stv0991_defconfig +++ b/configs/stv0991_defconfig @@ -5,3 +5,4 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_ETH_DESIGNWARE=y CONFIG_NETDEVICES=y CONFIG_NET=y +CONFIG_DEFAULT_DEVICE_TREE="stv0991" diff --git a/include/configs/stv0991.h b/include/configs/stv0991.h index 2f65eda..750eebd 100644 --- a/include/configs/stv0991.h +++ b/include/configs/stv0991.h @@ -80,4 +80,7 @@ #define CONFIG_AUTOBOOT_PROMPT \ "Hit SPACE in %d seconds to stop autoboot.\n", bootdelay #undef CONFIG_HAS_VBAR +#define CONFIG_OF_EMBED +#define CONFIG_OF_CONTROL +#define CONFIG_OF_LIBFDT
#endif /* __CONFIG_H */
1.7.9.5
Regards, Simon
Regards, Simon

Signed-off-by: Vikas Manocha vikas.manocha@st.com --- board/st/stv0991/stv0991.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/board/st/stv0991/stv0991.c b/board/st/stv0991/stv0991.c index 38f6e1d..09f973f 100644 --- a/board/st/stv0991/stv0991.c +++ b/board/st/stv0991/stv0991.c @@ -21,6 +21,7 @@ DECLARE_GLOBAL_DATA_PTR; struct gpio_regs *const gpioa_regs = (struct gpio_regs *) GPIOA_BASE_ADDR;
+#ifndef CONFIG_OF_CONTROL static const struct pl01x_serial_platdata serial_platdata = { .base = 0x80406000, .type = TYPE_PL011, @@ -31,6 +32,7 @@ U_BOOT_DEVICE(stv09911_serials) = { .name = "serial_pl01x", .platdata = &serial_platdata, }; +#endif
#ifdef CONFIG_SHOW_BOOT_PROGRESS void show_boot_progress(int progress)

On 1 May 2015 at 16:43, Vikas Manocha vikas.manocha@st.com wrote:
Signed-off-by: Vikas Manocha vikas.manocha@st.com
board/st/stv0991/stv0991.c | 2 ++ 1 file changed, 2 insertions(+)
Needs a commit message. With that:
Reviewed-by: Simon Glass sjg@chromium.org
diff --git a/board/st/stv0991/stv0991.c b/board/st/stv0991/stv0991.c index 38f6e1d..09f973f 100644 --- a/board/st/stv0991/stv0991.c +++ b/board/st/stv0991/stv0991.c @@ -21,6 +21,7 @@ DECLARE_GLOBAL_DATA_PTR; struct gpio_regs *const gpioa_regs = (struct gpio_regs *) GPIOA_BASE_ADDR;
+#ifndef CONFIG_OF_CONTROL static const struct pl01x_serial_platdata serial_platdata = { .base = 0x80406000, .type = TYPE_PL011, @@ -31,6 +32,7 @@ U_BOOT_DEVICE(stv09911_serials) = { .name = "serial_pl01x", .platdata = &serial_platdata, }; +#endif
#ifdef CONFIG_SHOW_BOOT_PROGRESS void show_boot_progress(int progress) -- 1.7.9.5
participants (3)
-
Simon Glass
-
Vikas Manocha
-
vikasm