Initial support for PXs3 SoC.

Signed-off-by: Masahiro Yamada <yamada.masah...@socionext.com>
---

 arch/arm/mach-uniphier/Kconfig        | 5 +++++
 arch/arm/mach-uniphier/board_init.c   | 8 ++++++++
 arch/arm/mach-uniphier/clk/Makefile   | 1 +
 arch/arm/mach-uniphier/clk/pll-pxs3.c | 7 +++++++
 arch/arm/mach-uniphier/cpu-info.c     | 3 +++
 arch/arm/mach-uniphier/init.h         | 1 +
 arch/arm/mach-uniphier/sbc/Makefile   | 1 +
 arch/arm/mach-uniphier/soc-info.h     | 1 +
 doc/README.uniphier                   | 4 ++++
 9 files changed, 31 insertions(+)
 create mode 100644 arch/arm/mach-uniphier/clk/pll-pxs3.c

diff --git a/arch/arm/mach-uniphier/Kconfig b/arch/arm/mach-uniphier/Kconfig
index e732ac1..cd9ba6b 100644
--- a/arch/arm/mach-uniphier/Kconfig
+++ b/arch/arm/mach-uniphier/Kconfig
@@ -88,6 +88,11 @@ config ARCH_UNIPHIER_LD20
        select OF_BOARD_SETUP
        default y
 
+config ARCH_UNIPHIER_PXS3
+       bool "Enable UniPhier PXs3 SoC support"
+       depends on ARCH_UNIPHIER_V8_MULTI
+       default y
+
 config CACHE_UNIPHIER
        bool "Enable the UniPhier L2 cache controller"
        depends on ARCH_UNIPHIER_32BIT
diff --git a/arch/arm/mach-uniphier/board_init.c 
b/arch/arm/mach-uniphier/board_init.c
index ac7e3a6..e89a4c5 100644
--- a/arch/arm/mach-uniphier/board_init.c
+++ b/arch/arm/mach-uniphier/board_init.c
@@ -168,6 +168,14 @@ static const struct uniphier_initdata uniphier_initdata[] 
= {
                .misc_init = uniphier_ld20_misc_init,
        },
 #endif
+#if defined(CONFIG_ARCH_UNIPHIER_PXS3)
+       {
+               .soc_id = UNIPHIER_PXS3_ID,
+               .nand_2cs = false,
+               .sbc_init = uniphier_pxs2_sbc_init,
+               .pll_init = uniphier_pxs3_pll_init,
+       },
+#endif
 };
 UNIPHIER_DEFINE_SOCDATA_FUNC(uniphier_get_initdata, uniphier_initdata)
 
diff --git a/arch/arm/mach-uniphier/clk/Makefile 
b/arch/arm/mach-uniphier/clk/Makefile
index 37df04b..43df670 100644
--- a/arch/arm/mach-uniphier/clk/Makefile
+++ b/arch/arm/mach-uniphier/clk/Makefile
@@ -25,6 +25,7 @@ obj-$(CONFIG_ARCH_UNIPHIER_PXS2)      += clk-pxs2.o
 obj-$(CONFIG_ARCH_UNIPHIER_LD6B)       += clk-pxs2.o
 obj-$(CONFIG_ARCH_UNIPHIER_LD11)       += clk-ld11.o pll-ld11.o
 obj-$(CONFIG_ARCH_UNIPHIER_LD20)       += pll-ld20.o
+obj-$(CONFIG_ARCH_UNIPHIER_PXS3)       += pll-pxs3.o
 
 endif
 
diff --git a/arch/arm/mach-uniphier/clk/pll-pxs3.c 
b/arch/arm/mach-uniphier/clk/pll-pxs3.c
new file mode 100644
index 0000000..e29d9d0
--- /dev/null
+++ b/arch/arm/mach-uniphier/clk/pll-pxs3.c
@@ -0,0 +1,7 @@
+/*
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+void uniphier_pxs3_pll_init(void)
+{
+}
diff --git a/arch/arm/mach-uniphier/cpu-info.c 
b/arch/arm/mach-uniphier/cpu-info.c
index 94bd98e..75586a3 100644
--- a/arch/arm/mach-uniphier/cpu-info.c
+++ b/arch/arm/mach-uniphier/cpu-info.c
@@ -50,6 +50,9 @@ int print_cpuinfo(void)
        case UNIPHIER_LD20_ID:
                puts("LD20 (SC1401AJ1)");
                break;
+       case UNIPHIER_PXS3_ID:
+               puts("PXs3");
+               break;
        default:
                printf("Unknown Processor ID (0x%x)\n", id);
                return -1;
diff --git a/arch/arm/mach-uniphier/init.h b/arch/arm/mach-uniphier/init.h
index d207806..3aeb5b1 100644
--- a/arch/arm/mach-uniphier/init.h
+++ b/arch/arm/mach-uniphier/init.h
@@ -112,6 +112,7 @@ void uniphier_ld4_pll_init(void);
 void uniphier_pro4_pll_init(void);
 void uniphier_ld11_pll_init(void);
 void uniphier_ld20_pll_init(void);
+void uniphier_pxs3_pll_init(void);
 
 void uniphier_ld4_clk_init(void);
 void uniphier_pro4_clk_init(void);
diff --git a/arch/arm/mach-uniphier/sbc/Makefile 
b/arch/arm/mach-uniphier/sbc/Makefile
index b85b1fe..fe9d85a 100644
--- a/arch/arm/mach-uniphier/sbc/Makefile
+++ b/arch/arm/mach-uniphier/sbc/Makefile
@@ -10,3 +10,4 @@ obj-$(CONFIG_ARCH_UNIPHIER_PXS2)      += sbc-pxs2.o
 obj-$(CONFIG_ARCH_UNIPHIER_LD6B)       += sbc-pxs2.o
 obj-$(CONFIG_ARCH_UNIPHIER_LD11)       += sbc-ld11.o
 obj-$(CONFIG_ARCH_UNIPHIER_LD20)       += sbc-ld11.o
+obj-$(CONFIG_ARCH_UNIPHIER_PXS3)       += sbc-pxs2.o
diff --git a/arch/arm/mach-uniphier/soc-info.h 
b/arch/arm/mach-uniphier/soc-info.h
index a85df23..e87ff9c 100644
--- a/arch/arm/mach-uniphier/soc-info.h
+++ b/arch/arm/mach-uniphier/soc-info.h
@@ -19,6 +19,7 @@
 #define UNIPHIER_LD6B_ID       0x2f
 #define UNIPHIER_LD11_ID       0x31
 #define UNIPHIER_LD20_ID       0x32
+#define UNIPHIER_PXS3_ID       0x35
 
 unsigned int uniphier_get_soc_id(void);
 unsigned int uniphier_get_soc_model(void);
diff --git a/doc/README.uniphier b/doc/README.uniphier
index a42eaa9..539b1f2 100644
--- a/doc/README.uniphier
+++ b/doc/README.uniphier
@@ -62,6 +62,10 @@ LD20 reference board:
     $ make uniphier_ld20_defconfig
     $ make CROSS_COMPILE=aarch64-linux-gnu-
 
+PXs3 reference board:
+    $ make uniphier_v8_defconfig
+    $ make CROSS_COMPILE=aarch64-linux-gnu- DEVICE_TREE=uniphier-pxs3-ref
+
 You may wish to change the "CROSS_COMPILE=..." to use your favorite compiler.
 
 
-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to