blob: 2ea74260c8f069d72638a67315687f540c681eab [file] [log] [blame]
/*
* Copyright (c) 2019 Linaro Limited
*
* SPDX-License-Identifier: Apache-2.0
*/
sysclk: system-clock {
compatible = "fixed-clock";
clock-frequency = <25000000>;
#clock-cells = <0>;
};
timer0: timer@0 {
compatible = "arm,cmsdk-timer";
reg = <0x0 0x1000>;
interrupts = <3 3>;
label = "TIMER_0";
};
timer1: timer@1000 {
compatible = "arm,cmsdk-timer";
reg = <0x1000 0x1000>;
interrupts = <4 3>;
label = "TIMER_1";
};
dtimer0: dtimer@2000 {
compatible = "arm,cmsdk-dtimer";
reg = <0x2000 0x1000>;
interrupts = <5 3>;
label = "DTIMER_0";
};
mhu0: mhu@3000 {
compatible = "arm,mhu";
reg = <0x3000 0x1000>;
interrupts = <6 3>;
label = "MHU_0";
};
mhu1: mhu@4000 {
compatible = "arm,mhu";
reg = <0x4000 0x1000>;
interrupts = <7 3>;
label = "MHU_1";
};
gpio0: gpio@100000 {
compatible = "arm,cmsdk-gpio";
reg = <0x100000 0x1000>;
interrupts = <68 3>;
gpio-controller;
#gpio-cells = <2>;
label = "GPIO_0";
};
gpio1: gpio@101000 {
compatible = "arm,cmsdk-gpio";
reg = <0x101000 0x1000>;
interrupts = <69 3>;
gpio-controller;
#gpio-cells = <2>;
label = "GPIO_1";
};
gpio2: gpio@102000 {
compatible = "arm,cmsdk-gpio";
reg = <0x102000 0x1000>;
interrupts = <70 3>;
gpio-controller;
#gpio-cells = <2>;
label = "GPIO_2";
};
gpio3: gpio@103000 {
compatible = "arm,cmsdk-gpio";
reg = <0x103000 0x1000>;
interrupts = <71 3>;
gpio-controller;
#gpio-cells = <2>;
label = "GPIO_3";
};
wdog0: wdog@81000 {
compatible = "arm,cmsdk-watchdog";
reg = <0x81000 0x1000>;
clocks = <&sysclk>;
label = "WATCHDOG";
};
uart0: uart@200000 {
compatible = "arm,cmsdk-uart";
reg = <0x200000 0x1000>;
interrupts = <33 3 32 3>;
interrupt-names = "tx", "rx";
clocks = <&sysclk>;
current-speed = <115200>;
label = "UART_0";
};
uart1: uart@201000 {
compatible = "arm,cmsdk-uart";
reg = <0x201000 0x1000>;
interrupts = <35 3 34 3>;
interrupt-names = "tx", "rx";
clocks = <&sysclk>;
current-speed = <115200>;
label = "UART_1";
};
uart2: uart@202000 {
compatible = "arm,cmsdk-uart";
reg = <0x202000 0x1000>;
interrupts = <37 3 36 3>;
interrupt-names = "tx", "rx";
clocks = <&sysclk>;
current-speed = <115200>;
label = "UART_2";
};
uart3: uart@203000 {
compatible = "arm,cmsdk-uart";
reg = <0x203000 0x1000>;
interrupts = <39 3 38 3>;
interrupt-names = "tx", "rx";
clocks = <&sysclk>;
current-speed = <115200>;
label = "UART_3";
};
uart4: uart@204000 {
compatible = "arm,cmsdk-uart";
reg = <0x204000 0x1000>;
interrupts = <41 3 40 3>;
interrupt-names = "tx", "rx";
clocks = <&sysclk>;
current-speed = <115200>;
label = "UART_4";
};
i2c_touch: i2c@207000 {
compatible = "arm,versatile-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x207000 0x1000>;
label = "I2C_TOUCH";
};
i2c_audio_conf: i2c@208000 {
compatible = "arm,versatile-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x208000 0x1000>;
label = "I2C_AUDIO_CONF";
};
i2c_shield0: i2c@20c000 {
compatible = "arm,versatile-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x20c000 0x1000>;
label = "I2C_SHIELD0";
};
i2c_shield1: i2c@20d000 {
compatible = "arm,versatile-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x20d000 0x1000>;
label = "I2C_SHIELD1";
};
gpio_led0: mps2_fpgaio@302000 {
compatible = "arm,mps2-fpgaio-gpio";
reg = <0x302000 0x4>;
gpio-controller;
#gpio-cells = <1>;
ngpios = <2>;
label = "FPGA_LED0";
};
gpio_button: mps2_fpgaio@302008 {
compatible = "arm,mps2-fpgaio-gpio";
reg = <0x302008 0x4>;
gpio-controller;
#gpio-cells = <1>;
ngpios = <2>;
label = "FPGA_BUTTON";
};
gpio_misc: mps2_fpgaio@30204c {
compatible = "arm,mps2-fpgaio-gpio";
reg = <0x30204c 0x4>;
gpio-controller;
#gpio-cells = <1>;
ngpios = <10>;
label = "FPGA_MISC";
};
eth0: eth@2000000 {
/* Linux has "smsc,lan9115" */
compatible = "smsc,lan9220";
/* Actual reg range is ~0x200 */
reg = <0x2000000 0x100000>;
label = "eth0";
interrupts = <48 3>;
};