diff mbox

[U-Boot,v3,3/3] armv8/ls1043aqds: Add lpuart support

Message ID 1453357923-24878-4-git-send-email-wenbin.song@nxp.com
State Superseded
Headers show

Commit Message

Wenbin song Jan. 21, 2016, 6:32 a.m. UTC
Add lpuart support using the driver model.

Signed-off-by: Wenbin Song <wenbin.song@nxp.com>
---
 arch/arm/dts/Makefile                   |  1 +
 arch/arm/dts/fsl-ls1043a-qds-lpuart.dts | 16 ++++++++++
 arch/arm/dts/fsl-ls1043a-qds.dtsi       |  4 +++
 arch/arm/dts/fsl-ls1043a.dtsi           | 54 +++++++++++++++++++++++++++++++++
 configs/ls1043aqds_lpuart_defconfig     | 10 ++++++
 include/configs/ls1043aqds.h            |  7 +++++
 6 files changed, 92 insertions(+)
 create mode 100644 arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
 create mode 100644 configs/ls1043aqds_lpuart_defconfig

Comments

Bin Meng Jan. 21, 2016, 8:42 a.m. UTC | #1
Hi Wenbin,

On Thu, Jan 21, 2016 at 2:32 PM, Wenbin Song <wenbin.song@nxp.com> wrote:
> Add lpuart support using the driver model.
>
> Signed-off-by: Wenbin Song <wenbin.song@nxp.com>
> ---
>  arch/arm/dts/Makefile                   |  1 +
>  arch/arm/dts/fsl-ls1043a-qds-lpuart.dts | 16 ++++++++++
>  arch/arm/dts/fsl-ls1043a-qds.dtsi       |  4 +++
>  arch/arm/dts/fsl-ls1043a.dtsi           | 54 +++++++++++++++++++++++++++++++++
>  configs/ls1043aqds_lpuart_defconfig     | 10 ++++++
>  include/configs/ls1043aqds.h            |  7 +++++
>  6 files changed, 92 insertions(+)
>  create mode 100644 arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
>  create mode 100644 configs/ls1043aqds_lpuart_defconfig
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 302456c..a51275c 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -97,6 +97,7 @@ dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \
>  dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
>         fsl-ls2080a-rdb.dtb
>  dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
> +       fsl-ls1043a-qds-lpuart.dtb \
>         fsl-ls1043a-rdb.dtb
>
>  dtb-$(CONFIG_MACH_SUN4I) += \
> diff --git a/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts b/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
> new file mode 100644
> index 0000000..18adb97
> --- /dev/null
> +++ b/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
> @@ -0,0 +1,16 @@
> +/*
> + * Device Tree file for Freescale Layerscape-1043A family SoC.
> + *
> + * Copyright (C) 2015, Freescale Semiconductor
> + *
> + * SPDX-License-Identifier:    GPL-2.0+
> + */
> +
> +/dts-v1/;
> +#include "fsl-ls1043a-qds.dtsi"
> +
> +/ {
> +       chosen {
> +               stdout-path = &lpuart0;
> +       };
> +};
> diff --git a/arch/arm/dts/fsl-ls1043a-qds.dtsi b/arch/arm/dts/fsl-ls1043a-qds.dtsi
> index 6fa16b8..b9dad72 100644
> --- a/arch/arm/dts/fsl-ls1043a-qds.dtsi
> +++ b/arch/arm/dts/fsl-ls1043a-qds.dtsi
> @@ -121,3 +121,7 @@
>  &duart1 {
>         status = "okay";
>  };
> +
> +&lpuart0 {
> +       status = "okay";
> +};
> diff --git a/arch/arm/dts/fsl-ls1043a.dtsi b/arch/arm/dts/fsl-ls1043a.dtsi
> index 85ea81e..12ea0ab 100644
> --- a/arch/arm/dts/fsl-ls1043a.dtsi
> +++ b/arch/arm/dts/fsl-ls1043a.dtsi
> @@ -182,5 +182,59 @@
>                         interrupts = <0 55 0x4>;
>                         clocks = <&clockgen 4 0>;
>                 };
> +
> +               lpuart0: serial@2950000 {
> +                       compatible = "fsl,ls1021a-lpuart";
> +                       reg = <0x0 0x2950000 0x0 0x1000>;
> +                       interrupts = <0 48 0x4>;
> +                       clocks = <&sysclk>;
> +                       clock-names = "ipg";
> +                       status = "disabled";
> +               };
> +
> +               lpuart1: serial@2960000 {
> +                       compatible = "fsl,ls1021a-lpuart";
> +                       reg = <0x0 0x2960000 0x0 0x1000>;
> +                       interrupts = <0 49 0x4>;
> +                       clocks = <&sysclk>;
> +                       clock-names = "ipg";
> +                       status = "disabled";
> +               };
> +
> +               lpuart2: serial@2970000 {
> +                       compatible = "fsl,ls1021a-lpuart";
> +                       reg = <0x0 0x2970000 0x0 0x1000>;
> +                       interrupts = <0 50 0x4>;
> +                       clock-names = "ipg";
> +                       clocks = <&sysclk>;
> +                       status = "disabled";
> +               };
> +
> +               lpuart3: serial@2980000 {
> +                       compatible = "fsl,ls1021a-lpuart";
> +                       reg = <0x0 0x2980000 0x0 0x1000>;
> +                       interrupts = <0 51 0x4>;
> +                       clocks = <&sysclk>;
> +                       clock-names = "ipg";
> +                       status = "disabled";
> +               };
> +
> +               lpuart4: serial@2990000 {
> +                       compatible = "fsl,ls1021a-lpuart";
> +                       reg = <0x0 0x2990000 0x0 0x1000>;
> +                       interrupts = <0 52 0x4>;
> +                       clocks = <&sysclk>;
> +                       clock-names = "ipg";
> +                       status = "disabled";
> +               };
> +
> +               lpuart5: serial@29a0000 {
> +                       compatible = "fsl,ls1021a-lpuart";
> +                       reg = <0x0 0x29a0000 0x0 0x1000>;
> +                       interrupts = <0 53 0x4>;
> +                       clocks = <&sysclk>;
> +                       clock-names = "ipg";
> +                       status = "disabled";
> +               };
>         };
>  };
> diff --git a/configs/ls1043aqds_lpuart_defconfig b/configs/ls1043aqds_lpuart_defconfig
> new file mode 100644
> index 0000000..21d6407
> --- /dev/null
> +++ b/configs/ls1043aqds_lpuart_defconfig
> @@ -0,0 +1,10 @@
> +CONFIG_ARM=y
> +CONFIG_TARGET_LS1043AQDS=y
> +CONFIG_DM_SERIAL=y
> +CONFIG_DM_SPI=y
> +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-qds-lpuart"
> +CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,LPUART"
> +CONFIG_OF_CONTROL=y
> +CONFIG_DM=y
> +CONFIG_SPI_FLASH=y
> +CONFIG_FSL_LPUART=y
> diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h
> index 398f1c3..e5c77cb 100644
> --- a/include/configs/ls1043aqds.h
> +++ b/include/configs/ls1043aqds.h
> @@ -88,6 +88,13 @@ unsigned long get_board_ddr_clk(void);
>  #define CONFIG_SYS_FSL_PBL_RCW board/freescale/ls1043aqds/ls1043aqds_rcw_sd_ifc.cfg
>  #endif
>
> +

nits: please remove this blank line.

> +/* LPUART */
> +

nits: please remove this blank line.

> +#ifdef CONFIG_LPUART
> +#define CONFIG_LPUART_32B_REG
> +#endif
> +
>  /* SATA */
>  #define CONFIG_LIBATA
>  #define CONFIG_SCSI_AHCI
> --

Other than that,

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

Regards,
Bin
diff mbox

Patch

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 302456c..a51275c 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -97,6 +97,7 @@  dtb-$(CONFIG_LS102XA) += ls1021a-qds.dtb \
 dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
 	fsl-ls2080a-rdb.dtb
 dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
+	fsl-ls1043a-qds-lpuart.dtb \
 	fsl-ls1043a-rdb.dtb
 
 dtb-$(CONFIG_MACH_SUN4I) += \
diff --git a/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts b/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
new file mode 100644
index 0000000..18adb97
--- /dev/null
+++ b/arch/arm/dts/fsl-ls1043a-qds-lpuart.dts
@@ -0,0 +1,16 @@ 
+/*
+ * Device Tree file for Freescale Layerscape-1043A family SoC.
+ *
+ * Copyright (C) 2015, Freescale Semiconductor
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+/dts-v1/;
+#include "fsl-ls1043a-qds.dtsi"
+
+/ {
+       chosen {
+               stdout-path = &lpuart0;
+       };
+};
diff --git a/arch/arm/dts/fsl-ls1043a-qds.dtsi b/arch/arm/dts/fsl-ls1043a-qds.dtsi
index 6fa16b8..b9dad72 100644
--- a/arch/arm/dts/fsl-ls1043a-qds.dtsi
+++ b/arch/arm/dts/fsl-ls1043a-qds.dtsi
@@ -121,3 +121,7 @@ 
 &duart1 {
 	status = "okay";
 };
+
+&lpuart0 {
+	status = "okay";
+};
diff --git a/arch/arm/dts/fsl-ls1043a.dtsi b/arch/arm/dts/fsl-ls1043a.dtsi
index 85ea81e..12ea0ab 100644
--- a/arch/arm/dts/fsl-ls1043a.dtsi
+++ b/arch/arm/dts/fsl-ls1043a.dtsi
@@ -182,5 +182,59 @@ 
 			interrupts = <0 55 0x4>;
 			clocks = <&clockgen 4 0>;
 		};
+
+		lpuart0: serial@2950000 {
+			compatible = "fsl,ls1021a-lpuart";
+			reg = <0x0 0x2950000 0x0 0x1000>;
+			interrupts = <0 48 0x4>;
+			clocks = <&sysclk>;
+			clock-names = "ipg";
+			status = "disabled";
+		};
+
+		lpuart1: serial@2960000 {
+			compatible = "fsl,ls1021a-lpuart";
+			reg = <0x0 0x2960000 0x0 0x1000>;
+			interrupts = <0 49 0x4>;
+			clocks = <&sysclk>;
+			clock-names = "ipg";
+			status = "disabled";
+		};
+
+		lpuart2: serial@2970000 {
+			compatible = "fsl,ls1021a-lpuart";
+			reg = <0x0 0x2970000 0x0 0x1000>;
+			interrupts = <0 50 0x4>;
+			clock-names = "ipg";
+			clocks = <&sysclk>;
+			status = "disabled";
+		};
+
+		lpuart3: serial@2980000 {
+			compatible = "fsl,ls1021a-lpuart";
+			reg = <0x0 0x2980000 0x0 0x1000>;
+			interrupts = <0 51 0x4>;
+			clocks = <&sysclk>;
+			clock-names = "ipg";
+			status = "disabled";
+		};
+
+		lpuart4: serial@2990000 {
+			compatible = "fsl,ls1021a-lpuart";
+			reg = <0x0 0x2990000 0x0 0x1000>;
+			interrupts = <0 52 0x4>;
+			clocks = <&sysclk>;
+			clock-names = "ipg";
+			status = "disabled";
+		};
+
+		lpuart5: serial@29a0000 {
+			compatible = "fsl,ls1021a-lpuart";
+			reg = <0x0 0x29a0000 0x0 0x1000>;
+			interrupts = <0 53 0x4>;
+			clocks = <&sysclk>;
+			clock-names = "ipg";
+			status = "disabled";
+		};
 	};
 };
diff --git a/configs/ls1043aqds_lpuart_defconfig b/configs/ls1043aqds_lpuart_defconfig
new file mode 100644
index 0000000..21d6407
--- /dev/null
+++ b/configs/ls1043aqds_lpuart_defconfig
@@ -0,0 +1,10 @@ 
+CONFIG_ARM=y
+CONFIG_TARGET_LS1043AQDS=y
+CONFIG_DM_SERIAL=y
+CONFIG_DM_SPI=y
+CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-qds-lpuart"
+CONFIG_SYS_EXTRA_OPTIONS="SYS_FSL_DDR4,LPUART"
+CONFIG_OF_CONTROL=y
+CONFIG_DM=y
+CONFIG_SPI_FLASH=y
+CONFIG_FSL_LPUART=y
diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h
index 398f1c3..e5c77cb 100644
--- a/include/configs/ls1043aqds.h
+++ b/include/configs/ls1043aqds.h
@@ -88,6 +88,13 @@  unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_FSL_PBL_RCW board/freescale/ls1043aqds/ls1043aqds_rcw_sd_ifc.cfg
 #endif
 
+
+/* LPUART */
+
+#ifdef CONFIG_LPUART
+#define CONFIG_LPUART_32B_REG
+#endif
+
 /* SATA */
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI