mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-02 18:51:57 +00:00
Convert i2s_sam_ssc driver to utilize devicetree. We replace Kconfig options for specifying the DMA configuration (channel, DMA device name) with getting that from devicetree. We also get pincfg from devicetree, however we still have Kconfig sybmols to specify if the RF or RK pin is enabled. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
390 lines
8.3 KiB
Plaintext
390 lines
8.3 KiB
Plaintext
/*
|
|
* Copyright (c) 2017 Piotr Mienkowski
|
|
* Copyright (c) 2017 Justin Watson
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <arm/armv7-m.dtsi>
|
|
#include <dt-bindings/i2c/i2c.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
#include "same70-pinctrl.dtsi"
|
|
|
|
/ {
|
|
aliases {
|
|
watchdog0 = &wdt;
|
|
};
|
|
|
|
chosen {
|
|
zephyr,flash-controller = &eefc;
|
|
};
|
|
|
|
chosen {
|
|
zephyr,entropy = &trng;
|
|
};
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu0: cpu@0 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-m7";
|
|
reg = <0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
mpu: mpu@e000ed90 {
|
|
compatible = "arm,armv7m-mpu";
|
|
reg = <0xe000ed90 0x40>;
|
|
arm,num-mpu-regions = <16>;
|
|
};
|
|
};
|
|
};
|
|
|
|
sram0: memory@20400000 {
|
|
compatible = "mmio-sram";
|
|
};
|
|
|
|
soc {
|
|
eefc: flash-controller@400e0c00 {
|
|
compatible = "atmel,sam-flash-controller";
|
|
label = "FLASH_CTRL";
|
|
reg = <0x400e0c00 0x200>;
|
|
interrupts = <6 0>;
|
|
peripheral-id = <6>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
flash0: flash@400000 {
|
|
compatible = "soc-nv-flash";
|
|
label = "FLASH_E70";
|
|
|
|
write-block-size = <16>;
|
|
erase-block-size = <8192>;
|
|
};
|
|
|
|
};
|
|
|
|
wdt: watchdog@400e1850 {
|
|
compatible = "atmel,sam-watchdog";
|
|
reg = <0x400e1850 0xc>;
|
|
interrupts = <4 0>;
|
|
peripheral-id = <4>;
|
|
label = "WATCHDOG_0";
|
|
status = "disabled";
|
|
};
|
|
|
|
twihs0: i2c@40018000 {
|
|
compatible = "atmel,sam-i2c-twihs";
|
|
clock-frequency = <I2C_BITRATE_STANDARD>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x40018000 0x12B>;
|
|
interrupts = <19 0>;
|
|
peripheral-id = <19>;
|
|
label = "I2C_0";
|
|
status = "disabled";
|
|
pinctrl-0 = <&pa4a_twihs0_twck0 &pa3a_twihs0_twd0>;
|
|
};
|
|
|
|
twihs1: i2c@4001c000 {
|
|
compatible = "atmel,sam-i2c-twihs";
|
|
clock-frequency = <I2C_BITRATE_STANDARD>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x4001c000 0x12B>;
|
|
interrupts = <20 0>;
|
|
peripheral-id = <20>;
|
|
label = "I2C_1";
|
|
status = "disabled";
|
|
pinctrl-0 = <&pb5a_twihs1_twck1 &pb4a_twihs1_twd1>;
|
|
};
|
|
|
|
twihs2: i2c@40060000 {
|
|
compatible = "atmel,sam-i2c-twihs";
|
|
clock-frequency = <I2C_BITRATE_STANDARD>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x40060000 0x12B>;
|
|
interrupts = <41 0>;
|
|
peripheral-id = <41>;
|
|
label = "I2C_2";
|
|
status = "disabled";
|
|
pinctrl-0 = <&pd28c_twihs2_twck2 &pd27c_twihs2_twd2>;
|
|
};
|
|
|
|
spi0: spi@40008000 {
|
|
compatible = "atmel,sam-spi";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x40008000 0x4000>;
|
|
interrupts = <21 0>;
|
|
peripheral-id = <21>;
|
|
label = "SPI_0";
|
|
status = "disabled";
|
|
pinctrl-0 = <&pd20b_spi0_miso &pd21b_spi0_mosi &pd22b_spi0_spck>;
|
|
};
|
|
|
|
spi1: spi@40058000 {
|
|
compatible = "atmel,sam-spi";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x40058000 0x4000>;
|
|
interrupts = <42 0>;
|
|
peripheral-id = <42>;
|
|
label = "SPI_1";
|
|
status = "disabled";
|
|
pinctrl-0 = <&pc26c_spi1_miso &pc27c_spi1_mosi &pc24c_spi1_spck>;
|
|
};
|
|
|
|
uart0: uart@400e0800 {
|
|
compatible = "atmel,sam-uart";
|
|
reg = <0x400e0800 0x100>;
|
|
interrupts = <7 1>;
|
|
peripheral-id = <7>;
|
|
status = "disabled";
|
|
label = "UART_0";
|
|
pinctrl-0 = <&pa9a_uart0_urxd0 &pa10a_uart0_utxd0>;
|
|
};
|
|
|
|
uart1: uart@400e0a00 {
|
|
compatible = "atmel,sam-uart";
|
|
reg = <0x400e0a00 0x100>;
|
|
interrupts = <8 1>;
|
|
peripheral-id = <8>;
|
|
status = "disabled";
|
|
label = "UART_1";
|
|
};
|
|
|
|
uart2: uart@400e1a00 {
|
|
compatible = "atmel,sam-uart";
|
|
reg = <0x400e1a00 0x100>;
|
|
interrupts = <44 1>;
|
|
peripheral-id = <44>;
|
|
status = "disabled";
|
|
label = "UART_2";
|
|
};
|
|
|
|
uart3: uart@400e1c00 {
|
|
compatible = "atmel,sam-uart";
|
|
reg = <0x400e1c00 0x100>;
|
|
interrupts = <45 1>;
|
|
peripheral-id = <45>;
|
|
status = "disabled";
|
|
label = "UART_3";
|
|
};
|
|
|
|
uart4: uart@400e1e00 {
|
|
compatible = "atmel,sam-uart";
|
|
reg = <0x400e1e00 0x100>;
|
|
interrupts = <46 1>;
|
|
peripheral-id = <46>;
|
|
status = "disabled";
|
|
label = "UART_4";
|
|
};
|
|
|
|
usart0: usart@40024000 {
|
|
compatible = "atmel,sam-usart";
|
|
reg = <0x40024000 0x100>;
|
|
interrupts = <13 0>;
|
|
peripheral-id = <13>;
|
|
status = "disabled";
|
|
label = "USART_0";
|
|
pinctrl-0 = <&pb0c_usart0_rxd0 &pb1c_usart0_txd0>;
|
|
};
|
|
|
|
usart1: usart@40028000 {
|
|
compatible = "atmel,sam-usart";
|
|
reg = <0x40028000 0x100>;
|
|
interrupts = <14 0>;
|
|
peripheral-id = <14>;
|
|
status = "disabled";
|
|
label = "USART_1";
|
|
pinctrl-0 = <&pa21a_usart1_rxd1 &pb4d_usart1_txd1>;
|
|
};
|
|
|
|
usart2: usart@4002c000 {
|
|
compatible = "atmel,sam-usart";
|
|
reg = <0x4002c000 0x100>;
|
|
interrupts = <15 0>;
|
|
peripheral-id = <15>;
|
|
status = "disabled";
|
|
label = "USART_2";
|
|
pinctrl-0 = <&pd15b_usart2_rxd2 &pd16b_usart2_txd2>;
|
|
};
|
|
|
|
afec0: adc@4003c000 {
|
|
compatible = "atmel,sam-afec";
|
|
reg = <0x4003c000 0x100>;
|
|
interrupts = <29 0>;
|
|
peripheral-id = <29>;
|
|
status = "disabled";
|
|
label = "ADC_0";
|
|
#io-channel-cells = <1>;
|
|
pinctrl-0 = <&pa8b_afec0_adtrg>;
|
|
};
|
|
|
|
afec1: adc@40064000 {
|
|
compatible = "atmel,sam-afec";
|
|
reg = <0x40064000 0x100>;
|
|
interrupts = <40 0>;
|
|
peripheral-id = <40>;
|
|
status = "disabled";
|
|
label = "ADC_1";
|
|
#io-channel-cells = <1>;
|
|
pinctrl-0 = <&pd9c_afec1_adtrg>;
|
|
};
|
|
|
|
pinctrl@400e0e00 {
|
|
compatible = "atmel,sam-pinctrl";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0x400e0e00 0x400e0e00 0xa00>;
|
|
|
|
pioa: gpio@400e0e00 {
|
|
compatible = "atmel,sam-gpio";
|
|
reg = <0x400e0e00 0x190>;
|
|
interrupts = <10 1>;
|
|
peripheral-id = <10>;
|
|
label = "PORTA";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
#atmel,pin-cells = <2>;
|
|
};
|
|
|
|
piob: gpio@400e1000 {
|
|
compatible = "atmel,sam-gpio";
|
|
reg = <0x400e1000 0x190>;
|
|
interrupts = <11 1>;
|
|
peripheral-id = <11>;
|
|
label = "PORTB";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
#atmel,pin-cells = <2>;
|
|
};
|
|
|
|
pioc: gpio@400e1200 {
|
|
compatible = "atmel,sam-gpio";
|
|
reg = <0x400e1200 0x190>;
|
|
interrupts = <12 1>;
|
|
peripheral-id = <12>;
|
|
label = "PORTC";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
#atmel,pin-cells = <2>;
|
|
};
|
|
|
|
piod: gpio@400e1400 {
|
|
compatible = "atmel,sam-gpio";
|
|
reg = <0x400e1400 0x190>;
|
|
interrupts = <16 1>;
|
|
peripheral-id = <16>;
|
|
label = "PORTD";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
#atmel,pin-cells = <2>;
|
|
};
|
|
|
|
pioe: gpio@400e1600 {
|
|
compatible = "atmel,sam-gpio";
|
|
reg = <0x400e1600 0x190>;
|
|
interrupts = <17 1>;
|
|
peripheral-id = <17>;
|
|
label = "PORTE";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
#atmel,pin-cells = <2>;
|
|
};
|
|
};
|
|
|
|
pwm0: pwm0@40020000 {
|
|
compatible = "atmel,sam-pwm";
|
|
reg = <0x40020000 0x4000>;
|
|
interrupts = <31 0>;
|
|
peripheral-id = <31>;
|
|
status = "disabled";
|
|
label = "PWM_0";
|
|
prescaler = <10>;
|
|
divider = <1>;
|
|
#pwm-cells = <2>;
|
|
};
|
|
|
|
pwm1: pwm1@4005c000 {
|
|
compatible = "atmel,sam-pwm";
|
|
reg = <0x4005c000 0x4000>;
|
|
interrupts = <60 0>;
|
|
peripheral-id = <60>;
|
|
status = "disabled";
|
|
label = "PWM_1";
|
|
prescaler = <10>;
|
|
divider = <1>;
|
|
#pwm-cells = <2>;
|
|
};
|
|
|
|
usbhs: usbd@40038000 {
|
|
compatible = "atmel,sam-usbhs";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x40038000 0x4000>;
|
|
interrupts = <34 0>;
|
|
interrupt-names = "usbhs";
|
|
maximum-speed = "full-speed";
|
|
num-bidir-endpoints = <10>;
|
|
peripheral-id = <34>;
|
|
status = "disabled";
|
|
label = "USBHS";
|
|
};
|
|
|
|
gmac: ethernet@40050088 {
|
|
compatible = "atmel,sam-gmac";
|
|
reg = <0x40050088 0x4000>;
|
|
interrupts = <39 0>, <66 0>, <67 0>;
|
|
interrupt-names = "gmac", "q1", "q2";
|
|
num-queues = <3>;
|
|
local-mac-address = [00 00 00 00 00 00];
|
|
label = "GMAC";
|
|
status = "disabled";
|
|
/* Default to RMII config */
|
|
pinctrl-0 = <&pd0a_gmac_gtxck &pd1a_gmac_gtxen
|
|
&pd2a_gmac_gtx0 &pd3a_gmac_gtx1
|
|
&pd4a_gmac_grxdv &pd5a_gmac_grx0
|
|
&pd6a_gmac_grx1 &pd7a_gmac_grxer
|
|
&pd8a_gmac_gmdc &pd9a_gmac_gmdio>;
|
|
};
|
|
|
|
trng: random@40070000 {
|
|
compatible = "atmel,sam-trng";
|
|
reg = <0x40070000 0x4000>;
|
|
interrupts = <57 0>;
|
|
peripheral-id = <57>;
|
|
status = "okay";
|
|
label = "TRNG";
|
|
};
|
|
|
|
xdmac: dma-controller@40078000 {
|
|
compatible = "atmel,sam-xdmac";
|
|
reg = <0x40078000 0x400>;
|
|
interrupts = <58 0>;
|
|
peripheral-id = <58>;
|
|
label = "DMA_0";
|
|
#dma-cells = <2>;
|
|
};
|
|
|
|
ssc: ssc@40004000 {
|
|
compatible = "atmel,sam-ssc";
|
|
reg = <0x40004000 0x400>;
|
|
interrupts = <22 0>;
|
|
peripheral-id = <22>;
|
|
label = "SSC_0";
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|
|
|
|
&nvic {
|
|
arm,num-irq-priority-bits = <3>;
|
|
};
|