Microchip AT91 device tree updates for v6.16

This update includes:
 - more controllers enabled for SAMA7D65 SoC (Ethernet, Flexcoms,
   SRAM, DRAM, RTC, RTT, GBPR)
 - cleanups and fixes for Calao boards
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCaCbPFgAKCRCejrg/N2X7
 /YTwAP4lzxCNkodc/imWk8AaVMwmj9KjCt+8nlg3qg/CMvunvAEA6RSfBYndGJLA
 ll99NBekc6/PWboAAlcEj3pQlzhF9g8=
 =8Rwa
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmguS8EACgkQmmx57+YA
 GNn17g//VkM+La/DS4N9Lm83/g9JulW4lRxn/HkX/M0tvBdOPwtPLdtQqwD5bScc
 RUO18pze4sO1o0Chg9yaDqADpMFx7zCO+WJBApyUxEaiqYHynkB2FzSB5EoH6O40
 71jDM47w4dUY6AGOCWASzlIjKZAFAu4FpxC8J/8yoGMrBc1g5cyDwzaRPdG0D9q7
 dPAtzNTlsCGN/Pqk2tlDhHwVLY7Dd5LmDgTGcsbiajjDIbBc3j0QAwY1M5pZEWfK
 DD7WpkSP51fr9dv9FPE3yl2XE9UhH4xKVzuoytPtdCeOKaSysATIuIwVlzDg2Jzc
 1lQ1JGe39sP05KVSMBC3SsMWi5pAA/4XVurZTnXBsJJPL9/tOcuxLQy2179IzmXa
 cwvdY6XfxHDt/PeWg0VjKpnDOYNme92voIHASiUO3ki6p7yJ/NvXEU92MRMYrUCu
 OymRSqWBnQT+t1wcvLeEGCDb0kMayk9bmXZVG54eVp3mQMhRiJC6bFMHVpx5amvn
 P9utH0LGWJPu4PalBCBw5p0lDtYeVSfej7qc0X+lbbY0mwp/S8AmBV9jQ8C56nIZ
 luaLU57SX9ghN0RkXPePv4dwGugi/lMMbd483G7pmFQcw+Nx1tj/82ODuyvbWFhe
 ++HCukg8OhNS4EpDHI58cM5HUv6hCLvmMOry3EJfflD/nrcIAiU=
 =BhDQ
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for v6.16

This update includes:
- more controllers enabled for SAMA7D65 SoC (Ethernet, Flexcoms,
  SRAM, DRAM, RTC, RTT, GBPR)
- cleanups and fixes for Calao boards

* tag 'at91-dt-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: sama7g54_curiosity: Add fixed-partitions for spi-nor flash
  ARM: dts: microchip: sama7d65: Add RTT timer to curiosity board
  ARM: dts: microchip: sama7d65: Add RTT and GPBR Support for sama7d65 SoC
  ARM: dts: microchip: sama7d65: Add SRAM and DRAM components support
  ARM: dts: microchip: sama7d65_curiosity: add EEPROM
  ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity
  ARM: dts: microchip: sama7d65: Enable GMAC interface
  ARM: dts: microchip: sama7d65: Add FLEXCOMs to sama7d65 SoC
  ARM: dts: microchip: sama7d65: Add gmac interfaces for sama7d65 SoC
  ARM: dts: at91: at91sam9263: fix NAND chip selects
  ARM: dts: at91: usb_a9g20: move wrong RTC node
  ARM: dts: at91: calao_usb: simplify chosen node
  ARM: dts: at91: usb_a9260: use 'stdout-path'
  ARM: dts: at91: calao_usb: simplify memory node
  ARM: dts: at91: usb_a9263: fix GPIO for Dataflash chip select
  ARM: dts: at91: usb_a9g20: add SPI EEPROM

Link: https://lore.kernel.org/r/20250516055330.10852-1-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-05-21 23:55:13 +02:00
commit ea15963b26
11 changed files with 625 additions and 41 deletions

View File

@ -30,6 +30,15 @@ memory@60000000 {
device_type = "memory";
reg = <0x60000000 0x40000000>;
};
reg_5v: regulator-5v {
compatible = "regulator-fixed";
regulator-name = "5V_MAIN";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
};
&dma0 {
@ -60,6 +69,26 @@ &flx10 {
status = "okay";
};
&gmac0 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gmac0_default
&pinctrl_gmac0_mdio_default
&pinctrl_gmac0_txck_default
&pinctrl_gmac0_phy_irq>;
phy-mode = "rgmii-id";
nvmem-cells = <&eeprom0_eui48>;
nvmem-cell-names = "mac-address";
status = "okay";
ethernet-phy@7 {
reg = <0x7>;
interrupt-parent = <&pioa>;
interrupts = <PIN_PC1 IRQ_TYPE_LEVEL_LOW>;
};
};
&i2c10 {
dmas = <0>, <0>;
i2c-analog-filter;
@ -99,6 +128,149 @@ channel@4 {
label = "VDDCPU";
};
};
pmic@5b {
compatible = "microchip,mcp16502";
reg = <0x5b>;
lvin-supply = <&reg_5v>;
pvin1-supply = <&reg_5v>;
pvin2-supply = <&reg_5v>;
pvin3-supply = <&reg_5v>;
pvin4-supply = <&reg_5v>;
status = "okay";
regulators {
vdd_3v3: VDD_IO {
regulator-name = "VDD_IO";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-initial-mode = <2>;
regulator-allowed-modes = <2>, <4>;
regulator-always-on;
regulator-state-standby {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
regulator-mode = <4>;
};
regulator-state-mem {
regulator-off-in-suspend;
regulator-mode = <4>;
};
};
vddioddr: VDD_DDR {
regulator-name = "VDD_DDR";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-initial-mode = <2>;
regulator-allowed-modes = <2>, <4>;
regulator-always-on;
regulator-state-standby {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1350000>;
regulator-mode = <4>;
};
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1350000>;
regulator-mode = <4>;
};
};
vddcore: VDD_CORE {
regulator-name = "VDD_CORE";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
regulator-initial-mode = <2>;
regulator-allowed-modes = <2>, <4>;
regulator-always-on;
regulator-state-standby {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1050000>;
regulator-mode = <4>;
};
regulator-state-mem {
regulator-off-in-suspend;
regulator-mode = <4>;
};
};
vddcpu: VDD_OTHER {
regulator-name = "VDD_OTHER";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1250000>;
regulator-initial-mode = <2>;
regulator-allowed-modes = <2>, <4>;
regulator-ramp-delay = <3125>;
regulator-always-on;
regulator-state-standby {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1050000>;
regulator-mode = <4>;
};
regulator-state-mem {
regulator-off-in-suspend;
regulator-mode = <4>;
};
};
vldo1: LDO1 {
regulator-name = "LDO1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-standby {
regulator-suspend-microvolt = <1800000>;
regulator-on-in-suspend;
};
regulator-state-mem {
regulator-off-in-suspend;
};
};
vldo2: LDO2 {
regulator-name = "LDO2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3700000>;
regulator-state-standby {
regulator-on-in-suspend;
};
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
};
eeprom0: eeprom@51 {
compatible = "microchip,24aa025e48";
reg = <0x51>;
size = <256>;
pagesize = <16>;
vcc-supply = <&vdd_3v3>;
nvmem-layout {
compatible = "fixed-layout";
#address-cells = <1>;
#size-cells = <1>;
eeprom0_eui48: eui48@fa {
reg = <0xfa 0x6>;
};
};
};
};
&main_xtal {
@ -106,6 +278,39 @@ &main_xtal {
};
&pioa {
pinctrl_gmac0_default: gmac0-default {
pinmux = <PIN_PA26__G0_TX0>,
<PIN_PA27__G0_TX1>,
<PIN_PB4__G0_TX2>,
<PIN_PB5__G0_TX3>,
<PIN_PA29__G0_RX0>,
<PIN_PA30__G0_RX1>,
<PIN_PB2__G0_RX2>,
<PIN_PB6__G0_RX3>,
<PIN_PA25__G0_TXCTL>,
<PIN_PB3__G0_RXCK>,
<PIN_PA28__G0_RXCTL>;
slew-rate = <0>;
bias-disable;
};
pinctrl_gmac0_mdio_default: gmac0-mdio-default {
pinmux = <PIN_PA31__G0_MDC>,
<PIN_PB0__G0_MDIO>;
bias-disable;
};
pinctrl_gmac0_phy_irq: gmac0-phy-irq {
pinmux = <PIN_PC1__GPIO>;
bias-disable;
};
pinctrl_gmac0_txck_default: gmac0-txck-default {
pinmux = <PIN_PB1__G0_REFCK>;
slew-rate = <0>;
bias-pull-up;
};
pinctrl_i2c10_default: i2c10-default{
pinmux = <PIN_PB19__FLEXCOM10_IO1>,
<PIN_PB20__FLEXCOM10_IO0>;
@ -141,6 +346,10 @@ pinctrl_uart6_default: uart6-default {
};
};
&rtt {
atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
};
&sdmmc1 {
bus-width = <4>;
pinctrl-names = "default";

View File

@ -369,6 +369,38 @@ flash@0 {
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
m25p,fast-read;
label = "at91-qspi";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
at91bootstrap@0 {
label = "qspi1: at91bootstrap";
reg = <0x0 0x40000>;
};
bootloader@40000 {
label = "qspi1: u-boot";
reg = <0x40000 0x100000>;
};
bootloaderenv@140000 {
label = "qspi1: u-boot env";
reg = <0x140000 0x40000>;
};
dtb@180000 {
label = "qspi1: device tree";
reg = <0x180000 0x80000>;
};
kernel@200000 {
label = "qspi1: kernel";
reg = <0x200000 0x600000>;
};
};
};
};

View File

@ -152,7 +152,7 @@ nand_controller: nand-controller {
nand@3 {
reg = <0x3 0x0 0x800000>;
rb-gpios = <&pioA 22 GPIO_ACTIVE_HIGH>;
cs-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
cs-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>;
nand-bus-width = <8>;
nand-ecc-mode = "soft";
nand-on-flash-bbt;

View File

@ -47,12 +47,37 @@ slow_xtal: clock-slowxtal {
};
};
ns_sram: sram@100000 {
compatible = "mmio-sram";
reg = <0x100000 0x20000>;
ranges;
#address-cells = <1>;
#size-cells = <1>;
};
soc {
compatible = "simple-bus";
ranges;
#address-cells = <1>;
#size-cells = <1>;
securam: sram@e0000800 {
compatible = "microchip,sama7d65-securam", "atmel,sama5d2-securam", "mmio-sram";
reg = <0xe0000800 0x4000>;
ranges = <0 0xe0000800 0x4000>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 17>;
#address-cells = <1>;
#size-cells = <1>;
no-memory-wc;
};
secumod: security-module@e0004000 {
compatible = "microchip,sama7d65-secumod", "atmel,sama5d2-secumod", "syscon";
reg = <0xe0004000 0x4000>;
gpio-controller;
#gpio-cells = <2>;
};
sfrbu: sfr@e0008000 {
compatible ="microchip,sama7d65-sfrbu", "atmel,sama5d2-sfrbu", "syscon";
reg = <0xe0008000 0x20>;
@ -107,6 +132,13 @@ shdwc: poweroff@e001d200 {
status = "disabled";
};
rtt: rtc@e001d300 {
compatible = "microchip,sama7d65-rtt", "atmel,at91sam9260-rtt";
reg = <0xe001d300 0x30>;
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk32k 0>;
};
clk32k: clock-controller@e001d500 {
compatible = "microchip,sama7d65-sckc", "microchip,sam9x60-sckc";
reg = <0xe001d500 0x4>;
@ -114,6 +146,11 @@ clk32k: clock-controller@e001d500 {
#clock-cells = <1>;
};
gpbr: syscon@e001d700 {
compatible = "microchip,sama7d65-gpbr", "syscon";
reg = <0xe001d700 0x48>;
};
rtc: rtc@e001d800 {
compatible = "microchip,sama7d65-rtc", "microchip,sam9x60-rtc";
reg = <0xe001d800 0x30>;
@ -169,6 +206,38 @@ dma1: dma-controller@e1614000 {
status = "disabled";
};
gmac0: ethernet@e1618000 {
compatible = "microchip,sama7d65-gem", "microchip,sama7g5-gem";
reg = <0xe1618000 0x2000>;
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 46>, <&pmc PMC_TYPE_PERIPHERAL 46>, <&pmc PMC_TYPE_GCK 46>, <&pmc PMC_TYPE_GCK 49>;
clock-names = "pclk", "hclk", "tx_clk", "tsu_clk";
assigned-clocks = <&pmc PMC_TYPE_GCK 46>, <&pmc PMC_TYPE_GCK 49>;
assigned-clock-rates = <125000000>, <200000000>;
status = "disabled";
};
gmac1: ethernet@e161c000 {
compatible = "microchip,sama7d65-gem", "microchip,sama7g5-gem";
reg = <0xe161c000 0x2000>;
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 47>, <&pmc PMC_TYPE_PERIPHERAL 47>,<&pmc PMC_TYPE_GCK 47>, <&pmc PMC_TYPE_GCK 50>;
clock-names = "pclk", "hclk", "tx_clk", "tsu_clk";
assigned-clocks = <&pmc PMC_TYPE_GCK 47>, <&pmc PMC_TYPE_GCK 50>;
assigned-clock-rates = <125000000>, <200000000>;
status = "disabled";
};
pit64b0: timer@e1800000 {
compatible = "microchip,sama7d65-pit64b", "microchip,sam9x60-pit64b";
reg = <0xe1800000 0x100>;
@ -185,6 +254,199 @@ pit64b1: timer@e1804000 {
clock-names = "pclk", "gclk";
};
flx0: flexcom@e1820000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe1820000 0x200>;
ranges = <0x0 0xe1820000 0x800>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
uart0: serial@200 {
compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
clock-names = "usart";
dmas = <&dma1 AT91_XDMAC_DT_PERID(6)>,
<&dma1 AT91_XDMAC_DT_PERID(5)>;
dma-names = "tx", "rx";
atmel,use-dma-rx;
atmel,use-dma-tx;
atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
status = "disabled";
};
i2c0: i2c@600 {
compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
reg = <0x600 0x200>;
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
#address-cells = <1>;
#size-cells = <0>;
atmel,fifo-size = <32>;
dmas = <&dma0 AT91_XDMAC_DT_PERID(6)>,
<&dma0 AT91_XDMAC_DT_PERID(5)>;
dma-names = "tx", "rx";
status = "disabled";
};
};
flx1: flexcom@e1824000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe1824000 0x200>;
ranges = <0x0 0xe1824000 0x800>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 35>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
spi1: spi@400 {
compatible = "microchip,sama7d65-spi", "atmel,at91rm9200-spi";
reg = <0x400 0x200>;
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 35>;
clock-names = "spi_clk";
#address-cells = <1>;
#size-cells = <0>;
dmas = <&dma0 AT91_XDMAC_DT_PERID(8)>,
<&dma0 AT91_XDMAC_DT_PERID(7)>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
i2c1: i2c@600 {
compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
reg = <0x600 0x200>;
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 35>;
#address-cells = <1>;
#size-cells = <0>;
dmas = <&dma0 AT91_XDMAC_DT_PERID(8)>,
<&dma0 AT91_XDMAC_DT_PERID(7)>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
};
flx2: flexcom@e1828000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe1828000 0x200>;
ranges = <0x0 0xe1828000 0x800>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
uart2: serial@200 {
compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 36>;
clock-names = "usart";
dmas = <&dma1 AT91_XDMAC_DT_PERID(10)>,
<&dma1 AT91_XDMAC_DT_PERID(9)>;
dma-names = "tx", "rx";
atmel,use-dma-rx;
atmel,use-dma-tx;
atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
status = "disabled";
};
};
flx3: flexcom@e182c000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe182c000 0x200>;
ranges = <0x0 0xe182c000 0x800>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
i2c3: i2c@600 {
compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
reg = <0x600 0x200>;
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
#address-cells = <1>;
#size-cells = <1>;
dmas = <&dma0 AT91_XDMAC_DT_PERID(12)>,
<&dma0 AT91_XDMAC_DT_PERID(11)>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
};
flx4: flexcom@e2018000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe2018000 0x200>;
ranges = <0x0 0xe2018000 0x800>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
uart4: serial@200 {
compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
clock-names = "usart";
dmas = <&dma1 AT91_XDMAC_DT_PERID(14)>,
<&dma1 AT91_XDMAC_DT_PERID(13)>;
dma-names = "tx", "rx";
atmel,use-dma-rx;
atmel,use-dma-tx;
atmel,fifo-size = <16>;
atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
status = "disabled";
};
spi4: spi@400 {
compatible = "microchip,sama7d65-spi", "atmel,at91rm9200-spi";
reg = <0x400 0x200>;
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
clock-names = "spi_clk";
#address-cells = <1>;
#size-cells = <0>;
dmas = <&dma0 AT91_XDMAC_DT_PERID(14)>,
<&dma0 AT91_XDMAC_DT_PERID(13)>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
};
flx5: flexcom@e201c000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe201c000 0x200>;
ranges = <0x0 0xe201c000 0x800>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
i2c5: i2c@600 {
compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
reg = <0x600 0x200>;
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
#address-cells = <1>;
#size-cells = <0>;
dmas = <&dma0 AT91_XDMAC_DT_PERID(16)>,
<&dma0 AT91_XDMAC_DT_PERID(15)>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
};
flx6: flexcom@e2020000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe2020000 0x200>;
@ -206,6 +468,80 @@ uart6: serial@200 {
};
};
flx7: flexcom@e2024000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe2024000 0x200>;
ranges = <0x0 0xe2024000 0x800>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
uart7: serial@200 {
compatible = "microchip,sama7d65-usart", "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
clock-names = "usart";
dmas = <&dma1 AT91_XDMAC_DT_PERID(20)>,
<&dma1 AT91_XDMAC_DT_PERID(19)>;
dma-names = "tx", "rx";
atmel,use-dma-rx;
atmel,use-dma-tx;
atmel,fifo-size = <16>;
atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
status = "disabled";
};
};
flx8: flexcom@e281c000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe281c000 0x200>;
ranges = <0x0 0xe281c000 0x800>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
i2c8: i2c@600 {
compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
reg = <0x600 0x200>;
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
#address-cells = <1>;
#size-cells = <0>;
dmas = <&dma0 AT91_XDMAC_DT_PERID(22)>,
<&dma0 AT91_XDMAC_DT_PERID(21)>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
};
flx9: flexcom@e2820000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe2820000 0x200>;
ranges = <0x0 0xe281c000 0x800>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
i2c9: i2c@600 {
compatible = "microchip,sama7d65-i2c", "microchip,sam9x60-i2c";
reg = <0x600 0x200>;
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
#address-cells = <1>;
#size-cells = <0>;
dmas = <&dma0 AT91_XDMAC_DT_PERID(24)>,
<&dma0 AT91_XDMAC_DT_PERID(23)>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
};
flx10: flexcom@e2824000 {
compatible = "microchip,sama7d65-flexcom", "atmel,sama5d2-flexcom";
reg = <0xe2824000 0x200>;
@ -227,6 +563,16 @@ i2c10: i2c@600 {
};
};
uddrc: uddrc@e3800000 {
compatible = "microchip,sama7d65-uddrc", "microchip,sama7g5-uddrc";
reg = <0xe3800000 0x4000>;
};
ddr3phy: ddr3phy@e3804000 {
compatible = "microchip,sama7d65-ddr3phy", "microchip,sama7g5-ddr3phy";
reg = <0xe3804000 0x1000>;
};
gic: interrupt-controller@e8c11000 {
compatible = "arm,cortex-a7-gic";
reg = <0xe8c11000 0x1000>,

View File

@ -64,7 +64,7 @@ nand_controller: nand-controller {
nand@3 {
reg = <0x3 0x0 0x800000>;
rb-gpios = <&pioA 22 GPIO_ACTIVE_HIGH>;
cs-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
cs-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>;
nand-bus-width = <8>;
nand-ecc-mode = "soft";
nand-on-flash-bbt;

View File

@ -12,14 +12,6 @@ / {
model = "Calao USB A9260";
compatible = "calao,usb-a9260", "atmel,at91sam9260", "atmel,at91sam9";
chosen {
bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
};
memory@20000000 {
reg = <0x20000000 0x4000000>;
};
ahb {
apb {
shdwc: poweroff@fffffd10 {

View File

@ -6,6 +6,11 @@
*/
/ {
chosen {
bootargs = "mem=64M root=/dev/mtdblock5 rw rootfstype=ubifs";
stdout-path = "serial0:115200n8";
};
clocks {
slow_xtal {
clock-frequency = <32768>;
@ -16,6 +21,10 @@ main_xtal {
};
};
memory@20000000 {
reg = <0x20000000 0x4000000>;
};
ahb {
apb {
dbgu: serial@fffff200 {

View File

@ -58,7 +58,7 @@ usb1: gadget@fff78000 {
};
spi0: spi@fffa4000 {
cs-gpios = <&pioB 15 GPIO_ACTIVE_HIGH>;
cs-gpios = <&pioA 5 GPIO_ACTIVE_LOW>;
status = "okay";
flash@0 {
compatible = "atmel,at45", "atmel,dataflash";
@ -84,7 +84,7 @@ nand_controller: nand-controller {
nand@3 {
reg = <0x3 0x0 0x800000>;
rb-gpios = <&pioA 22 GPIO_ACTIVE_HIGH>;
cs-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
cs-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>;
nand-bus-width = <8>;
nand-ecc-mode = "soft";
nand-on-flash-bbt;

View File

@ -5,9 +5,24 @@
* Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
*/
/dts-v1/;
#include "usb_a9g20_common.dtsi"
#include "at91sam9g20.dtsi"
#include "usb_a9260_common.dtsi"
/ {
model = "Calao USB A9G20";
compatible = "calao,usb-a9g20", "atmel,at91sam9g20", "atmel,at91sam9";
};
&spi0 {
cs-gpios = <&pioC 11 GPIO_ACTIVE_LOW>;
status = "okay";
/* TODO: Some revisions might have a dataflash here instead of an EEPROM */
eeprom@0 {
compatible = "st,m95640", "atmel,at25";
reg = <0>;
spi-max-frequency = <2000000>;
size = <8192>;
pagesize = <32>;
address-width = <16>;
};
};

View File

@ -1,27 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* usb_a9g20.dts - Device Tree file for Calao USB A9G20 board
*
* Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
*/
#include "at91sam9g20.dtsi"
#include "usb_a9260_common.dtsi"
/ {
chosen {
bootargs = "mem=64M root=/dev/mtdblock5 rw rootfstype=ubifs";
stdout-path = "serial0:115200n8";
};
memory@20000000 {
reg = <0x20000000 0x4000000>;
};
i2c-gpio-0 {
rtc@56 {
compatible = "microcrystal,rv3029";
reg = <0x56>;
};
};
};

View File

@ -5,7 +5,8 @@
* Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
*/
/dts-v1/;
#include "usb_a9g20_common.dtsi"
#include "at91sam9g20.dtsi"
#include "usb_a9260_common.dtsi"
/ {
model = "Calao USB A9G20 Low Power";
@ -27,4 +28,11 @@ mmc@0 {
};
};
};
i2c-gpio-0 {
rtc@56 {
compatible = "microcrystal,rv3029";
reg = <0x56>;
};
};
};