[PATCH v4 00/39] Add support for sam9x7 SoC family
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 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+K... 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
Varshini Rajendran (39): dt-bindings: net: cdns,macb: add sam9x7 ethernet interface dt-bindings: atmel-sysreg: add sam9x7 dt-bindings: crypto: add sam9x7 in Atmel AES dt-bindings: crypto: add sam9x7 in Atmel SHA dt-bindings: crypto: add sam9x7 in Atmel TDES dt-bindings: i2c: at91: Add sam9x7 compatible string dt-bindings: atmel-ssc: add microchip,sam9x7-ssc dt-bindings: atmel-nand: add microchip,sam9x7-pmecc dt-bindings: pinctrl: at91: add sam9x7 dt-bindings: rng: atmel,at91-trng: add sam9x7 TRNG dt-bindings: rtt: at91rm9260: add sam9x7 compatible dt-bindings: serial: atmel,at91-usart: add compatible for sam9x7. ASoC: dt-bindings: atmel-classd: add sam9x7 compatible dt-bindings: pwm: at91: Add sam9x7 compatible strings list dt-bindings: watchdog: sama5d4-wdt: add compatible for sam9x7-wdt spi: dt-bindings: atmel,at91rm9200-spi: remove 9x60 compatible from list ASoC: dt-bindings: microchip: add sam9x7 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: clk: at91: add sam9x7 dt-bindings: clk: at91: 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: irqchip/atmel-aic5: Add support for sam9x7 aic irqchip/atmel-aic5: Add support to get nirqs from DT for sam9x60 & sam9x7 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: at91: sam9x75_curiosity: add sam9x75 curiosity board
.../devicetree/bindings/arm/atmel-at91.yaml | 6 + .../devicetree/bindings/arm/atmel-sysregs.txt | 7 +- .../bindings/clock/atmel,at91rm9200-pmc.yaml | 2 + .../bindings/clock/atmel,at91sam9x5-sckc.yaml | 4 +- .../crypto/atmel,at91sam9g46-aes.yaml | 6 +- .../crypto/atmel,at91sam9g46-sha.yaml | 6 +- .../crypto/atmel,at91sam9g46-tdes.yaml | 6 +- .../bindings/i2c/atmel,at91sam-i2c.yaml | 4 +- .../interrupt-controller/atmel,aic.txt | 2 +- .../devicetree/bindings/misc/atmel-ssc.txt | 1 + .../devicetree/bindings/mtd/atmel-nand.txt | 1 + .../devicetree/bindings/net/cdns,macb.yaml | 5 + .../bindings/pinctrl/atmel,at91-pinctrl.txt | 2 + .../power/reset/atmel,sama5d2-shdwc.yaml | 3 + .../bindings/pwm/atmel,at91sam-pwm.yaml | 3 + .../reset/atmel,at91sam9260-reset.yaml | 4 + .../bindings/rng/atmel,at91-trng.yaml | 4 + .../bindings/rtc/atmel,at91sam9260-rtt.yaml | 4 +- .../bindings/serial/atmel,at91-usart.yaml | 12 +- .../bindings/sound/atmel,sama5d2-classd.yaml | 7 +- .../sound/microchip,sama7g5-i2smcc.yaml | 11 +- .../bindings/spi/atmel,at91rm9200-spi.yaml | 1 - .../bindings/watchdog/atmel,sama5d4-wdt.yaml | 12 +- arch/arm/boot/dts/microchip/Makefile | 3 + .../dts/microchip/at91-sam9x75_curiosity.dts | 309 +++++ arch/arm/boot/dts/microchip/sam9x60.dtsi | 1 + arch/arm/boot/dts/microchip/sam9x7.dtsi | 1214 +++++++++++++++++ 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 | 946 +++++++++++++ drivers/clk/at91/sama7g5.c | 42 +- drivers/irqchip/irq-atmel-aic5.c | 12 +- 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 + 45 files changed, 2788 insertions(+), 65 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
Add sam9x7 compatible to DT bindings documentation.
Signed-off-by: Varshini Rajendran varshini.rajendran@microchip.com --- Changes in v4: - Changed the subject prefix matching the subsystem - Removed unwanted '-items' from the syntax --- .../devicetree/bindings/sound/atmel,sama5d2-classd.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml b/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml index 43d04702ac2d..ae3162fcfe02 100644 --- a/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml +++ b/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml @@ -18,7 +18,12 @@ description:
properties: compatible: - const: atmel,sama5d2-classd + oneOf: + - items: + - const: atmel,sama5d2-classd + - items: + - const: microchip,sam9x7-classd + - const: atmel,sama5d2-classd
reg: maxItems: 1
On Fri, Feb 23, 2024 at 10:56:08PM +0530, Varshini Rajendran wrote:
Add sam9x7 compatible to DT bindings documentation.
Signed-off-by: Varshini Rajendran varshini.rajendran@microchip.com
Changes in v4:
- Changed the subject prefix matching the subsystem
- Removed unwanted '-items' from the syntax
Did you? The diff looks identical to v3.
Thanks, Conor.
.../devicetree/bindings/sound/atmel,sama5d2-classd.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml b/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml index 43d04702ac2d..ae3162fcfe02 100644 --- a/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml +++ b/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml @@ -18,7 +18,12 @@ description:
properties: compatible:
- const: atmel,sama5d2-classd
oneOf:
- items:
- const: atmel,sama5d2-classd
- items:
- const: microchip,sam9x7-classd
- const: atmel,sama5d2-classd
reg: maxItems: 1
-- 2.25.1
Add sam9x7 compatible in the DT documentation.
Signed-off-by: Varshini Rajendran varshini.rajendran@microchip.com Acked-by: Conor Dooley conor.dooley@microchip.com --- Changes in v4: - Updated Acked-by tag --- .../bindings/sound/microchip,sama7g5-i2smcc.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/microchip,sama7g5-i2smcc.yaml b/Documentation/devicetree/bindings/sound/microchip,sama7g5-i2smcc.yaml index 651f61c7c25a..fb630a184350 100644 --- a/Documentation/devicetree/bindings/sound/microchip,sama7g5-i2smcc.yaml +++ b/Documentation/devicetree/bindings/sound/microchip,sama7g5-i2smcc.yaml @@ -24,9 +24,14 @@ properties: const: 0
compatible: - enum: - - microchip,sam9x60-i2smcc - - microchip,sama7g5-i2smcc + oneOf: + - enum: + - microchip,sam9x60-i2smcc + - microchip,sama7g5-i2smcc + - items: + - enum: + - microchip,sam9x7-i2smcc + - const: microchip,sam9x60-i2smcc
reg: maxItems: 1
On Fri, 23 Feb 2024 22:43:42 +0530, Varshini Rajendran wrote:
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 v4:
[...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[13/39] ASoC: dt-bindings: atmel-classd: add sam9x7 compatible commit: 89f3180d5915d4ea40e044ee102cd5c1ec81e7ef [17/39] ASoC: dt-bindings: microchip: add sam9x7 commit: c06a7a8e885753a024163bbb0dfd7349e8054643
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
Hi
On Fri, 23 Feb 2024 22:43:42 +0530, Varshini Rajendran wrote:
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 v4:
[...]
Applied to i2c/i2c-host on
git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git
Thank you, Andi
Patches applied =============== [06/39] dt-bindings: i2c: at91: Add sam9x7 compatible string commit: a856c9e6104f7b4619f09e19ab95903c7888da96
Hello:
This patch was applied to netdev/net-next.git (main) by Jakub Kicinski kuba@kernel.org:
On Fri, 23 Feb 2024 22:43:42 +0530 you wrote:
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 v4:
[...]
Here is the summary with links: - [v4,01/39] dt-bindings: net: cdns,macb: add sam9x7 ethernet interface https://git.kernel.org/netdev/net-next/c/5c237967e632
You are awesome, thank you!
On Fri, 23 Feb 2024 22:43:42 +0530, Varshini Rajendran wrote:
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 v4:
[...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
Thanks!
[16/39] spi: dt-bindings: atmel,at91rm9200-spi: remove 9x60 compatible from list commit: 666db8fd4265f938795004838d2a9335ce7b9da1
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
On Fri, Feb 23, 2024 at 10:43:42PM +0530, Varshini Rajendran wrote:
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 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+K... 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
Varshini Rajendran (39): dt-bindings: net: cdns,macb: add sam9x7 ethernet interface dt-bindings: atmel-sysreg: add sam9x7 dt-bindings: crypto: add sam9x7 in Atmel AES dt-bindings: crypto: add sam9x7 in Atmel SHA dt-bindings: crypto: add sam9x7 in Atmel TDES dt-bindings: i2c: at91: Add sam9x7 compatible string dt-bindings: atmel-ssc: add microchip,sam9x7-ssc dt-bindings: atmel-nand: add microchip,sam9x7-pmecc dt-bindings: pinctrl: at91: add sam9x7 dt-bindings: rng: atmel,at91-trng: add sam9x7 TRNG dt-bindings: rtt: at91rm9260: add sam9x7 compatible dt-bindings: serial: atmel,at91-usart: add compatible for sam9x7. ASoC: dt-bindings: atmel-classd: add sam9x7 compatible dt-bindings: pwm: at91: Add sam9x7 compatible strings list dt-bindings: watchdog: sama5d4-wdt: add compatible for sam9x7-wdt spi: dt-bindings: atmel,at91rm9200-spi: remove 9x60 compatible from list ASoC: dt-bindings: microchip: add sam9x7 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: clk: at91: add sam9x7 dt-bindings: clk: at91: 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: irqchip/atmel-aic5: Add support for sam9x7 aic irqchip/atmel-aic5: Add support to get nirqs from DT for sam9x60 & sam9x7 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: at91: sam9x75_curiosity: add sam9x75 curiosity board
.../devicetree/bindings/arm/atmel-at91.yaml | 6 + .../devicetree/bindings/arm/atmel-sysregs.txt | 7 +- .../bindings/clock/atmel,at91rm9200-pmc.yaml | 2 + .../bindings/clock/atmel,at91sam9x5-sckc.yaml | 4 +- .../crypto/atmel,at91sam9g46-aes.yaml | 6 +- .../crypto/atmel,at91sam9g46-sha.yaml | 6 +- .../crypto/atmel,at91sam9g46-tdes.yaml | 6 +- .../bindings/i2c/atmel,at91sam-i2c.yaml | 4 +- .../interrupt-controller/atmel,aic.txt | 2 +- .../devicetree/bindings/misc/atmel-ssc.txt | 1 + .../devicetree/bindings/mtd/atmel-nand.txt | 1 + .../devicetree/bindings/net/cdns,macb.yaml | 5 + .../bindings/pinctrl/atmel,at91-pinctrl.txt | 2 + .../power/reset/atmel,sama5d2-shdwc.yaml | 3 + .../bindings/pwm/atmel,at91sam-pwm.yaml | 3 + .../reset/atmel,at91sam9260-reset.yaml | 4 + .../bindings/rng/atmel,at91-trng.yaml | 4 + .../bindings/rtc/atmel,at91sam9260-rtt.yaml | 4 +- .../bindings/serial/atmel,at91-usart.yaml | 12 +- .../bindings/sound/atmel,sama5d2-classd.yaml | 7 +- .../sound/microchip,sama7g5-i2smcc.yaml | 11 +- .../bindings/spi/atmel,at91rm9200-spi.yaml | 1 - .../bindings/watchdog/atmel,sama5d4-wdt.yaml | 12 +- arch/arm/boot/dts/microchip/Makefile | 3 + .../dts/microchip/at91-sam9x75_curiosity.dts | 309 +++++ arch/arm/boot/dts/microchip/sam9x60.dtsi | 1 + arch/arm/boot/dts/microchip/sam9x7.dtsi | 1214 +++++++++++++++++ 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 | 946 +++++++++++++ drivers/clk/at91/sama7g5.c | 42 +- drivers/irqchip/irq-atmel-aic5.c | 12 +- 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 + 45 files changed, 2788 insertions(+), 65 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
Patches 3-5 and 10 applied. Thanks.
participants (6)
-
Andi Shyti
-
Conor Dooley
-
Herbert Xu
-
Mark Brown
-
patchwork-bot+netdevbpf@kernel.org
-
Varshini Rajendran