ARM: uniphier: add PXs3 SoC support

Initial support for PXs3 SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
master
Masahiro Yamada 7 years ago
parent 61e6cc0aa1
commit 2c2ab3d495
  1. 5
      arch/arm/mach-uniphier/Kconfig
  2. 8
      arch/arm/mach-uniphier/board_init.c
  3. 1
      arch/arm/mach-uniphier/clk/Makefile
  4. 7
      arch/arm/mach-uniphier/clk/pll-pxs3.c
  5. 3
      arch/arm/mach-uniphier/cpu-info.c
  6. 1
      arch/arm/mach-uniphier/init.h
  7. 1
      arch/arm/mach-uniphier/sbc/Makefile
  8. 1
      arch/arm/mach-uniphier/soc-info.h
  9. 4
      doc/README.uniphier

@ -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

@ -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)

@ -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

@ -0,0 +1,7 @@
/*
* SPDX-License-Identifier: GPL-2.0+
*/
void uniphier_pxs3_pll_init(void)
{
}

@ -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;

@ -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);

@ -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

@ -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);

@ -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.

Loading…
Cancel
Save