| /* |
| * Copyright (c) 2019 Gerson Fernando Budke |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <arm/armv7-m.dtsi> |
| #include <dt-bindings/i2c/i2c.h> |
| #include <dt-bindings/gpio/gpio.h> |
| |
| #include "sam4e-pinctrl.dtsi" |
| |
| / { |
| aliases { |
| watchdog0 = &wdt; |
| }; |
| |
| chosen { |
| zephyr,flash-controller = &eefc; |
| }; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu0: cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-m4f"; |
| reg = <0>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| mpu: mpu@e000ed90 { |
| compatible = "arm,armv7m-mpu"; |
| reg = <0xe000ed90 0x40>; |
| arm,num-mpu-regions = <8>; |
| }; |
| }; |
| }; |
| |
| soc { |
| sram0: memory@20000000 { |
| compatible = "mmio-sram"; |
| }; |
| |
| /* Only used for HWINFO device ID */ |
| eefc: flash-controller@400e0a00 { |
| compatible = "atmel,sam-flash-controller"; |
| label = "FLASH_CTRL"; |
| reg = <0x400e0a00 0x200>; |
| peripheral-id = <6>; |
| |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| flash0: flash@400000 { |
| compatible = "soc-nv-flash"; |
| label = "FLASH_0"; |
| }; |
| }; |
| |
| wdt: watchdog@400e1850 { |
| compatible = "atmel,sam-watchdog"; |
| reg = <0x400e1850 0x10>; |
| interrupts = <4 0>; |
| peripheral-id = <4>; |
| label = "WATCHDOG_0"; |
| status = "disabled"; |
| }; |
| |
| twi0: i2c@400a8000 { |
| compatible = "atmel,sam-i2c-twi"; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| reg = <0x400a8000 0x4000>; |
| interrupts = <17 0>; |
| peripheral-id = <17>; |
| label = "I2C_0"; |
| status = "disabled"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-0 = <&pa4a_twi0_twck0 &pa3a_twi0_twd0>; |
| }; |
| |
| twi1: i2c@400ac000 { |
| compatible = "atmel,sam-i2c-twi"; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| reg = <0x400ac000 0x4000>; |
| interrupts = <18 0>; |
| peripheral-id = <18>; |
| label = "I2C_1"; |
| status = "disabled"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-0 = <&pb5a_twi1_twck1 &pb4a_twi1_twd1>; |
| }; |
| |
| spi0: spi@40088000 { |
| compatible = "atmel,sam-spi"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40088000 0x4000>; |
| interrupts = <19 0>; |
| peripheral-id = <19>; |
| label = "SPI_0"; |
| status = "disabled"; |
| pinctrl-0 = <&pa12a_spi_miso &pa13a_spi_mosi &pa14a_spi_spck>; |
| }; |
| |
| uart0: uart@400e0600 { |
| compatible = "atmel,sam-uart"; |
| reg = <0x400e0600 0x140>; |
| interrupts = <7 1>; |
| peripheral-id = <7>; |
| status = "disabled"; |
| label = "UART_0"; |
| pinctrl-0 = <&pa9a_uart0_urxd0 &pa10a_uart0_utxd0>; |
| }; |
| |
| uart1: uart@40060600 { |
| compatible = "atmel,sam-uart"; |
| reg = <0x40060600 0x200>; |
| interrupts = <45 1>; |
| peripheral-id = <45>; |
| status = "disabled"; |
| label = "UART_1"; |
| pinctrl-0 = <&pa5c_uart1_urxd1 &pa6c_uart1_utxd1>; |
| }; |
| |
| usart0: usart@400a0000 { |
| compatible = "atmel,sam-usart"; |
| reg = <0x400a0000 0x4000>; |
| interrupts = <14 1>; |
| peripheral-id = <14>; |
| status = "disabled"; |
| label = "USART_0"; |
| }; |
| |
| usart1: usart@400a4000 { |
| compatible = "atmel,sam-usart"; |
| reg = <0x400a4000 0x4000>; |
| interrupts = <15 1>; |
| peripheral-id = <15>; |
| status = "disabled"; |
| label = "USART_1"; |
| }; |
| |
| gmac: ethernet@40034000 { |
| compatible = "atmel,sam-gmac"; |
| reg = <0x40034000 0x4000>; |
| interrupts = <44 0>; |
| interrupt-names = "gmac"; |
| num-queues = <1>; |
| phy-connection-type = "mii"; |
| label = "GMAC"; |
| status = "disabled"; |
| /* Default to MII config */ |
| pinctrl-0 = <&pd0a_gmac_gtxck &pd1a_gmac_gtxen |
| &pd2a_gmac_gtx0 &pd3a_gmac_gtx1 |
| &pd15a_gmac_gtx2 &pd16a_gmac_gtx3 |
| &pd4a_gmac_grxdv &pd7a_gmac_grxer |
| &pd14a_gmac_grxck &pd5a_gmac_grx0 |
| &pd6a_gmac_grx1 &pd11a_gmac_grx2 |
| &pd12a_gmac_grx3 &pd13a_gmac_gcol |
| &pd10a_gmac_gcrs &pd8a_gmac_gmdc |
| &pd9a_gmac_gmdio>; |
| }; |
| |
| 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 0x200>; |
| interrupts = <9 1>; |
| peripheral-id = <9>; |
| label = "PORTA"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| #atmel,pin-cells = <2>; |
| }; |
| |
| piob: gpio@400e1000 { |
| compatible = "atmel,sam-gpio"; |
| reg = <0x400e1000 0x200>; |
| interrupts = <10 1>; |
| peripheral-id = <10>; |
| label = "PORTB"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| #atmel,pin-cells = <2>; |
| }; |
| |
| pioc: gpio@400e1200 { |
| compatible = "atmel,sam-gpio"; |
| reg = <0x400e1200 0x200>; |
| interrupts = <11 1>; |
| peripheral-id = <11>; |
| label = "PORTC"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| #atmel,pin-cells = <2>; |
| }; |
| |
| piod: gpio@400e1400 { |
| compatible = "atmel,sam-gpio"; |
| reg = <0x400e1400 0x200>; |
| interrupts = <12 1>; |
| peripheral-id = <12>; |
| label = "PORTD"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| #atmel,pin-cells = <2>; |
| }; |
| |
| pioe: gpio@400e1600 { |
| compatible = "atmel,sam-gpio"; |
| reg = <0x400e1600 0x200>; |
| interrupts = <13 1>; |
| peripheral-id = <13>; |
| label = "PORTE"; |
| gpio-controller; |
| #gpio-cells = <2>; |
| #atmel,pin-cells = <2>; |
| }; |
| }; |
| }; |
| }; |
| |
| &nvic { |
| arm,num-irq-priority-bits = <4>; |
| }; |