| /* |
| * Copyright (c) 2019 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <xtensa/xtensa.dtsi> |
| #include <mem.h> |
| |
| / { |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu0: cpu@0 { |
| device_type = "cpu"; |
| compatible = "cdns,tensilica-xtensa-lx4"; |
| reg = <0>; |
| i-cache-line-size = <64>; |
| d-cache-line-size = <64>; |
| }; |
| |
| cpu1: cpu@1 { |
| device_type = "cpu"; |
| compatible = "cdns,tensilica-xtensa-lx4"; |
| reg = <1>; |
| }; |
| }; |
| |
| sram0: memory@be000000 { |
| compatible = "mmio-sram"; |
| reg = <0xbe000000 DT_SIZE_K(512)>; |
| }; |
| |
| sram1: memory@be800000 { |
| compatible = "mmio-sram"; |
| reg = <0xbe800000 DT_SIZE_K(128)>; |
| }; |
| |
| sysclk: system-clock { |
| compatible = "fixed-clock"; |
| clock-frequency = <19200000>; |
| #clock-cells = <0>; |
| }; |
| |
| audioclk: audio-clock { |
| compatible = "fixed-clock"; |
| clock-frequency = <24576000>; |
| #clock-cells = <0>; |
| }; |
| |
| pllclk: pll-clock { |
| compatible = "fixed-clock"; |
| clock-frequency = <96000000>; |
| #clock-cells = <0>; |
| }; |
| |
| clkctl: clkctl { |
| compatible = "intel,adsp-shim-clkctl"; |
| adsp-clkctl-clk-lpro = <0>; |
| adsp-clkctl-clk-hpro = <2>; |
| adsp-clkctl-freq-enc = <0x3 0x1 0x0>; |
| adsp-clkctl-freq-default = <1>; |
| adsp-clkctl-freq-lowest = <0>; |
| }; |
| |
| soc { |
| shim: shim@1000 { |
| compatible = "intel,adsp-shim"; |
| reg = <0x1000 0x100>; |
| }; |
| |
| l2cc: l2cc@1500 { |
| compatible = "intel,cavs-l2cc"; |
| reg = <0x1500 0x40>; |
| }; |
| |
| mem_window0: mem_window@1580 { |
| compatible = "intel,adsp-mem-window"; |
| reg = <0x1580 0x8>; |
| offset = <0x4000>; |
| memory = <&sram0>; |
| initialize; |
| read-only; |
| }; |
| mem_window1: mem_window@1588 { |
| compatible = "intel,adsp-mem-window"; |
| reg = <0x1588 0x8>; |
| memory = <&sram0>; |
| }; |
| |
| mem_window2: mem_window@1590 { |
| compatible = "intel,adsp-mem-window"; |
| reg = <0x1590 0x8>; |
| memory = <&sram0>; |
| }; |
| |
| mem_window3: mem_window@1598 { |
| compatible = "intel,adsp-mem-window"; |
| reg = <0x1598 0x8>; |
| memory = <&sram0>; |
| offset = <0>; |
| read-only; |
| }; |
| |
| timer: timer { |
| compatible = "intel,adsp-timer"; |
| syscon = <&shim>; |
| }; |
| |
| core_intc: core_intc@0 { |
| compatible = "cdns,xtensa-core-intc"; |
| reg = <0x00 0x400>; |
| interrupt-controller; |
| #interrupt-cells = <3>; |
| }; |
| |
| adsp_host_ipc: cavs_host_ipc@1180 { |
| compatible = "intel,adsp-host-ipc"; |
| reg = <0x1180 0x30>; |
| interrupts = <7 0 0>; |
| interrupt-parent = <&cavs_intc0>; |
| }; |
| |
| cavs_intc0: cavs@1600 { |
| compatible = "intel,cavs-intc"; |
| reg = <0x1600 0x10>; |
| interrupt-controller; |
| #interrupt-cells = <3>; |
| interrupts = <6 0 0>; |
| interrupt-parent = <&core_intc>; |
| }; |
| |
| cavs_intc1: cavs@1610 { |
| compatible = "intel,cavs-intc"; |
| reg = <0x1610 0x10>; |
| interrupt-controller; |
| #interrupt-cells = <3>; |
| interrupts = <0xA 0 0>; |
| interrupt-parent = <&core_intc>; |
| }; |
| |
| cavs_intc2: cavs@1620 { |
| compatible = "intel,cavs-intc"; |
| reg = <0x1620 0x10>; |
| interrupt-controller; |
| #interrupt-cells = <3>; |
| interrupts = <0XD 0 0>; |
| interrupt-parent = <&core_intc>; |
| }; |
| |
| cavs_intc3: cavs@1630 { |
| compatible = "intel,cavs-intc"; |
| reg = <0x1630 0x10>; |
| interrupt-controller; |
| #interrupt-cells = <3>; |
| interrupts = <0x10 0 0>; |
| interrupt-parent = <&core_intc>; |
| }; |
| |
| adsp_idc: idc@1200 { |
| compatible = "intel,adsp-idc"; |
| reg = <0x1200 0x80>; |
| interrupts = <8 0 0>; |
| interrupt-parent = <&cavs_intc0>; |
| }; |
| |
| lpgpdma0: dma@c000 { |
| compatible = "intel,adsp-gpdma"; |
| #dma-cells = <1>; |
| reg = <0x0000c000 0x1000>; |
| shim = <0x00000c00 0x080>; |
| interrupts = <0x10 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| dma-buf-size-alignment = <4>; |
| dma-copy-alignment = <4>; |
| |
| status = "okay"; |
| }; |
| |
| lpgpdma1: dma@d000 { |
| compatible = "intel,adsp-gpdma"; |
| #dma-cells = <1>; |
| reg = <0x0000d000 0x1000>; |
| shim = <0x00000c80 0x080>; |
| interrupts = <0x0F 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| dma-buf-size-alignment = <4>; |
| dma-copy-alignment = <4>; |
| |
| status = "okay"; |
| }; |
| |
| hda_link_out: dma@2400 { |
| compatible = "intel,adsp-hda-link-out"; |
| #dma-cells = <1>; |
| reg = <0x00002400 0x20>; |
| dma-channels = <2>; |
| dma-buf-addr-alignment = <128>; |
| dma-buf-size-alignment = <32>; |
| dma-copy-alignment = <32>; |
| |
| status = "okay"; |
| }; |
| |
| hda_link_in: dma@2600 { |
| compatible = "intel,adsp-hda-link-in"; |
| #dma-cells = <1>; |
| reg = <0x00002600 0x20>; |
| dma-channels = <2>; |
| dma-buf-addr-alignment = <128>; |
| dma-buf-size-alignment = <32>; |
| dma-copy-alignment = <32>; |
| |
| status = "okay"; |
| }; |
| |
| hda_host_out: dma@2800 { |
| compatible = "intel,adsp-hda-host-out"; |
| #dma-cells = <1>; |
| reg = <0x00002800 0x40>; |
| dma-channels = <6>; |
| dma-buf-addr-alignment = <128>; |
| dma-buf-size-alignment = <32>; |
| dma-copy-alignment = <32>; |
| |
| status = "okay"; |
| }; |
| |
| hda_host_in: dma@2c00 { |
| compatible = "intel,adsp-hda-host-in"; |
| #dma-cells = <1>; |
| reg = <0x00002c00 0x40>; |
| dma-channels = <7>; |
| dma-buf-addr-alignment = <128>; |
| dma-buf-size-alignment = <32>; |
| dma-copy-alignment = <32>; |
| |
| status = "okay"; |
| }; |
| |
| ssp0: ssp@8000 { |
| compatible = "intel,ssp-dai"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x00008000 0x200 |
| 0x00008E00 0x008>; |
| interrupts = <0x01 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| dmas = <&lpgpdma0 2 |
| &lpgpdma0 3>; |
| dma-names = "tx", "rx"; |
| |
| status = "okay"; |
| }; |
| |
| ssp1: ssp@8200 { |
| compatible = "intel,ssp-dai"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x00008200 0x200 |
| 0x00008E00 0x008>; |
| interrupts = <0x01 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| dmas = <&lpgpdma0 4 |
| &lpgpdma0 5>; |
| dma-names = "tx", "rx"; |
| |
| status = "okay"; |
| }; |
| |
| ssp2: ssp@8400 { |
| compatible = "intel,ssp-dai"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x00008400 0x200 |
| 0x00008E00 0x008>; |
| interrupts = <0x02 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| dmas = <&lpgpdma0 6 |
| &lpgpdma0 7>; |
| dma-names = "tx", "rx"; |
| |
| status = "okay"; |
| }; |
| |
| ssp3: ssp@8600 { |
| compatible = "intel,ssp-dai"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x00008600 0x200 |
| 0x00008E00 0x008>; |
| interrupts = <0x03 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| dmas = <&lpgpdma0 8 |
| &lpgpdma0 9>; |
| dma-names = "tx", "rx"; |
| |
| status = "okay"; |
| }; |
| |
| ssp4: ssp@8800 { |
| compatible = "intel,ssp-dai"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x00008800 0x200 |
| 0x00008E00 0x008>; |
| interrupts = <0x03 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| dmas = <&lpgpdma0 10 |
| &lpgpdma0 11>; |
| dma-names = "tx", "rx"; |
| |
| status = "okay"; |
| }; |
| |
| ssp5: ssp@8a00 { |
| compatible = "intel,ssp-dai"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x00008A00 0x200 |
| 0x00008E00 0x008>; |
| interrupts = <0x03 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| dmas = <&lpgpdma0 12 |
| &lpgpdma0 13>; |
| dma-names = "tx", "rx"; |
| |
| status = "okay"; |
| }; |
| |
| dmic0: dmic0@4000 { |
| compatible = "intel,dai-dmic"; |
| reg = <0x4000 0x8000>; |
| shim = <0x1000>; |
| fifo = <0x0008>; |
| interrupts = <0x08 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| }; |
| |
| dmic1: dmic1@4000 { |
| compatible = "intel,dai-dmic"; |
| reg = <0x4000 0x8000>; |
| shim = <0x1000>; |
| fifo = <0x0108>; |
| interrupts = <0x09 0 0>; |
| interrupt-parent = <&cavs_intc3>; |
| }; |
| |
| }; |
| }; |