Commit e9d44015 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'at91-5.6-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/soc

AT91 SoC for 5.5

 - Document new SoC: sam9x60
 - rework sam9x60 Kconfig option

* tag 'at91-5.6-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: at91: Documentation: add sam9x60 product and datasheet
  ARM: at91: pm: use of_device_id array to find the proper shdwc node
  ARM: at91: pm: use SAM9X60 PMC's compatible
  ARM: debug-ll: select DEBUG_AT91_RM9200_DBGU for sam9x60
  drivers: soc: atmel: select POWER_RESET_AT91_SAMA5D2_SHDWC for sam9x60
  power: reset: Kconfig: select POWER_RESET_AT91_RESET for sam9x60
  drivers: soc: atmel: move sam9x60 under its own config flag
  ARM: at91: pm: move SAM9X60's PM under its own SoC config flag
  ARM: at91: Kconfig: add config flag for SAM9X60 SoC
  ARM: at91: Kconfig: add sam9x60 pll config flag

Link: https://lore.kernel.org/r/20200113161612.GA1358903@piout.net


Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 12371865 d9b8e21e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -92,6 +92,12 @@ the Microchip website: http://www.microchip.com.

          http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001517A.pdf

      - sam9x60

          * Datasheet

          http://ww1.microchip.com/downloads/en/DeviceDoc/SAM9X60-Data-Sheet-DS60001579A.pdf

    * ARM Cortex-A5 based SoCs
      - sama5d3 family

+3 −3
Original line number Diff line number Diff line
@@ -147,14 +147,14 @@ choice
		    0x80024000      | 0xf0024000     | UART9

	config DEBUG_AT91_RM9200_DBGU
		bool "Kernel low-level debugging on AT91RM9200, AT91SAM9 DBGU"
		bool "Kernel low-level debugging on AT91RM9200, AT91SAM9, SAM9X60 DBGU"
		select DEBUG_AT91_UART
		depends on SOC_AT91RM9200 || SOC_AT91SAM9
		depends on SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60
		help
		  Say Y here if you want kernel low-level debugging support
		  on the DBGU port of:
		    at91rm9200, at91sam9260, at91sam9g20, at91sam9261,
		    at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5
		    at91sam9g10, at91sam9n12, at91sam9rl64, at91sam9x5, sam9x60

	config DEBUG_AT91_SAM9263_DBGU
		bool "Kernel low-level debugging on AT91SAM{9263,9G45,A5D3} DBGU"
+22 −2
Original line number Diff line number Diff line
@@ -105,11 +105,28 @@ config SOC_AT91SAM9
	    AT91SAM9X35
	    AT91SAM9XE

config SOC_SAM9X60
	bool "SAM9X60"
	depends on ARCH_MULTI_V5
	select ATMEL_AIC5_IRQ
	select ATMEL_PM if PM
	select ATMEL_SDRAMC
	select CPU_ARM926T
	select HAVE_AT91_USB_CLK
	select HAVE_AT91_GENERATED_CLK
	select HAVE_AT91_SAM9X60_PLL
	select MEMORY
	select PINCTRL_AT91
	select SOC_SAM_V4_V5
	select SRAM if PM
	help
	  Select this if you are using Microchip's SAM9X60 SoC

comment "Clocksource driver selection"

config ATMEL_CLOCKSOURCE_PIT
	bool "Periodic Interval Timer (PIT) support"
	depends on SOC_AT91SAM9 || SOC_SAMA5
	depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
	default SOC_AT91SAM9 || SOC_SAMA5
	select ATMEL_PIT
	help
@@ -119,7 +136,7 @@ config ATMEL_CLOCKSOURCE_PIT

config ATMEL_CLOCKSOURCE_TCB
	bool "Timer Counter Blocks (TCB) support"
	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAMA5
	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
	select ATMEL_TCB_CLKSRC
	help
	  Select this to get a high precision clocksource based on a
@@ -154,6 +171,9 @@ config HAVE_AT91_AUDIO_PLL
config HAVE_AT91_I2S_MUX_CLK
	bool

config HAVE_AT91_SAM9X60_PLL
	bool

config SOC_SAM_V4_V5
	bool

+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
# CPU-specific support
obj-$(CONFIG_SOC_AT91RM9200)	+= at91rm9200.o
obj-$(CONFIG_SOC_AT91SAM9)	+= at91sam9.o
obj-$(CONFIG_SOC_SAM9X60)	+= sam9x60.o
obj-$(CONFIG_SOC_SAMA5)		+= sama5.o
obj-$(CONFIG_SOC_SAMV7)		+= samv7.o

+0 −18
Original line number Diff line number Diff line
@@ -31,21 +31,3 @@ DT_MACHINE_START(at91sam_dt, "Atmel AT91SAM9")
	.init_machine	= at91sam9_init,
	.dt_compat	= at91_dt_board_compat,
MACHINE_END

static void __init sam9x60_init(void)
{
	of_platform_default_populate(NULL, NULL, NULL);

	sam9x60_pm_init();
}

static const char *const sam9x60_dt_board_compat[] __initconst = {
	"microchip,sam9x60",
	NULL
};

DT_MACHINE_START(sam9x60_dt, "Microchip SAM9X60")
	/* Maintainer: Microchip */
	.init_machine	= sam9x60_init,
	.dt_compat	= sam9x60_dt_board_compat,
MACHINE_END
Loading