[PATCH v2 00/45] Add support for sam9x7 SoC family

From: Varshini Rajendran
Date: Fri Jun 23 2023 - 16:31:47 EST


This patch series adds support for the new SoC family - sam9x7.
- The device tree, configs and drivers are added
- Clock driver for sam9x7 is added
- Support for basic peripherals is added
- Target board SAM9X75 Curiosity is added

Changes in v2:
--------------

- Added sam9x7 specific compatibles in DT with fallbacks
- Documented all the newly added DT compatible strings
- Added device tree for the target board sam9x75 curiosity and
documented the same in the DT bindings documentation
- Removed the dt nodes that are not supported at the moment
- Removed the configs added by previous version that are not supported
at the moment
- Fixed all the corrections in the commit message
- Changed all the instances of copyright year to 2023
- Added sam9x7 flag in PIT64B configuration
- Moved macro definitions to header file
- Added another divider in mck characteristics in the pmc driver
- Fixed the memory leak in the pmc driver
- Dropped patches that are no longer needed
- Picked up Acked-by and Reviewed-by tags


Hari Prasath (1):
irqchip/atmel-aic5: Add support for sam9x7 aic

Varshini Rajendran (44):
dt-bindings: microchip: atmel,at91rm9200-tcb: add sam9x60, sam9x7
compatible
dt-bindings: usb: ehci: Add atmel at91sam9g45-ehci compatible
dt-bindings: usb: generic-ehci: Document clock-names property
dt-bindings: net: cdns,macb: add documentation for sam9x7 ethernet
interface
ARM: at91: pm: add support for sam9x7 SoC family
ARM: at91: pm: add sam9x7 SoC init config
ARM: at91: add support in SoC driver for new sam9x7
clk: at91: clk-sam9x60-pll: re-factor to support individual core freq
outputs
clk: at91: sam9x7: add support for HW PLL freq dividers
clk: at91: sama7g5: move mux table macros to header file
dt-bindings: clk: at91: add bindings for SAM9X7's clock controller
dt-bindings: reset: atmel,at91sam9260-reset: add sam9x7 binding
dt-bindings: atmel-sysreg: add bindings for sam9x7
dt-bindings: crypto: add bindings for sam9x7 in Atmel AES
dt-bindings: crypto: add bindings for sam9x7 in Atmel SHA
dt-bindings: crypto: add bindings for sam9x7 in Atmel TDES
dt-bindings: dmaengine: at_xdmac: add compatible with microchip,sam9x7
dt-bindings: i2c: at91: Add SAM9X7 compatible string
dt-bindings: mfd: at91: Add SAM9X7 compatible string
dt-bindings: atmel-gpbr: add microchip,sam9x7-gpbr
dt-bindings: atmel-matrix: add microchip,sam9x7-matrix
dt-bindings: atmel-smc: add microchip,sam9x7-smc
dt-bindings: atmel-ssc: add microchip,sam9x7-ssc
dt-bindings: sdhci-of-at91: add microchip,sam9x7-sdhci
dt-bindings: atmel-nand: add microchip,sam9x7-pmecc
dt-bindings: pinctrl: at91: add bindings for SAM9X7
dt-bindings: rng: atmel,at91-trng: document sam9x7 TRNG
dt-bindings: rtc: at91rm9200: add sam9x7 compatible
dt-bindings: rtt: at91rm9260: add sam9x7 compatible
dt-bindings: serial: atmel,at91-usart: add compatible for sam9x7
dt-bindings: atmel-classd: add sam9x7 compatible
spi: dt-bindings: atmel,at91rm9200-spi: add sam9x7 compatible
dt-bindings: usb: atmel: Update DT bindings documentation for sam9x7
dt-bindings: watchdog: sama5d4-wdt: add compatible for sam9x7-wdt
dt-bindings: irqchip/atmel-aic5: Add support for sam9x7 aic
clk: at91: sam9x7: add sam9x7 pmc driver
power: reset: at91-poweroff: lookup for proper pmc dt node for sam9x7
power: reset: at91-reset: add reset support for sam9x7 SoC
power: reset: at91-reset: add sdhwc support for sam9x7 SoC
ARM: at91: Kconfig: add config flag for SAM9X7 SoC
ARM: configs: at91: enable config flags for sam9x7 SoC family
ARM: dts: at91: sam9x7: add device tree for SoC
dt-bindings: arm: add sam9x75 curiosity board
ARM: dts: at91: sam9x75_curiosity: add device tree for sam9x75
curiosity board

.../devicetree/bindings/arm/atmel-at91.yaml | 6 +
.../devicetree/bindings/arm/atmel-sysregs.txt | 7 +-
.../devicetree/bindings/clock/at91-clock.txt | 7 +-
.../crypto/atmel,at91sam9g46-aes.yaml | 5 +-
.../crypto/atmel,at91sam9g46-sha.yaml | 5 +-
.../crypto/atmel,at91sam9g46-tdes.yaml | 5 +-
.../devicetree/bindings/dma/atmel-xdma.txt | 4 +-
.../bindings/i2c/atmel,at91sam-i2c.yaml | 3 +
.../interrupt-controller/atmel,aic.txt | 2 +-
.../devicetree/bindings/mfd/atmel-flexcom.txt | 2 +-
.../devicetree/bindings/mfd/atmel-gpbr.txt | 1 +
.../devicetree/bindings/mfd/atmel-matrix.txt | 1 +
.../devicetree/bindings/mfd/atmel-smc.txt | 1 +
.../devicetree/bindings/misc/atmel-ssc.txt | 1 +
.../devicetree/bindings/mmc/sdhci-atmel.txt | 4 +-
.../devicetree/bindings/mtd/atmel-nand.txt | 1 +
.../devicetree/bindings/net/cdns,macb.yaml | 1 +
.../bindings/pinctrl/atmel,at91-pinctrl.txt | 3 +-
.../reset/atmel,at91sam9260-reset.yaml | 1 +
.../bindings/rng/atmel,at91-trng.yaml | 1 +
.../bindings/rtc/atmel,at91rm9200-rtc.yaml | 1 +
.../bindings/rtc/atmel,at91sam9260-rtt.yaml | 1 +
.../bindings/serial/atmel,at91-usart.yaml | 3 +
.../soc/microchip/atmel,at91rm9200-tcb.yaml | 2 +
.../bindings/sound/atmel,sama5d2-classd.yaml | 5 +-
.../bindings/spi/atmel,at91rm9200-spi.yaml | 1 +
.../devicetree/bindings/usb/atmel-usb.txt | 9 +-
.../devicetree/bindings/usb/generic-ehci.yaml | 5 +
.../bindings/watchdog/atmel,sama5d4-wdt.yaml | 1 +
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/at91-sam9x75_curiosity.dts | 336 +++++
arch/arm/boot/dts/sam9x7.dtsi | 1237 +++++++++++++++++
arch/arm/configs/at91_dt_defconfig | 1 +
arch/arm/mach-at91/Kconfig | 23 +-
arch/arm/mach-at91/Makefile | 1 +
arch/arm/mach-at91/generic.h | 2 +
arch/arm/mach-at91/pm.c | 35 +
arch/arm/mach-at91/sam9x7.c | 34 +
drivers/clk/at91/Makefile | 1 +
drivers/clk/at91/clk-sam9x60-pll.c | 50 +-
drivers/clk/at91/pmc.h | 18 +
drivers/clk/at91/sam9x60.c | 7 +
drivers/clk/at91/sam9x7.c | 942 +++++++++++++
drivers/clk/at91/sama7g5.c | 42 +-
drivers/irqchip/irq-atmel-aic5.c | 10 +
drivers/power/reset/Kconfig | 4 +-
drivers/power/reset/at91-sama5d2_shdwc.c | 1 +
drivers/soc/atmel/soc.c | 23 +
drivers/soc/atmel/soc.h | 9 +
49 files changed, 2806 insertions(+), 61 deletions(-)
create mode 100644 arch/arm/boot/dts/at91-sam9x75_curiosity.dts
create mode 100644 arch/arm/boot/dts/sam9x7.dtsi
create mode 100644 arch/arm/mach-at91/sam9x7.c
create mode 100644 drivers/clk/at91/sam9x7.c

--
2.25.1