aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-uniphier/Kconfig5
-rw-r--r--arch/arm/mach-uniphier/board_init.c8
-rw-r--r--arch/arm/mach-uniphier/clk/Makefile1
-rw-r--r--arch/arm/mach-uniphier/clk/pll-pxs3.c7
-rw-r--r--arch/arm/mach-uniphier/cpu-info.c3
-rw-r--r--arch/arm/mach-uniphier/init.h1
-rw-r--r--arch/arm/mach-uniphier/sbc/Makefile1
-rw-r--r--arch/arm/mach-uniphier/soc-info.h1
-rw-r--r--doc/README.uniphier4
9 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/mach-uniphier/Kconfig b/arch/arm/mach-uniphier/Kconfig
index e732ac1bfad..cd9ba6ba9e6 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 ac7e3a6a95d..e89a4c59e2a 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 37df04b12ed..43df670ca0f 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 00000000000..e29d9d00014
--- /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 a9c8167f3e5..94dce7c90d8 100644
--- a/arch/arm/mach-uniphier/cpu-info.c
+++ b/arch/arm/mach-uniphier/cpu-info.c
@@ -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;
diff --git a/arch/arm/mach-uniphier/init.h b/arch/arm/mach-uniphier/init.h
index d2078064013..3aeb5b10794 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 b85b1fe87b9..fe9d85a8f2a 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 d7619f4aba3..04732527a75 100644
--- a/arch/arm/mach-uniphier/soc-info.h
+++ b/arch/arm/mach-uniphier/soc-info.h
@@ -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);
diff --git a/doc/README.uniphier b/doc/README.uniphier
index a42eaa97610..539b1f20a1e 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.