Commit a9418e89 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'at91-5.8-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/dt

AT91 DT for 5.8

 - New board: Microchip SAMA5D2 Industrial Connectivity Platform
 - All SoCs are now converted to the new PMC device tree binding
 - sama5d2 flexcom nodes are now fully described in sama5d2.dtsi

* tag 'at91-5.8-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux: (35 commits)
  ARM: dts: at91: sama5d2_xplained: Add aliases for the dedicated I2C IPs
  ARM: dts: at91: Configure I2C SCL gpio as open drain
  ARM: dts: at91: sama5d2_xplained: Describe the flx0 I2C function
  ARM: dts: at91: sama5d2_ptc_ek: Add comments to describe the aliases
  ARM: dts: at91: sama5d2_xplained: Add alias for DBGU
  ARM: dts: at91: sama5d2: Add missing flexcom definitions
  ARM: dts: at91: sama5d2: Remove i2s and tcb aliases from SoC dtsi
  ARM: dts: at91: sama5d2: Add DMA bindings for the SPI and I2C flx0 functions
  ARM: dts: at91: sama5d2: Add DMA bindings for the flx1 I2C function
  ARM: dts: at91: sama5d2: Add DMA bindings for the flx3 SPI function
  ARM: dts: at91: sama5d2: Add DMA bindings for the SPI and UART flx4 functions
  ARM: dts: at91: sama5d2: Specify the FIFO size for the Flexcom UART
  ARM: dts: at91: sama5d2: Move flx0 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Move flx1 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Move flx2 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Move flx3 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Move flx4 definitions in the SoC dtsi
  ARM: dts: at91: sama5d2: Fix the label numbering for flexcom functions
  ARM: dts: at91: sama5d27_wlsom1: Add alias for i2c0
  ARM: dts: at91: sama5d2-icp: add SAMA5D2-ICP
  ...

Link: https://lore.kernel.org/r/20200518212844.GA26356@piout.netSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents c8128b5c 88d801ae
...@@ -82,6 +82,13 @@ properties: ...@@ -82,6 +82,13 @@ properties:
- const: atmel,sama5d2 - const: atmel,sama5d2
- const: atmel,sama5 - const: atmel,sama5
- description: Microchip SAMA5D2 Industrial Connectivity Platform
items:
- const: microchip,sama5d2-icp
- const: atmel,sama5d27
- const: atmel,sama5d2
- const: atmel,sama5
- description: SAM9X60-EK board - description: SAM9X60-EK board
items: items:
- const: microchip,sam9x60ek - const: microchip,sam9x60ek
......
...@@ -55,6 +55,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \ ...@@ -55,6 +55,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
at91-nattis-2-natte-2.dtb \ at91-nattis-2-natte-2.dtb \
at91-sama5d27_som1_ek.dtb \ at91-sama5d27_som1_ek.dtb \
at91-sama5d27_wlsom1_ek.dtb \ at91-sama5d27_wlsom1_ek.dtb \
at91-sama5d2_icp.dtb \
at91-sama5d2_ptc_ek.dtb \ at91-sama5d2_ptc_ek.dtb \
at91-sama5d2_xplained.dtb \ at91-sama5d2_xplained.dtb \
at91-sama5d3_xplained.dtb \ at91-sama5d3_xplained.dtb \
......
...@@ -62,7 +62,7 @@ &i2c0 { ...@@ -62,7 +62,7 @@ &i2c0 {
wm8904: wm8904@1a { wm8904: wm8904@1a {
compatible = "wlf,wm8904"; compatible = "wlf,wm8904";
reg = <0x1a>; reg = <0x1a>;
clocks = <&pck2>; clocks = <&pmc PMC_TYPE_SYSTEM 10>;
clock-names = "mclk"; clock-names = "mclk";
}; };
}; };
......
...@@ -283,7 +283,7 @@ uart5: serial@200 { ...@@ -283,7 +283,7 @@ uart5: serial@200 {
&flx3 { &flx3 {
status = "okay"; status = "okay";
uart6: serial@200 { uart8: serial@200 {
status = "okay"; status = "okay";
}; };
}; };
...@@ -291,7 +291,7 @@ uart6: serial@200 { ...@@ -291,7 +291,7 @@ uart6: serial@200 {
&flx4 { &flx4 {
status = "okay"; status = "okay";
i2c2: i2c@600 { i2c6: i2c@600 {
status = "okay"; status = "okay";
}; };
}; };
......
...@@ -28,7 +28,7 @@ aliases { ...@@ -28,7 +28,7 @@ aliases {
serial3 = &uart3; serial3 = &uart3;
serial4 = &uart4; serial4 = &uart4;
serial5 = &uart5; serial5 = &uart5;
serial6 = &uart6; serial6 = &uart8;
}; };
chosen { chosen {
...@@ -207,7 +207,7 @@ pinctrl_flx3_default: flx3_usart_default { ...@@ -207,7 +207,7 @@ pinctrl_flx3_default: flx3_usart_default {
}; };
}; };
pinctrl_flx4_default: flx4_i2c2_default { pinctrl_flx4_default: flx4_i2c6_default {
pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA
<PIN_PD13__FLEXCOM4_IO1>; //CLK <PIN_PD13__FLEXCOM4_IO1>; //CLK
bias-disable; bias-disable;
...@@ -299,21 +299,8 @@ &flx0 { ...@@ -299,21 +299,8 @@ &flx0 {
status = "disabled"; status = "disabled";
uart5: serial@200 { uart5: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x400>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(11))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(12))>;
dma-names = "tx", "rx";
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
clock-names = "usart";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx0_default>; pinctrl-0 = <&pinctrl_flx0_default>;
atmel,fifo-size = <32>;
atmel,use-dma-rx; atmel,use-dma-rx;
atmel,use-dma-tx; atmel,use-dma-tx;
status = "disabled"; status = "disabled";
...@@ -324,22 +311,9 @@ &flx3 { ...@@ -324,22 +311,9 @@ &flx3 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
status = "disabled"; status = "disabled";
uart6: serial@200 { uart8: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x400>;
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(17))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(18))>;
dma-names = "tx", "rx";
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
clock-names = "usart";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx3_default>; pinctrl-0 = <&pinctrl_flx3_default>;
atmel,fifo-size = <32>;
atmel,use-dma-rx; atmel,use-dma-rx;
atmel,use-dma-tx; atmel,use-dma-tx;
status = "disabled"; status = "disabled";
...@@ -350,23 +324,9 @@ &flx4 { ...@@ -350,23 +324,9 @@ &flx4 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
status = "disabled"; status = "disabled";
i2c2: i2c@600 { i2c6: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(19))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(20))>;
dma-names = "tx", "rx";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx4_default>; pinctrl-0 = <&pinctrl_flx4_default>;
atmel,fifo-size = <16>;
status = "disabled"; status = "disabled";
}; };
}; };
......
...@@ -542,6 +542,18 @@ AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_H ...@@ -542,6 +542,18 @@ AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_H
}; };
}; };
sdmmc1 {
pinctrl_sdmmc1_default: sdmmc1 {
atmel,pins =
<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA13 CK periph B */
AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA12 CMD periph B with pullup */
AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA11 DAT0 periph B with pullup */
AT91_PIOA 2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA2 DAT1 periph B with pullup */
AT91_PIOA 3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA3 DAT2 periph B with pullup */
AT91_PIOA 4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA4 DAT3 periph B with pullup */
};
};
gpio_keys { gpio_keys {
pinctrl_key_gpio_default: pinctrl_key_gpio { pinctrl_key_gpio_default: pinctrl_key_gpio {
atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
...@@ -568,6 +580,15 @@ &sdmmc0 { ...@@ -568,6 +580,15 @@ &sdmmc0 {
disable-wp; disable-wp;
}; };
&sdmmc1 {
bus-width = <4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sdmmc1_default>;
no-1-8-v;
non-removable;
status = "disabled"; /* Conflict with flx4. */
};
&qspi { &qspi {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_qspi>; pinctrl-0 = <&pinctrl_qspi>;
...@@ -579,6 +600,8 @@ flash@0 { ...@@ -579,6 +600,8 @@ flash@0 {
compatible = "jedec,spi-nor"; compatible = "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <80000000>; spi-max-frequency = <80000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
m25p,fast-read; m25p,fast-read;
at91bootstrap@0 { at91bootstrap@0 {
......
...@@ -13,6 +13,10 @@ / { ...@@ -13,6 +13,10 @@ / {
model = "Atmel SAMA5D27 SoM1"; model = "Atmel SAMA5D27 SoM1";
compatible = "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; compatible = "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
aliases {
i2c0 = &i2c0;
};
clocks { clocks {
slow_xtal { slow_xtal {
clock-frequency = <32768>; clock-frequency = <32768>;
...@@ -34,12 +38,44 @@ qspi1: spi@f0024000 { ...@@ -34,12 +38,44 @@ qspi1: spi@f0024000 {
pinctrl-0 = <&pinctrl_qspi1_default>; pinctrl-0 = <&pinctrl_qspi1_default>;
flash@0 { flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor"; compatible = "jedec,spi-nor";
reg = <0>; reg = <0>;
spi-max-frequency = <80000000>; spi-max-frequency = <80000000>;
spi-tx-bus-width = <4>; spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>; spi-rx-bus-width = <4>;
m25p,fast-read; m25p,fast-read;
at91bootstrap@00000000 {
label = "at91bootstrap";
reg = <0x00000000 0x00040000>;
};
bootloader@00040000 {
label = "bootloader";
reg = <0x00040000 0x000c0000>;
};
bootloaderenvred@00100000 {
label = "bootloader env redundant";
reg = <0x00100000 0x00040000>;
};
bootloaderenv@00140000 {
label = "bootloader env";
reg = <0x00140000 0x00040000>;
};
dtb@00180000 {
label = "device tree";
reg = <0x00180000 0x00080000>;
};
kernel@00200000 {
label = "kernel";
reg = <0x00200000 0x00600000>;
};
}; };
}; };
...@@ -57,7 +93,25 @@ ethernet-phy@0 { ...@@ -57,7 +93,25 @@ ethernet-phy@0 {
}; };
}; };
i2c0: i2c@f8028000 {
dmas = <0>, <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c0_default>;
status = "okay";
at24@50 {
compatible = "24c02";
reg = <0x50>;
pagesize = <8>;
};
};
pinctrl@fc038000 { pinctrl@fc038000 {
pinctrl_i2c0_default: i2c0_default {
pinmux = <PIN_PD21__TWD0>,
<PIN_PD22__TWCK0>;
bias-disable;
};
pinctrl_qspi1_default: qspi1_default { pinctrl_qspi1_default: qspi1_default {
sck_cs { sck_cs {
......
...@@ -21,7 +21,7 @@ aliases { ...@@ -21,7 +21,7 @@ aliases {
serial1 = &uart4; /* mikro BUS 1 */ serial1 = &uart4; /* mikro BUS 1 */
serial2 = &uart2; /* mikro BUS 2 */ serial2 = &uart2; /* mikro BUS 2 */
i2c1 = &i2c1; i2c1 = &i2c1;
i2c2 = &i2c2; i2c2 = &i2c3;
}; };
chosen { chosen {
...@@ -125,21 +125,13 @@ flx1: flexcom@f8038000 { ...@@ -125,21 +125,13 @@ flx1: flexcom@f8038000 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
status = "okay"; status = "okay";
i2c2: i2c@600 { i2c3: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <0>, <0>; dmas = <0>, <0>;
dma-names = "tx", "rx";
i2c-analog-filter; i2c-analog-filter;
i2c-digital-filter; i2c-digital-filter;
i2c-digital-filter-width-ns = <35>; i2c-digital-filter-width-ns = <35>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mikrobus_i2c>; pinctrl-0 = <&pinctrl_mikrobus_i2c>;
atmel,fifo-size = <16>;
status = "okay"; status = "okay";
}; };
}; };
...@@ -178,27 +170,17 @@ flx3: flexcom@fc014000 { ...@@ -178,27 +170,17 @@ flx3: flexcom@fc014000 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
status = "disabled"; status = "disabled";
uart7: serial@200 { uart8: serial@200 {
compatible = "atmel,at91sam9260-usart"; dmas = <0>, <0>;
reg = <0x200 0x200>;
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
clock-names = "usart";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx3_default>; pinctrl-0 = <&pinctrl_flx3_default>;
atmel,fifo-size = <32>;
status = "disabled"; /* Conflict with isc. */ status = "disabled"; /* Conflict with isc. */
}; };
spi2: spi@400 { spi5: spi@400 {
compatible = "atmel,at91rm9200-spi"; dmas = <0>, <0>;
reg = <0x400 0x200>;
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
clock-names = "spi_clk";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx3_default>; pinctrl-0 = <&pinctrl_flx3_default>;
atmel,fifo-size = <16>;
status = "disabled"; /* Conflict with isc. */ status = "disabled"; /* Conflict with isc. */
}; };
}; };
...@@ -207,43 +189,25 @@ flx4: flexcom@fc018000 { ...@@ -207,43 +189,25 @@ flx4: flexcom@fc018000 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>; atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
status = "okay"; status = "okay";
uart6: serial@200 { uart9: serial@200 {
compatible = "atmel,at91sam9260-usart"; dmas = <0>, <0>;
reg = <0x200 0x200>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
clock-names = "usart";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx4_default>; pinctrl-0 = <&pinctrl_flx4_default>;
atmel,fifo-size = <32>; status = "disabled"; /* Conflict with spi6 and i2c6. */
status = "disabled"; /* Conflict with spi3 and i2c3. */
}; };
spi3: spi@400 { spi6: spi@400 {
compatible = "atmel,at91rm9200-spi"; dmas = <0>, <0>;
reg = <0x400 0x200>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
clock-names = "spi_clk";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mikrobus_spi &pinctrl_mikrobus1_spi_cs &pinctrl_mikrobus2_spi_cs>; pinctrl-0 = <&pinctrl_mikrobus_spi &pinctrl_mikrobus1_spi_cs &pinctrl_mikrobus2_spi_cs>;
atmel,fifo-size = <16>; status = "okay"; /* Conflict with uart5 and i2c6. */
status = "okay"; /* Conflict with uart6 and i2c3. */
}; };
i2c3: i2c@600 { i2c6: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <0>, <0>; dmas = <0>, <0>;
dma-names = "tx", "rx";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx4_default>; pinctrl-0 = <&pinctrl_flx4_default>;
atmel,fifo-size = <16>; status = "disabled"; /* Conflict with uart5 and spi6. */
status = "disabled"; /* Conflict with uart6 and spi3. */
}; };
}; };
......
...@@ -17,6 +17,10 @@ / { ...@@ -17,6 +17,10 @@ / {
model = "Microchip SAMA5D27 WLSOM1"; model = "Microchip SAMA5D27 WLSOM1";
compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5"; compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
aliases {
i2c0 = &i2c0;
};
clocks { clocks {
slow_xtal { slow_xtal {
clock-frequency = <32768>; clock-frequency = <32768>;
...@@ -32,18 +36,6 @@ &flx1 { ...@@ -32,18 +36,6 @@ &flx1 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
uart6: serial@200 { uart6: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(13))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(14))>;
dma-names = "tx", "rx";
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
clock-names = "usart";
pinctrl-0 = <&pinctrl_flx1_default>; pinctrl-0 = <&pinctrl_flx1_default>;
pinctrl-names = "default"; pinctrl-names = "default";
}; };
......
...@@ -77,18 +77,6 @@ &flx0 { ...@@ -77,18 +77,6 @@ &flx0 {
status = "okay"; status = "okay";
uart5: serial@200 { uart5: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(11))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(12))>;
dma-names = "tx", "rx";
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
clock-names = "usart";
pinctrl-0 = <&pinctrl_flx0_default>; pinctrl-0 = <&pinctrl_flx0_default>;
pinctrl-names = "default"; pinctrl-names = "default";
atmel,use-dma-rx; atmel,use-dma-rx;
......
This diff is collapsed.
...@@ -18,9 +18,9 @@ / { ...@@ -18,9 +18,9 @@ / {
compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5"; compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5";
aliases { aliases {
serial0 = &uart0; serial0 = &uart0; /* DBGU */
i2c0 = &i2c0; i2c0 = &i2c0; /* mikroBUS 1 */
i2c1 = &i2c1; i2c1 = &i2c1; /* XPRO EXT1 */
i2c2 = &i2c2; i2c2 = &i2c2;
}; };
...@@ -40,7 +40,7 @@ main_xtal { ...@@ -40,7 +40,7 @@ main_xtal {
ahb { ahb {
usb0: gadget@300000 { usb0: gadget@300000 {
atmel,vbus-gpio = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>; atmel,vbus-gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usba_vbus>; pinctrl-0 = <&pinctrl_usba_vbus>;
status = "okay"; status = "okay";
...@@ -125,8 +125,6 @@ sdmmc0: sdio-host@a0000000 { ...@@ -125,8 +125,6 @@ sdmmc0: sdio-host@a0000000 {
bus-width = <8>; bus-width = <8>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sdmmc0_default>; pinctrl-0 = <&pinctrl_sdmmc0_default>;
non-removable;
mmc-ddr-1_8v;
status = "okay"; status = "okay";
}; };
...@@ -184,7 +182,7 @@ i2c0: i2c@f8028000 { ...@@ -184,7 +182,7 @@ i2c0: i2c@f8028000 {
pinctrl-0 = <&pinctrl_i2c0_default>; pinctrl-0 = <&pinctrl_i2c0_default>;
pinctrl-1 = <&pinctrl_i2c0_gpio>; pinctrl-1 = <&pinctrl_i2c0_gpio>;
sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>; sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioA PIN_PD22 GPIO_ACTIVE_HIGH>; scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay"; status = "okay";
}; };
...@@ -193,20 +191,12 @@ flx0: flexcom@f8034000 { ...@@ -193,20 +191,12 @@ flx0: flexcom@f8034000 {
status = "okay"; status = "okay";
i2c2: i2c@600 { i2c2: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <0>, <0>; dmas = <0>, <0>;
dma-names = "tx", "rx";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
pinctrl-names = "default", "gpio"; pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_flx0_default>; pinctrl-0 = <&pinctrl_flx0_default>;
pinctrl-1 = <&pinctrl_flx0_gpio>; pinctrl-1 = <&pinctrl_flx0_gpio>;
sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>; sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioA PIN_PB29 GPIO_ACTIVE_HIGH>; scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
atmel,fifo-size = <16>;
status = "okay"; status = "okay";
}; };
}; };
...@@ -236,7 +226,7 @@ i2c1: i2c@fc028000 { ...@@ -236,7 +226,7 @@ i2c1: i2c@fc028000 {
pinctrl-0 = <&pinctrl_i2c1_default>; pinctrl-0 = <&pinctrl_i2c1_default>;
pinctrl-1 = <&pinctrl_i2c1_gpio>; pinctrl-1 = <&pinctrl_i2c1_gpio>;
sda-gpios = <&pioA PIN_PC6 GPIO_ACTIVE_HIGH>; sda-gpios = <&pioA PIN_PC6 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioA PIN_PC7 GPIO_ACTIVE_HIGH>; scl-gpios = <&pioA PIN_PC7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay"; status = "okay";
at24@50 { at24@50 {
...@@ -414,6 +404,7 @@ bp1 { ...@@ -414,6 +404,7 @@ bp1 {
label = "PB_USER"; label = "PB_USER";
gpios = <&pioA PIN_PA10 GPIO_ACTIVE_LOW>; gpios = <&pioA PIN_PA10 GPIO_ACTIVE_LOW>;
linux,code = <0x104>; linux,code = <0x104>;
wakeup-source;
}; };
}; };
......
...@@ -16,6 +16,13 @@ / { ...@@ -16,6 +16,13 @@ / {
model = "Atmel SAMA5D2 Xplained"; model = "Atmel SAMA5D2 Xplained";
compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5"; compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";
aliases {
serial0 = &uart1; /* DBGU */
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2; /* XPRO EXT2 */
};
chosen { chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
}; };
...@@ -72,6 +79,58 @@ sdmmc1: sdio-host@b0000000 { ...@@ -72,6 +79,58 @@ sdmmc1: sdio-host@b0000000 {
}; };
apb { apb {
qspi0: spi@f0020000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_qspi0_default>;
status = "disabled"; /* conflict with sdmmc1 */
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
m25p,fast-read;
at91bootstrap@00000000 {
label = "at91bootstrap";
reg = <0x00000000 0x00040000>;
};
bootloader@00040000 {
label = "bootloader";
reg = <0x00040000 0x000c0000>;
};
bootloaderenvred@00100000 {
label = "bootloader env redundant";
reg = <0x00100000 0x00040000>;
};
bootloaderenv@00140000 {
label = "bootloader env";
reg = <0x00140000 0x00040000>;
};
dtb@00180000 {
label = "device tree";
reg = <0x00180000 0x00080000>;
};
kernel@00200000 {
label = "kernel";
reg = <0x00200000 0x00600000>;
};
misc@00800000 {
label = "misc";
reg = <0x00800000 0x00000000>;
};
};
};
spi0: spi@f8000000 { spi0: spi@f8000000 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi0_default>; pinctrl-0 = <&pinctrl_spi0_default>;
...@@ -133,7 +192,7 @@ i2c0: i2c@f8028000 { ...@@ -133,7 +192,7 @@ i2c0: i2c@f8028000 {
pinctrl-0 = <&pinctrl_i2c0_default>; pinctrl-0 = <&pinctrl_i2c0_default>;
pinctrl-1 = <&pinctrl_i2c0_gpio>; pinctrl-1 = <&pinctrl_i2c0_gpio>;
sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>; sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioA PIN_PD22 GPIO_ACTIVE_HIGH>; scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
i2c-sda-hold-time-ns = <350>; i2c-sda-hold-time-ns = <350>;
status = "okay"; status = "okay";
...@@ -275,16 +334,25 @@ flx0: flexcom@f8034000 { ...@@ -275,16 +334,25 @@ flx0: flexcom@f8034000 {
status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */ status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
uart5: serial@200 { uart5: serial@200 {
compatible = "atmel,at91sam9260-usart"; dmas = <0>, <0>;
reg = <0x200 0x200>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
clock-names = "usart";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx0_default>; pinctrl-0 = <&pinctrl_flx0_default>;
atmel,fifo-size = <32>;
status = "okay"; status = "okay";
}; };
i2c2: i2c@600 {
dmas = <0>, <0>;
pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_flx0_default>;
pinctrl-1 = <&pinctrl_i2c2_gpio>;
sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
i2c-sda-hold-time-ns = <350>;
i2c-analog-filter;
i2c-digital-filter;
i2c-digital-filter-width-ns = <35>;
status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
};
}; };
shdwc@f8048010 { shdwc@f8048010 {
...@@ -325,21 +393,13 @@ flx4: flexcom@fc018000 { ...@@ -325,21 +393,13 @@ flx4: flexcom@fc018000 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
status = "okay"; status = "okay";
i2c2: i2c@600 { i2c6: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <0>, <0>; dmas = <0>, <0>;
dma-names = "tx", "rx";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
pinctrl-names = "default", "gpio"; pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_flx4_default>; pinctrl-0 = <&pinctrl_flx4_default>;
pinctrl-1 = <&pinctrl_flx4_gpio>; pinctrl-1 = <&pinctrl_flx4_gpio>;
sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>; sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioA PIN_PD13 GPIO_ACTIVE_HIGH>; scl-gpios = <&pioA PIN_PD13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
atmel,fifo-size = <16>;
i2c-analog-filter; i2c-analog-filter;
i2c-digital-filter; i2c-digital-filter;
i2c-digital-filter-width-ns = <35>; i2c-digital-filter-width-ns = <35>;
...@@ -356,7 +416,7 @@ i2c1: i2c@fc028000 { ...@@ -356,7 +416,7 @@ i2c1: i2c@fc028000 {
i2c-digital-filter-width-ns = <35>; i2c-digital-filter-width-ns = <35>;
pinctrl-1 = <&pinctrl_i2c1_gpio>; pinctrl-1 = <&pinctrl_i2c1_gpio>;
sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>; sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioA PIN_PD5 GPIO_ACTIVE_HIGH>; scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay"; status = "okay";
at24@54 { at24@54 {
...@@ -480,6 +540,12 @@ pinctrl_i2c1_gpio: i2c1_gpio { ...@@ -480,6 +540,12 @@ pinctrl_i2c1_gpio: i2c1_gpio {
bias-disable; bias-disable;
}; };
pinctrl_i2c2_gpio: i2c2_gpio {
pinmux = <PIN_PB28__GPIO>,
<PIN_PB29__GPIO>;
bias-disable;
};
pinctrl_i2s0_default: i2s0_default { pinctrl_i2s0_default: i2s0_default {
pinmux = <PIN_PC1__I2SC0_CK>, pinmux = <PIN_PC1__I2SC0_CK>,
<PIN_PC2__I2SC0_MCK>, <PIN_PC2__I2SC0_MCK>,
...@@ -535,6 +601,22 @@ pinctrl_pdmic_default: pdmic_default { ...@@ -535,6 +601,22 @@ pinctrl_pdmic_default: pdmic_default {
bias-disable; bias-disable;
}; };
pinctrl_qspi0_default: qspi0_default {
sck_cs {
pinmux = <PIN_PA22__QSPI0_SCK>,
<PIN_PA23__QSPI0_CS>;
bias-disable;
};
data {
pinmux = <PIN_PA24__QSPI0_IO0>,
<PIN_PA25__QSPI0_IO1>,
<PIN_PA26__QSPI0_IO2>,
<PIN_PA27__QSPI0_IO3>;
bias-pull-up;
};
};
pinctrl_sdmmc0_default: sdmmc0_default { pinctrl_sdmmc0_default: sdmmc0_default {
cmd_data { cmd_data {
pinmux = <PIN_PA1__SDMMC0_CMD>, pinmux = <PIN_PA1__SDMMC0_CMD>,
......
...@@ -46,10 +46,6 @@ &clk32k { ...@@ -46,10 +46,6 @@ &clk32k {
atmel,osc-bypass; atmel,osc-bypass;
}; };
&usart1_clk {
atmel,clk-output-range = <0 132000000>;
};
&mmc0 { &mmc0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>; pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>;
......
This diff is collapsed.
This diff is collapsed.
...@@ -72,9 +72,9 @@ ov2640: camera@30 { ...@@ -72,9 +72,9 @@ ov2640: camera@30 {
pinctrl-0 = <&pinctrl_pck1_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>; pinctrl-0 = <&pinctrl_pck1_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
resetb-gpios = <&pioD 12 GPIO_ACTIVE_LOW>; resetb-gpios = <&pioD 12 GPIO_ACTIVE_LOW>;
pwdn-gpios = <&pioD 13 GPIO_ACTIVE_HIGH>; pwdn-gpios = <&pioD 13 GPIO_ACTIVE_HIGH>;
clocks = <&pck1>; clocks = <&pmc PMC_TYPE_SYSTEM 9>;
clock-names = "xvclk"; clock-names = "xvclk";
assigned-clocks = <&pck1>; assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>;
assigned-clock-rates = <25000000>; assigned-clock-rates = <25000000>;
port { port {
......
This diff is collapsed.
...@@ -59,7 +59,7 @@ i2c0: i2c@f8010000 { ...@@ -59,7 +59,7 @@ i2c0: i2c@f8010000 {
wm8904: codec@1a { wm8904: codec@1a {
compatible = "wlf,wm8904"; compatible = "wlf,wm8904";
reg = <0x1a>; reg = <0x1a>;
clocks = <&pck0>; clocks = <&pmc PMC_TYPE_SYSTEM 8>;
clock-names = "mclk"; clock-names = "mclk";
}; };
......
...@@ -21,10 +21,6 @@ / { ...@@ -21,10 +21,6 @@ / {
aliases { aliases {
serial0 = &uart1; serial0 = &uart1;
serial1 = &uart3; serial1 = &uart3;
tcb0 = &tcb0;
tcb1 = &tcb1;
i2s0 = &i2s0;
i2s1 = &i2s1;
}; };
cpus { cpus {
...@@ -635,6 +631,64 @@ flx0: flexcom@f8034000 { ...@@ -635,6 +631,64 @@ flx0: flexcom@f8034000 {
#size-cells = <1>; #size-cells = <1>;
ranges = <0x0 0xf8034000 0x800>; ranges = <0x0 0xf8034000 0x800>;
status = "disabled"; status = "disabled";
uart5: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
clock-names = "usart";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(11))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(12))>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
spi2: spi@400 {
compatible = "atmel,at91rm9200-spi";
reg = <0x400 0x200>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
clock-names = "spi_clk";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(11))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(12))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
i2c2: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(11))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(12))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
}; };
flx1: flexcom@f8038000 { flx1: flexcom@f8038000 {
...@@ -645,6 +699,64 @@ flx1: flexcom@f8038000 { ...@@ -645,6 +699,64 @@ flx1: flexcom@f8038000 {
#size-cells = <1>; #size-cells = <1>;
ranges = <0x0 0xf8038000 0x800>; ranges = <0x0 0xf8038000 0x800>;
status = "disabled"; status = "disabled";
uart6: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
clock-names = "usart";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(13))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(14))>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
spi3: spi@400 {
compatible = "atmel,at91rm9200-spi";
reg = <0x400 0x200>;
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
clock-names = "spi_clk";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(13))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(14))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
i2c3: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(13))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(14))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
}; };
securam: sram@f8044000 { securam: sram@f8044000 {
...@@ -794,6 +906,64 @@ flx2: flexcom@fc010000 { ...@@ -794,6 +906,64 @@ flx2: flexcom@fc010000 {
#size-cells = <1>; #size-cells = <1>;
ranges = <0x0 0xfc010000 0x800>; ranges = <0x0 0xfc010000 0x800>;
status = "disabled"; status = "disabled";
uart7: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <21 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
clock-names = "usart";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(15))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(16))>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
spi4: spi@400 {
compatible = "atmel,at91rm9200-spi";
reg = <0x400 0x200>;
interrupts = <21 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
clock-names = "spi_clk";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(15))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(16))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
i2c4: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <21 IRQ_TYPE_LEVEL_HIGH 7>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(15))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(16))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
}; };
flx3: flexcom@fc014000 { flx3: flexcom@fc014000 {
...@@ -804,6 +974,65 @@ flx3: flexcom@fc014000 { ...@@ -804,6 +974,65 @@ flx3: flexcom@fc014000 {
#size-cells = <1>; #size-cells = <1>;
ranges = <0x0 0xfc014000 0x800>; ranges = <0x0 0xfc014000 0x800>;
status = "disabled"; status = "disabled";
uart8: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
clock-names = "usart";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(17))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(18))>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
spi5: spi@400 {
compatible = "atmel,at91rm9200-spi";
reg = <0x400 0x200>;
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
clock-names = "spi_clk";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(17))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(18))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
i2c5: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(17))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(18))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
}; };
flx4: flexcom@fc018000 { flx4: flexcom@fc018000 {
...@@ -814,6 +1043,64 @@ flx4: flexcom@fc018000 { ...@@ -814,6 +1043,64 @@ flx4: flexcom@fc018000 {
#size-cells = <1>; #size-cells = <1>;
ranges = <0x0 0xfc018000 0x800>; ranges = <0x0 0xfc018000 0x800>;
status = "disabled"; status = "disabled";
uart9: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x200>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
clock-names = "usart";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(19))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(20))>;
dma-names = "tx", "rx";
atmel,fifo-size = <32>;
status = "disabled";
};
spi6: spi@400 {
compatible = "atmel,at91rm9200-spi";
reg = <0x400 0x200>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
clock-names = "spi_clk";
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(19))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(20))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
i2c6: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(19))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) |
AT91_XDMAC_DT_PER_IF(1) |
AT91_XDMAC_DT_PERID(20))>;
dma-names = "tx", "rx";
atmel,fifo-size = <16>;
status = "disabled";
};
}; };
trng@fc01c000 { trng@fc01c000 {
......
This diff is collapsed.
...@@ -31,29 +31,13 @@ pinctrl_can1_rx_tx: can1_rx_tx { ...@@ -31,29 +31,13 @@ pinctrl_can1_rx_tx: can1_rx_tx {
}; };
pmc: pmc@fffffc00 {
periphck {
can0_clk: can0_clk {
#clock-cells = <0>;
reg = <40>;
atmel,clk-output-range = <0 83000000>;
};
can1_clk: can1_clk {
#clock-cells = <0>;
reg = <41>;
atmel,clk-output-range = <0 83000000>;
};
};
};
can0: can@f000c000 { can0: can@f000c000 {
compatible = "atmel,at91sam9x5-can"; compatible = "atmel,at91sam9x5-can";
reg = <0xf000c000 0x300>; reg = <0xf000c000 0x300>;
interrupts = <40 IRQ_TYPE_LEVEL_HIGH 3>; interrupts = <40 IRQ_TYPE_LEVEL_HIGH 3>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can0_rx_tx>; pinctrl-0 = <&pinctrl_can0_rx_tx>;
clocks = <&can0_clk>; clocks = <&pmc PMC_TYPE_PERIPHERAL 40>;
clock-names = "can_clk"; clock-names = "can_clk";
status = "disabled"; status = "disabled";
}; };
...@@ -64,7 +48,7 @@ can1: can@f8010000 { ...@@ -64,7 +48,7 @@ can1: can@f8010000 {
interrupts = <41 IRQ_TYPE_LEVEL_HIGH 3>; interrupts = <41 IRQ_TYPE_LEVEL_HIGH 3>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can1_rx_tx>; pinctrl-0 = <&pinctrl_can1_rx_tx>;
clocks = <&can1_clk>; clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
clock-names = "can_clk"; clock-names = "can_clk";
status = "disabled"; status = "disabled";
}; };
......
...@@ -31,12 +31,6 @@ AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC8 periph A EMDC, conflicts with ...@@ -31,12 +31,6 @@ AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC8 periph A EMDC, conflicts with
}; };
pmc: pmc@fffffc00 { pmc: pmc@fffffc00 {
periphck {
macb1_clk: macb1_clk {
#clock-cells = <0>;
reg = <35>;
};
};
}; };
macb1: ethernet@f802c000 { macb1: ethernet@f802c000 {
...@@ -45,7 +39,7 @@ macb1: ethernet@f802c000 { ...@@ -45,7 +39,7 @@ macb1: ethernet@f802c000 {
interrupts = <35 IRQ_TYPE_LEVEL_HIGH 3>; interrupts = <35 IRQ_TYPE_LEVEL_HIGH 3>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_macb1_rmii>; pinctrl-0 = <&pinctrl_macb1_rmii>;
clocks = <&macb1_clk>, <&macb1_clk>; clocks = <&pmc PMC_TYPE_PERIPHERAL 35>, <&pmc PMC_TYPE_PERIPHERAL 35>;
clock-names = "hclk", "pclk"; clock-names = "hclk", "pclk";
status = "disabled"; status = "disabled";
}; };
......
...@@ -63,22 +63,13 @@ AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB17 periph A GMDIO */ ...@@ -63,22 +63,13 @@ AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB17 periph A GMDIO */
}; };
}; };
pmc: pmc@fffffc00 {
periphck {
macb0_clk: macb0_clk {
#clock-cells = <0>;
reg = <34>;
};
};
};
macb0: ethernet@f0028000 { macb0: ethernet@f0028000 {
compatible = "atmel,sama5d3-gem"; compatible = "atmel,sama5d3-gem";
reg = <0xf0028000 0x100>; reg = <0xf0028000 0x100>;
interrupts = <34 IRQ_TYPE_LEVEL_HIGH 3>; interrupts = <34 IRQ_TYPE_LEVEL_HIGH 3>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_macb0_data_rgmii &pinctrl_macb0_signal_rgmii>; pinctrl-0 = <&pinctrl_macb0_data_rgmii &pinctrl_macb0_signal_rgmii>;
clocks = <&macb0_clk>, <&macb0_clk>; clocks = <&pmc PMC_TYPE_PERIPHERAL 34>, <&pmc PMC_TYPE_PERIPHERAL 34>;
clock-names = "hclk", "pclk"; clock-names = "hclk", "pclk";
status = "disabled"; status = "disabled";
}; };
......
...@@ -16,7 +16,7 @@ hlcdc: hlcdc@f0030000 { ...@@ -16,7 +16,7 @@ hlcdc: hlcdc@f0030000 {
compatible = "atmel,sama5d3-hlcdc"; compatible = "atmel,sama5d3-hlcdc";
reg = <0xf0030000 0x2000>; reg = <0xf0030000 0x2000>;
interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; clocks = <&pmc PMC_TYPE_PERIPHERAL 36>, <&pmc PMC_TYPE_SYSTEM 3>, <&clk32k>;
clock-names = "periph_clk","sys_clk", "slow_clk"; clock-names = "periph_clk","sys_clk", "slow_clk";
status = "disabled"; status = "disabled";
...@@ -192,23 +192,6 @@ AT91_PIOE 27 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD22 pin */ ...@@ -192,23 +192,6 @@ AT91_PIOE 27 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD22 pin */
}; };
}; };
}; };
pmc: pmc@fffffc00 {
periphck {
lcdc_clk: lcdc_clk {
#clock-cells = <0>;
reg = <36>;
};
};
systemck {
lcdck: lcdck {
#clock-cells = <0>;
reg = <3>;
clocks = <&mck>;
};
};
};
}; };
}; };
}; };
...@@ -30,15 +30,6 @@ AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PC13 periph A MCI2_DA2 with p ...@@ -30,15 +30,6 @@ AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PC13 periph A MCI2_DA2 with p
}; };
}; };
pmc: pmc@fffffc00 {
periphck {
mci2_clk: mci2_clk {
#clock-cells = <0>;
reg = <23>;
};
};
};
mmc2: mmc@f8004000 { mmc2: mmc@f8004000 {
compatible = "atmel,hsmci"; compatible = "atmel,hsmci";
reg = <0xf8004000 0x600>; reg = <0xf8004000 0x600>;
...@@ -47,7 +38,7 @@ mmc2: mmc@f8004000 { ...@@ -47,7 +38,7 @@ mmc2: mmc@f8004000 {
dma-names = "rxtx"; dma-names = "rxtx";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_mmc2_clk_cmd_dat0 &pinctrl_mmc2_dat1_3>; pinctrl-0 = <&pinctrl_mmc2_clk_cmd_dat0 &pinctrl_mmc2_dat1_3>;
clocks = <&mci2_clk>; clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
clock-names = "mci_clk"; clock-names = "mci_clk";
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
......
...@@ -17,23 +17,13 @@ aliases { ...@@ -17,23 +17,13 @@ aliases {
ahb { ahb {
apb { apb {
pmc: pmc@fffffc00 {
periphck {
tcb1_clk: tcb1_clk {
#clock-cells = <0>;
reg = <27>;
atmel,clk-output-range = <0 166000000>;
};
};
};
tcb1: timer@f8014000 { tcb1: timer@f8014000 {
compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon"; compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reg = <0xf8014000 0x100>; reg = <0xf8014000 0x100>;
interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>; interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&tcb1_clk>, <&clk32k>; clocks = <&pmc PMC_TYPE_PERIPHERAL 27>, <&clk32k>;
clock-names = "t0_clk", "slow_clk"; clock-names = "t0_clk", "slow_clk";
}; };
}; };
......
...@@ -36,29 +36,13 @@ pinctrl_uart1: uart1-0 { ...@@ -36,29 +36,13 @@ pinctrl_uart1: uart1-0 {
}; };
}; };
pmc: pmc@fffffc00 {
periphck {
uart0_clk: uart0_clk {
#clock-cells = <0>;
reg = <16>;
atmel,clk-output-range = <0 83000000>;
};
uart1_clk: uart1_clk {
#clock-cells = <0>;
reg = <17>;
atmel,clk-output-range = <0 83000000>;
};
};
};
uart0: serial@f0024000 { uart0: serial@f0024000 {
compatible = "atmel,at91sam9260-usart"; compatible = "atmel,at91sam9260-usart";
reg = <0xf0024000 0x100>; reg = <0xf0024000 0x100>;
interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart0>; pinctrl-0 = <&pinctrl_uart0>;
clocks = <&uart0_clk>; clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
clock-names = "usart"; clock-names = "usart";
status = "disabled"; status = "disabled";
}; };
...@@ -69,7 +53,7 @@ uart1: serial@f8028000 { ...@@ -69,7 +53,7 @@ uart1: serial@f8028000 {
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>; interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>; pinctrl-0 = <&pinctrl_uart1>;
clocks = <&uart1_clk>; clocks = <&pmc PMC_TYPE_PERIPHERAL 17>;
clock-names = "usart"; clock-names = "usart";
status = "disabled"; status = "disabled";
}; };
......
...@@ -46,7 +46,7 @@ i2c0: i2c@f0014000 { ...@@ -46,7 +46,7 @@ i2c0: i2c@f0014000 {
wm8904: wm8904@1a { wm8904: wm8904@1a {
compatible = "wlf,wm8904"; compatible = "wlf,wm8904";
reg = <0x1a>; reg = <0x1a>;
clocks = <&pck0>; clocks = <&pmc PMC_TYPE_SYSTEM 8>;
clock-names = "mclk"; clock-names = "mclk";
}; };
}; };
...@@ -60,9 +60,9 @@ ov2640: camera@30 { ...@@ -60,9 +60,9 @@ ov2640: camera@30 {
resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>; resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>;
pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>; pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
/* use pck1 for the master clock of ov2640 */ /* use pck1 for the master clock of ov2640 */
clocks = <&pck1>; clocks = <&pmc PMC_TYPE_SYSTEM 9>;
clock-names = "xvclk"; clock-names = "xvclk";
assigned-clocks = <&pck1>; assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>;
assigned-clock-rates = <25000000>; assigned-clock-rates = <25000000>;
port { port {
......
...@@ -45,7 +45,7 @@ i2c0: i2c@f0014000 { ...@@ -45,7 +45,7 @@ i2c0: i2c@f0014000 {
wm8904: wm8904@1a { wm8904: wm8904@1a {
compatible = "wlf,wm8904"; compatible = "wlf,wm8904";
reg = <0x1a>; reg = <0x1a>;
clocks = <&pck0>; clocks = <&pmc PMC_TYPE_SYSTEM 8>;
clock-names = "mclk"; clock-names = "mclk";
}; };
}; };
...@@ -59,9 +59,9 @@ ov2640: camera@30 { ...@@ -59,9 +59,9 @@ ov2640: camera@30 {
resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>; resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>;
pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>; pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
/* use pck1 for the master clock of ov2640 */ /* use pck1 for the master clock of ov2640 */
clocks = <&pck1>; clocks = <&pmc PMC_TYPE_SYSTEM 9>;
clock-names = "xvclk"; clock-names = "xvclk";
assigned-clocks = <&pck1>; assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>;
assigned-clock-rates = <25000000>; assigned-clock-rates = <25000000>;
port { port {
......
...@@ -462,7 +462,7 @@ i2c0: i2c@f8014000 { ...@@ -462,7 +462,7 @@ i2c0: i2c@f8014000 {
pinctrl-0 = <&pinctrl_i2c0>; pinctrl-0 = <&pinctrl_i2c0>;
pinctrl-1 = <&pinctrl_i2c0_gpio>; pinctrl-1 = <&pinctrl_i2c0_gpio>;
sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>; sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioA 31 GPIO_ACTIVE_HIGH>; scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 32>; clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
...@@ -484,7 +484,7 @@ i2c1: i2c@f8018000 { ...@@ -484,7 +484,7 @@ i2c1: i2c@f8018000 {
pinctrl-0 = <&pinctrl_i2c1>; pinctrl-0 = <&pinctrl_i2c1>;
pinctrl-1 = <&pinctrl_i2c1_gpio>; pinctrl-1 = <&pinctrl_i2c1_gpio>;
sda-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>; sda-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioE 30 GPIO_ACTIVE_HIGH>; scl-gpios = <&pioE 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 33>; clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
...@@ -529,7 +529,7 @@ i2c2: i2c@f8024000 { ...@@ -529,7 +529,7 @@ i2c2: i2c@f8024000 {
pinctrl-0 = <&pinctrl_i2c2>; pinctrl-0 = <&pinctrl_i2c2>;
pinctrl-1 = <&pinctrl_i2c2_gpio>; pinctrl-1 = <&pinctrl_i2c2_gpio>;
sda-gpios = <&pioB 29 GPIO_ACTIVE_HIGH>; sda-gpios = <&pioB 29 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pioB 30 GPIO_ACTIVE_HIGH>; scl-gpios = <&pioB 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 34>; clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment