Skip to content

Commit

Permalink
Merge tag 'at91-dt-6.14-2' of https://git.kernel.org/pub/scm/linux/ke…
Browse files Browse the repository at this point in the history
…rnel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for v6.14 Rust-for-Linux#2

This update includes:
- device tree files for the SAMA7D65 SoC and its evaluation board

* tag 'at91-dt-6.14-2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: add support for sama7d65_curiosity board
  ARM: dts: microchip: add sama7d65 SoC DT

Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnd Bergmann <[email protected]>
  • Loading branch information
arndb committed Jan 16, 2025
2 parents 36ad662 + deaa14a commit f1a2647
Show file tree
Hide file tree
Showing 3 changed files with 236 additions and 0 deletions.
3 changes: 3 additions & 0 deletions arch/arm/boot/dts/microchip/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ DTC_FLAGS_at91-sama5d2_xplained := -@
DTC_FLAGS_at91-sama5d3_eds := -@
DTC_FLAGS_at91-sama5d3_xplained := -@
DTC_FLAGS_at91-sama5d4_xplained := -@
DTC_FLAGS_at91-sama7d65_curiosity := -@
DTC_FLAGS_at91-sama7g54_curiosity := -@
DTC_FLAGS_at91-sama7g5ek := -@
dtb-$(CONFIG_SOC_AT91RM9200) += \
Expand Down Expand Up @@ -90,6 +91,8 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
at91-sama5d4_xplained.dtb \
at91-sama5d4ek.dtb \
at91-vinco.dtb
dtb-$(CONFIG_SOC_SAMA7D65) += \
at91-sama7d65_curiosity.dtb
dtb-$(CONFIG_SOC_SAMA7G5) += \
at91-sama7g54_curiosity.dtb \
at91-sama7g5ek.dtb
Expand Down
89 changes: 89 additions & 0 deletions arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* at91-sama7d65_curiosity.dts - Device Tree file for SAMA7D65 Curiosity board
*
* Copyright (c) 2024 Microchip Technology Inc. and its subsidiaries
*
* Author: Romain Sioen <[email protected]>
*
*/
/dts-v1/;
#include "sama7d65-pinfunc.h"
#include "sama7d65.dtsi"
#include <dt-bindings/mfd/atmel-flexcom.h>
#include <dt-bindings/pinctrl/at91.h>

/ {
model = "Microchip SAMA7D65 Curiosity";
compatible = "microchip,sama7d65-curiosity", "microchip,sama7d65",
"microchip,sama7d6", "microchip,sama7";

aliases {
serial0 = &uart6;
};

chosen {
stdout-path = "serial0:115200n8";
};

memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x40000000>;
};
};

&flx6 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
status = "okay";
};

&uart6 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart6_default>;
status = "okay";
};

&main_xtal {
clock-frequency = <24000000>;
};

&pioa {
pinctrl_sdmmc1_default: sdmmc1-default {
cmd-data {
pinmux = <PIN_PB22__SDMMC1_CMD>,
<PIN_PB24__SDMMC1_DAT0>,
<PIN_PB25__SDMMC1_DAT1>,
<PIN_PB26__SDMMC1_DAT2>,
<PIN_PB27__SDMMC1_DAT3>;
slew-rate = <0>;
bias-disable;
};

ck-cd-rstn-vddsel {
pinmux = <PIN_PB23__SDMMC1_CK>,
<PIN_PB21__SDMMC1_RSTN>,
<PIN_PB30__SDMMC1_1V8SEL>,
<PIN_PB29__SDMMC1_CD>,
<PIN_PB28__SDMMC1_WP>;
slew-rate = <0>;
bias-disable;
};
};

pinctrl_uart6_default: uart6-default {
pinmux = <PIN_PD18__FLEXCOM6_IO0>,
<PIN_PD19__FLEXCOM6_IO1>;
bias-disable;
};
};

&sdmmc1 {
bus-width = <4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sdmmc1_default>;
status = "okay";
};

&slow_xtal {
clock-frequency = <32768>;
};
144 changes: 144 additions & 0 deletions arch/arm/boot/dts/microchip/sama7d65.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* sama7d65.dtsi - Device Tree Include file for SAMA7D65 SoC
*
* Copyright (C) 2024 Microchip Technology Inc. and its subsidiaries
*
* Author: Ryan Wanner <[email protected]>
*
*/

#include <dt-bindings/clock/at91.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/mfd/at91-usart.h>

/ {
model = "Microchip SAMA7D65 family SoC";
compatible = "microchip,sama7d65";
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&gic>;

cpus {
#address-cells = <1>;
#size-cells = <0>;

cpu0: cpu@0 {
compatible = "arm,cortex-a7";
reg = <0x0>;
device_type = "cpu";
clocks = <&pmc PMC_TYPE_CORE PMC_CPUPLL>;
clock-names = "cpu";
};
};

clocks {
main_xtal: clock-mainxtal {
compatible = "fixed-clock";
#clock-cells = <0>;
};

slow_xtal: clock-slowxtal {
compatible = "fixed-clock";
#clock-cells = <0>;
};
};

soc {
compatible = "simple-bus";
ranges;
#address-cells = <1>;
#size-cells = <1>;

pioa: pinctrl@e0014000 {
compatible = "microchip,sama7d65-pinctrl", "microchip,sama7g5-pinctrl";
reg = <0xe0014000 0x800>;
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
#gpio-cells = <2>;
};

pmc: clock-controller@e0018000 {
compatible = "microchip,sama7d65-pmc", "syscon";
reg = <0xe0018000 0x200>;
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
#clock-cells = <2>;
clocks = <&clk32k 1>, <&clk32k 0>, <&main_xtal>;
clock-names = "td_slck", "md_slck", "main_xtal";
};

clk32k: clock-controller@e001d500 {
compatible = "microchip,sama7d65-sckc", "microchip,sam9x60-sckc";
reg = <0xe001d500 0x4>;
clocks = <&slow_xtal>;
#clock-cells = <1>;
};

sdmmc1: mmc@e1208000 {
compatible = "microchip,sama7d65-sdhci", "microchip,sam9x60-sdhci";
reg = <0xe1208000 0x400>;
interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 76>, <&pmc PMC_TYPE_GCK 76>;
clock-names = "hclock", "multclk";
assigned-clocks = <&pmc PMC_TYPE_GCK 76>;
assigned-clock-rates = <200000000>;
assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_MCK1>;
status = "disabled";
};

pit64b0: timer@e1800000 {
compatible = "microchip,sama7d65-pit64b", "microchip,sam9x60-pit64b";
reg = <0xe1800000 0x100>;
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 66>, <&pmc PMC_TYPE_GCK 66>;
clock-names = "pclk", "gclk";
};

pit64b1: timer@e1804000 {
compatible = "microchip,sama7d65-pit64b", "microchip,sam9x60-pit64b";
reg = <0xe1804000 0x100>;
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 67>, <&pmc PMC_TYPE_GCK 67>;
clock-names = "pclk", "gclk";
};

flx6: flexcom@e2020000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe2020000 0x200>;
ranges = <0x0 0xe2020000 0x800>;
#address-cells = <1>;
#size-cells = <1>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 40>;
status = "disabled";

uart6: serial@200 {
compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 40>;
clock-names = "usart";
atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
atmel,fifo-size = <16>;
status = "disabled";
};
};

gic: interrupt-controller@e8c11000 {
compatible = "arm,cortex-a7-gic";
reg = <0xe8c11000 0x1000>,
<0xe8c12000 0x2000>;
#interrupt-cells = <3>;
#address-cells = <0>;
interrupt-controller;
};
};
};

0 comments on commit f1a2647

Please sign in to comment.