[PATCH v6 00/27] Add support for sam9x7 SoC family
From: Varshini Rajendran
Date: Mon Jul 29 2024 - 02:56:53 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 v6:
--------------
- Addressed all the review comments in the patches
- Picked up all Acked-by and Reviewed-by tags
- Reverted the IRQ patch to that of version 3 of the same series
- All the specific changes are captured in the corresponding patches
Changes in v5:
--------------
- Addressed all the review comments in the patches
- Picked up all Acked-by and Reviewed-by tags
- Dropped applied patches from the series
- Addressed the ABI breakage reported in the IRQ patch
- All the specific changes are captured in the corresponding patches
Changes in v4:
--------------
- Addressed all the review comments in the patches
- Picked up all Acked-by and Reviewed-by tags
- Dropped applied patches from the series
- Added pwm node and related dt binding documentation
- Added support for exporting some clocks to DT
- Dropped USB related patches and changes. See NOTE.
- All the specific changes are captured in the corresponding patches
NOTE: Owing to the discussion here
https://lore.kernel.org/linux-devicetree/CAL_JsqJ9PrX6fj-EbffeJce09MXs=B7t+KS_kOinxaRx38=WxA@xxxxxxxxxxxxxx/
the USB related changes are dropped from this series in order to enable
us to work on the mentioned issues before adding new compatibles as
said. The issues/warnings will be addressed in subsequent patches.
After which the USB related support for sam9x7 SoCs will be added. Hope
this works out fine.
Changes in v3:
--------------
- Fixed the DT documentation errors pointed out in v2.
- Dropped Acked-by tag in tcb DT doc patch as it had to be adapted
according to sam9x7 correctly.
- Picked by the previously missed tags.
- Dropped this patch "dt-bindings: usb: generic-ehci: Document clock-names
property" as the warning was not found while validating DT-schema for
at91-sam9x75_curiosity.dtb.
- Dropped redundant words in the commit message.
- Fixed the CHECK_DTBS warnings validated against
at91-sam9x75_curiosity.dtb.
- Renamed dt nodes according to naming convention.
- Dropped unwanted status property in dts.
- Removed nodes that are not in use from the board dts.
- Removed spi DT doc patch from the series as it was already applied
and a fix patch was applied subsequently. Added a patch to remove the
compatible to adapt sam9x7.
- Added sam9x7 compatibles in usb dt documentation.
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 (26):
dt-bindings: atmel-sysreg: add sam9x7
dt-bindings: mfd: syscon: add microchip's sam9x7 sfr
dt-bindings: atmel-ssc: add microchip,sam9x7-ssc
dt-bindings: serial: atmel,at91-usart: add compatible for sam9x7.
dt-bindings: microchip: atmel,at91rm9200-tcb: add sam9x7 compatible
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
dt-bindings: clocks: atmel,at91sam9x5-sckc: add sam9x7
dt-bindings: clocks: atmel,at91rm9200-pmc: add sam9x7 clock controller
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: clock: at91: Allow PLLs to be exported and referenced in
DT
clk: at91: sam9x7: add sam9x7 pmc driver
dt-bindings: interrupt-controller: Add support for sam9x7 aic
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
dt-bindings: reset: atmel,at91sam9260-reset: add sam9x7
dt-bindings: power: reset: atmel,sama5d2-shdwc: add sam9x7
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: microchip: sam9x75_curiosity: add sam9x75 curiosity board
.../devicetree/bindings/arm/atmel-at91.yaml | 6 +
.../devicetree/bindings/arm/atmel-sysregs.txt | 6 +-
.../bindings/clock/atmel,at91rm9200-pmc.yaml | 2 +
.../bindings/clock/atmel,at91sam9x5-sckc.yaml | 4 +-
.../interrupt-controller/atmel,aic.yaml | 1 +
.../devicetree/bindings/mfd/syscon.yaml | 188 +--
.../devicetree/bindings/misc/atmel-ssc.txt | 1 +
.../power/reset/atmel,sama5d2-shdwc.yaml | 3 +
.../reset/atmel,at91sam9260-reset.yaml | 4 +
.../bindings/serial/atmel,at91-usart.yaml | 9 +-
.../soc/microchip/atmel,at91rm9200-tcb.yaml | 20 +-
arch/arm/boot/dts/microchip/Makefile | 3 +
.../dts/microchip/at91-sam9x75_curiosity.dts | 312 +++++
arch/arm/boot/dts/microchip/sam9x7.dtsi | 1226 +++++++++++++++++
arch/arm/configs/at91_dt_defconfig | 1 +
arch/arm/mach-at91/Kconfig | 22 +-
arch/arm/mach-at91/Makefile | 1 +
arch/arm/mach-at91/generic.h | 2 +
arch/arm/mach-at91/pm.c | 29 +
arch/arm/mach-at91/sam9x7.c | 33 +
drivers/clk/at91/Makefile | 1 +
drivers/clk/at91/clk-sam9x60-pll.c | 42 +-
drivers/clk/at91/pmc.h | 18 +
drivers/clk/at91/sam9x60.c | 7 +
drivers/clk/at91/sam9x7.c | 946 +++++++++++++
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 +
include/dt-bindings/clock/at91.h | 4 +
32 files changed, 2840 insertions(+), 140 deletions(-)
create mode 100644 arch/arm/boot/dts/microchip/at91-sam9x75_curiosity.dts
create mode 100644 arch/arm/boot/dts/microchip/sam9x7.dtsi
create mode 100644 arch/arm/mach-at91/sam9x7.c
create mode 100644 drivers/clk/at91/sam9x7.c
--
2.25.1