ARM: uniphier: add PXs3 SoC support
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Sat, 21 Jan 2017 09:05:31 +0000 (18:05 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Sun, 22 Jan 2017 07:49:34 +0000 (16:49 +0900)
Initial support for PXs3 SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
arch/arm/mach-uniphier/Kconfig
arch/arm/mach-uniphier/board_init.c
arch/arm/mach-uniphier/clk/Makefile
arch/arm/mach-uniphier/clk/pll-pxs3.c [new file with mode: 0644]
arch/arm/mach-uniphier/cpu-info.c
arch/arm/mach-uniphier/init.h
arch/arm/mach-uniphier/sbc/Makefile
arch/arm/mach-uniphier/soc-info.h
doc/README.uniphier

index e732ac1bfad0c7ea0a37d814f6096be5b67a8609..cd9ba6ba9e6def4370916448fbf43f4dd9b76c04 100644 (file)
@@ -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
index ac7e3a6a95dfbe7f8197054efd298c746e0cd283..e89a4c59e2a7367e5b789fe0da29411f7d51d55d 100644 (file)
@@ -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)
 
index 37df04b12edbda4924a89cb12e74a65c2bac8646..43df670ca0f0dc178478d072ff21f800442a856e 100644 (file)
@@ -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 (file)
index 0000000..e29d9d0
--- /dev/null
@@ -0,0 +1,7 @@
+/*
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+void uniphier_pxs3_pll_init(void)
+{
+}
index a9c8167f3e5b3ba2c74fe58b0df0c70284097996..94dce7c90d8a9b36037ea1d6f8042f297ab8494d 100644 (file)
@@ -52,6 +52,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 -ENOTSUPP;
index d2078064013eb9efdd845a93c09332c12e1b6d81..3aeb5b107943a636ff29ceb294e5fb9a18c3228b 100644 (file)
@@ -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);
index b85b1fe87b9bdf34b9a738b4853033d90ff07061..fe9d85a8f2a93cc478e65ffaecb0625c15478dce 100644 (file)
@@ -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
index d7619f4aba3ac906e0967829c40c217009cabd32..04732527a75e5d53dac95dc8d32c949eb27b776a 100644 (file)
@@ -20,6 +20,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);
index a42eaa97610b1e71ad78811ee1d665d35ac32d5c..539b1f20a1e8bfd4b8dfb0d43de701e0d2771309 100644 (file)
@@ -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.