zephyr/dts/xtensa/intel/intel_s1000.dtsi

271 lines
5.4 KiB
Plaintext

/* SPDX-License-Identifier: Apache-2.0 */
#include <xtensa/xtensa.dtsi>
#include <zephyr/dt-bindings/i2c/i2c.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <mem.h>
#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>
/ {
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
device_type = "cpu";
compatible = "cdns,tensilica-xtensa-lx6";
reg = <0>;
};
cpu1: cpu@1 {
device_type = "cpu";
compatible = "cdns,tensilica-xtensa-lx6";
reg = <1>;
};
};
sram0: memory@be000000 {
compatible = "mmio-sram";
reg = <0xbe000000 DT_SIZE_M(4)>;
};
sram1: memory@be800000 {
compatible = "mmio-sram";
reg = <0xbe800000 DT_SIZE_K(64)>;
};
sysclk: system-clock {
compatible = "fixed-clock";
clock-frequency = <400000000>;
#clock-cells = <0>;
};
soc {
core_intc: core_intc@0 {
compatible = "cdns,xtensa-core-intc";
reg = <0x00 0x400>;
interrupt-controller;
#interrupt-cells = <3>;
};
shim: shim@71f00 {
compatible = "intel,cavs-shim";
reg = <0x71f00 0x100>;
};
cavs0: cavs@78800 {
compatible = "intel,cavs-intc";
reg = <0x78800 0x10>;
interrupt-controller;
#interrupt-cells = <3>;
interrupts = <6 0 0>;
interrupt-parent = <&core_intc>;
label = "CAVS_0";
};
cavs1: cavs@78810 {
compatible = "intel,cavs-intc";
reg = <0x78810 0x10>;
interrupt-controller;
#interrupt-cells = <3>;
interrupts = <0xA 0 0>;
interrupt-parent = <&core_intc>;
label = "CAVS_1";
};
cavs2: cavs@78820 {
compatible = "intel,cavs-intc";
reg = <0x78820 0x10>;
interrupt-controller;
#interrupt-cells = <3>;
interrupts = <0XD 0 0>;
interrupt-parent = <&core_intc>;
label = "CAVS_2";
};
cavs3: cavs@78830 {
compatible = "intel,cavs-intc";
reg = <0x78830 0x10>;
interrupt-controller;
#interrupt-cells = <3>;
interrupts = <0x10 0 0>;
interrupt-parent = <&core_intc>;
label = "CAVS_3";
};
idc: idc@1200 {
compatible = "intel,cavs-idc";
label = "CAVS_IDC";
reg = <0x1200 0x80>;
interrupts = <8 0 0>;
interrupt-parent = <&cavs0>;
};
dw_intc: intc@81800 {
compatible = "snps,designware-intc";
reg = <0x00081800 0x400>;
interrupt-controller;
#interrupt-cells = <3>;
interrupts = <6 0 0>;
num-irqs = <9>;
interrupt-parent = <&cavs0>;
label = "DW_INTC";
};
gpio0: gpio@80c00 {
compatible = "snps,designware-gpio";
reg = <0x00080c00 0x400>;
ngpios = <32>;
label = "GPIO";
interrupts = <3 1 0>;
interrupt-parent = <&dw_intc>;
gpio-controller;
#gpio-cells = <2>;
};
pinmux: pinmux@81c30 {
compatible = "intel,s1000-pinmux";
reg = <0x00081c30 0xC>;
};
uart0: uart@80800 {
compatible = "ns16550";
reg = <0x80800 0x400>;
label = "UART_0";
clock-frequency = <38400000>;
interrupts = <2 0 0>;
interrupt-parent = <&dw_intc>;
status = "disabled";
};
i2c0: i2c@80400 {
compatible = "snps,designware-i2c";
clock-frequency = <I2C_BITRATE_STANDARD>;
#address-cells = <1>;
#size-cells = <0>;
reg = <0x80400 0x400>;
interrupts = <1 0 0>;
interrupt-parent = <&dw_intc>;
label = "I2C_0";
status = "disabled";
};
spi0: spi@e000 {
compatible = "snps,designware-spi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x0000E000 0x400>;
clocks = <&sysclk>;
interrupts = <6 0 0>;
interrupt-parent = <&dw_intc>;
label = "SPI_0";
};
dma0: dma@7c000 {
compatible = "snps,designware-dma";
#dma-cells = <1>;
reg = <0x0007C000 0x1000>;
interrupts = <0x10 0 0>;
interrupt-parent = <&cavs3>;
label = "DMA_0";
status = "okay";
};
dma1: dma@7d000 {
compatible = "snps,designware-dma";
#dma-cells = <1>;
reg = <0x0007D000 0x1000>;
interrupts = <0x00 0 0>;
interrupt-parent = <&cavs1>;
label = "DMA_1";
status = "disabled";
};
dma2: dma@7e000 {
compatible = "snps,designware-dma";
#dma-cells = <1>;
reg = <0x0007E000 0x1000>;
interrupts = <0x00 0 0>;
interrupt-parent = <&cavs2>;
label = "DMA_2";
status = "disabled";
};
usb: usb@a0000 {
compatible = "snps,designware-usb";
reg = <0x000A0000 0x1000>;
interrupts = <0x07 IRQ_TYPE_LOWEST_EDGE_RISING 3>;
interrupt-parent = <&cavs0>;
num-bidir-endpoints = <6>;
label = "USB_0";
status = "disabled";
};
i2s1: i2s@77200 {
compatible = "intel,cavs-i2s";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00077200 0x200
0x00078D08 0x008>;
interrupts = <0x01 0 0>;
interrupt-parent = <&cavs3>;
dmas = <&dma0 2
&dma0 3>;
dma-names = "tx", "rx";
label = "I2S_1";
status = "okay";
};
i2s2: i2s@77400 {
compatible = "intel,cavs-i2s";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00077400 0x200
0x00078D10 0x008>;
interrupts = <0x02 0 0>;
interrupt-parent = <&cavs3>;
dmas = <&dma0 4
&dma0 5>;
dma-names = "tx", "rx";
label = "I2S_2";
status = "okay";
};
i2s3: i2s@77600 {
compatible = "intel,cavs-i2s";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x00077600 0x200
0x00078D18 0x008>;
interrupts = <0x03 0 0>;
interrupt-parent = <&cavs3>;
dmas = <&dma0 6
&dma0 7>;
dma-names = "tx", "rx";
label = "I2S_3";
status = "okay";
};
gna: gna@e800 {
compatible = "intel,gna";
reg = <0x0000E800 0x100>;
interrupt-controller;
interrupts = <5 0 0>;
interrupt-parent = <&cavs0>;
label = "GNA0";
};
};
};