1*7d0873ebSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 284943d6fSEmmanuel Vadot/* 384943d6fSEmmanuel Vadot * Copyright 2020-2022 Advanced Micro Devices, Inc. 484943d6fSEmmanuel Vadot */ 584943d6fSEmmanuel Vadot 684943d6fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 784943d6fSEmmanuel Vadot#include "dt-bindings/interrupt-controller/arm-gic.h" 884943d6fSEmmanuel Vadot 984943d6fSEmmanuel Vadot/ { 1084943d6fSEmmanuel Vadot model = "Elba ASIC Board"; 1184943d6fSEmmanuel Vadot compatible = "amd,pensando-elba"; 1284943d6fSEmmanuel Vadot interrupt-parent = <&gic>; 1384943d6fSEmmanuel Vadot #address-cells = <2>; 1484943d6fSEmmanuel Vadot #size-cells = <2>; 1584943d6fSEmmanuel Vadot 1684943d6fSEmmanuel Vadot dma-coherent; 1784943d6fSEmmanuel Vadot 1884943d6fSEmmanuel Vadot ahb_clk: oscillator0 { 1984943d6fSEmmanuel Vadot compatible = "fixed-clock"; 2084943d6fSEmmanuel Vadot #clock-cells = <0>; 2184943d6fSEmmanuel Vadot }; 2284943d6fSEmmanuel Vadot 2384943d6fSEmmanuel Vadot emmc_clk: oscillator2 { 2484943d6fSEmmanuel Vadot compatible = "fixed-clock"; 2584943d6fSEmmanuel Vadot #clock-cells = <0>; 2684943d6fSEmmanuel Vadot }; 2784943d6fSEmmanuel Vadot 2884943d6fSEmmanuel Vadot flash_clk: oscillator3 { 2984943d6fSEmmanuel Vadot compatible = "fixed-clock"; 3084943d6fSEmmanuel Vadot #clock-cells = <0>; 3184943d6fSEmmanuel Vadot }; 3284943d6fSEmmanuel Vadot 3384943d6fSEmmanuel Vadot ref_clk: oscillator4 { 3484943d6fSEmmanuel Vadot compatible = "fixed-clock"; 3584943d6fSEmmanuel Vadot #clock-cells = <0>; 3684943d6fSEmmanuel Vadot }; 3784943d6fSEmmanuel Vadot 3884943d6fSEmmanuel Vadot psci { 3984943d6fSEmmanuel Vadot compatible = "arm,psci-0.2"; 4084943d6fSEmmanuel Vadot method = "smc"; 4184943d6fSEmmanuel Vadot }; 4284943d6fSEmmanuel Vadot 4384943d6fSEmmanuel Vadot timer { 4484943d6fSEmmanuel Vadot compatible = "arm,armv8-timer"; 4584943d6fSEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 4684943d6fSEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 4784943d6fSEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 4884943d6fSEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 4984943d6fSEmmanuel Vadot }; 5084943d6fSEmmanuel Vadot 5184943d6fSEmmanuel Vadot pmu { 5284943d6fSEmmanuel Vadot compatible = "arm,cortex-a72-pmu"; 5384943d6fSEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>; 5484943d6fSEmmanuel Vadot }; 5584943d6fSEmmanuel Vadot 5684943d6fSEmmanuel Vadot soc: soc { 5784943d6fSEmmanuel Vadot compatible = "simple-bus"; 5884943d6fSEmmanuel Vadot #address-cells = <2>; 5984943d6fSEmmanuel Vadot #size-cells = <2>; 6084943d6fSEmmanuel Vadot ranges; 6184943d6fSEmmanuel Vadot 6284943d6fSEmmanuel Vadot i2c0: i2c@400 { 6384943d6fSEmmanuel Vadot compatible = "snps,designware-i2c"; 6484943d6fSEmmanuel Vadot reg = <0x0 0x400 0x0 0x100>; 6584943d6fSEmmanuel Vadot clocks = <&ahb_clk>; 6684943d6fSEmmanuel Vadot #address-cells = <1>; 6784943d6fSEmmanuel Vadot #size-cells = <0>; 6884943d6fSEmmanuel Vadot i2c-sda-hold-time-ns = <480>; 6984943d6fSEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 7084943d6fSEmmanuel Vadot status = "disabled"; 7184943d6fSEmmanuel Vadot }; 7284943d6fSEmmanuel Vadot 7384943d6fSEmmanuel Vadot wdt0: watchdog@1400 { 7484943d6fSEmmanuel Vadot compatible = "snps,dw-wdt"; 7584943d6fSEmmanuel Vadot reg = <0x0 0x1400 0x0 0x100>; 7684943d6fSEmmanuel Vadot clocks = <&ahb_clk>; 7784943d6fSEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 7884943d6fSEmmanuel Vadot status = "disabled"; 7984943d6fSEmmanuel Vadot }; 8084943d6fSEmmanuel Vadot 8184943d6fSEmmanuel Vadot qspi: spi@2400 { 8284943d6fSEmmanuel Vadot compatible = "amd,pensando-elba-qspi", "cdns,qspi-nor"; 8384943d6fSEmmanuel Vadot reg = <0x0 0x2400 0x0 0x400>, 8484943d6fSEmmanuel Vadot <0x0 0x7fff0000 0x0 0x1000>; 8584943d6fSEmmanuel Vadot #address-cells = <1>; 8684943d6fSEmmanuel Vadot #size-cells = <0>; 8784943d6fSEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 8884943d6fSEmmanuel Vadot clocks = <&flash_clk>; 8984943d6fSEmmanuel Vadot cdns,fifo-depth = <1024>; 9084943d6fSEmmanuel Vadot cdns,fifo-width = <4>; 9184943d6fSEmmanuel Vadot cdns,trigger-address = <0x7fff0000>; 9284943d6fSEmmanuel Vadot status = "disabled"; 9384943d6fSEmmanuel Vadot }; 9484943d6fSEmmanuel Vadot 9584943d6fSEmmanuel Vadot spi0: spi@2800 { 9684943d6fSEmmanuel Vadot compatible = "amd,pensando-elba-spi"; 9784943d6fSEmmanuel Vadot reg = <0x0 0x2800 0x0 0x100>; 9884943d6fSEmmanuel Vadot #address-cells = <1>; 9984943d6fSEmmanuel Vadot #size-cells = <0>; 10084943d6fSEmmanuel Vadot amd,pensando-elba-syscon = <&syscon>; 10184943d6fSEmmanuel Vadot clocks = <&ahb_clk>; 10284943d6fSEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 10384943d6fSEmmanuel Vadot num-cs = <2>; 10484943d6fSEmmanuel Vadot status = "disabled"; 10584943d6fSEmmanuel Vadot }; 10684943d6fSEmmanuel Vadot 10784943d6fSEmmanuel Vadot gpio0: gpio@4000 { 10884943d6fSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 10984943d6fSEmmanuel Vadot reg = <0x0 0x4000 0x0 0x78>; 11084943d6fSEmmanuel Vadot #address-cells = <1>; 11184943d6fSEmmanuel Vadot #size-cells = <0>; 11284943d6fSEmmanuel Vadot status = "disabled"; 11384943d6fSEmmanuel Vadot 11484943d6fSEmmanuel Vadot porta: gpio-port@0 { 11584943d6fSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 11684943d6fSEmmanuel Vadot reg = <0>; 11784943d6fSEmmanuel Vadot gpio-controller; 11884943d6fSEmmanuel Vadot #gpio-cells = <2>; 11984943d6fSEmmanuel Vadot ngpios = <8>; 12084943d6fSEmmanuel Vadot interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 12184943d6fSEmmanuel Vadot interrupt-controller; 12284943d6fSEmmanuel Vadot interrupt-parent = <&gic>; 12384943d6fSEmmanuel Vadot #interrupt-cells = <2>; 12484943d6fSEmmanuel Vadot }; 12584943d6fSEmmanuel Vadot 12684943d6fSEmmanuel Vadot portb: gpio-port@1 { 12784943d6fSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 12884943d6fSEmmanuel Vadot reg = <1>; 12984943d6fSEmmanuel Vadot gpio-controller; 13084943d6fSEmmanuel Vadot #gpio-cells = <2>; 13184943d6fSEmmanuel Vadot ngpios = <8>; 13284943d6fSEmmanuel Vadot }; 13384943d6fSEmmanuel Vadot }; 13484943d6fSEmmanuel Vadot 13584943d6fSEmmanuel Vadot uart0: serial@4800 { 13684943d6fSEmmanuel Vadot compatible = "ns16550a"; 13784943d6fSEmmanuel Vadot reg = <0x0 0x4800 0x0 0x100>; 13884943d6fSEmmanuel Vadot clocks = <&ref_clk>; 13984943d6fSEmmanuel Vadot interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 14084943d6fSEmmanuel Vadot reg-shift = <2>; 14184943d6fSEmmanuel Vadot reg-io-width = <4>; 14284943d6fSEmmanuel Vadot }; 14384943d6fSEmmanuel Vadot 14484943d6fSEmmanuel Vadot gic: interrupt-controller@800000 { 14584943d6fSEmmanuel Vadot compatible = "arm,gic-v3"; 14684943d6fSEmmanuel Vadot reg = <0x0 0x800000 0x0 0x200000>, /* GICD */ 14784943d6fSEmmanuel Vadot <0x0 0xa00000 0x0 0x200000>, /* GICR */ 14884943d6fSEmmanuel Vadot <0x0 0x60000000 0x0 0x2000>, /* GICC */ 14984943d6fSEmmanuel Vadot <0x0 0x60010000 0x0 0x1000>, /* GICH */ 15084943d6fSEmmanuel Vadot <0x0 0x60020000 0x0 0x2000>; /* GICV */ 15184943d6fSEmmanuel Vadot #address-cells = <2>; 15284943d6fSEmmanuel Vadot #size-cells = <2>; 15384943d6fSEmmanuel Vadot #interrupt-cells = <3>; 15484943d6fSEmmanuel Vadot ranges; 15584943d6fSEmmanuel Vadot interrupt-controller; 15684943d6fSEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 15784943d6fSEmmanuel Vadot 15884943d6fSEmmanuel Vadot /* 15984943d6fSEmmanuel Vadot * Elba specific pre-ITS is enabled using the 16084943d6fSEmmanuel Vadot * existing property socionext,synquacer-pre-its 16184943d6fSEmmanuel Vadot */ 16284943d6fSEmmanuel Vadot gic_its: msi-controller@820000 { 16384943d6fSEmmanuel Vadot compatible = "arm,gic-v3-its"; 16484943d6fSEmmanuel Vadot reg = <0x0 0x820000 0x0 0x10000>; 16584943d6fSEmmanuel Vadot msi-controller; 16684943d6fSEmmanuel Vadot #msi-cells = <1>; 16784943d6fSEmmanuel Vadot socionext,synquacer-pre-its = 16884943d6fSEmmanuel Vadot <0xc00000 0x1000000>; 16984943d6fSEmmanuel Vadot }; 17084943d6fSEmmanuel Vadot }; 17184943d6fSEmmanuel Vadot 17284943d6fSEmmanuel Vadot emmc: mmc@30440000 { 17384943d6fSEmmanuel Vadot compatible = "amd,pensando-elba-sd4hc", "cdns,sd4hc"; 17484943d6fSEmmanuel Vadot reg = <0x0 0x30440000 0x0 0x10000>, 17584943d6fSEmmanuel Vadot <0x0 0x30480044 0x0 0x4>; /* byte-lane ctrl */ 17684943d6fSEmmanuel Vadot clocks = <&emmc_clk>; 17784943d6fSEmmanuel Vadot interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 17884943d6fSEmmanuel Vadot cdns,phy-input-delay-sd-highspeed = <0x4>; 17984943d6fSEmmanuel Vadot cdns,phy-input-delay-legacy = <0x4>; 18084943d6fSEmmanuel Vadot cdns,phy-input-delay-sd-uhs-sdr50 = <0x6>; 18184943d6fSEmmanuel Vadot cdns,phy-input-delay-sd-uhs-ddr50 = <0x16>; 18284943d6fSEmmanuel Vadot mmc-ddr-1_8v; 18384943d6fSEmmanuel Vadot status = "disabled"; 18484943d6fSEmmanuel Vadot }; 18584943d6fSEmmanuel Vadot 18684943d6fSEmmanuel Vadot syscon: syscon@307c0000 { 18784943d6fSEmmanuel Vadot compatible = "amd,pensando-elba-syscon", "syscon"; 18884943d6fSEmmanuel Vadot reg = <0x0 0x307c0000 0x0 0x3000>; 18984943d6fSEmmanuel Vadot }; 19084943d6fSEmmanuel Vadot }; 19184943d6fSEmmanuel Vadot}; 192