1// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) 2/* 3 * Copyright 2020-2022 Advanced Micro Devices, Inc. 4 */ 5 6#include <dt-bindings/gpio/gpio.h> 7#include "dt-bindings/interrupt-controller/arm-gic.h" 8 9/ { 10 model = "Elba ASIC Board"; 11 compatible = "amd,pensando-elba"; 12 interrupt-parent = <&gic>; 13 #address-cells = <2>; 14 #size-cells = <2>; 15 16 dma-coherent; 17 18 ahb_clk: oscillator0 { 19 compatible = "fixed-clock"; 20 #clock-cells = <0>; 21 }; 22 23 emmc_clk: oscillator2 { 24 compatible = "fixed-clock"; 25 #clock-cells = <0>; 26 }; 27 28 flash_clk: oscillator3 { 29 compatible = "fixed-clock"; 30 #clock-cells = <0>; 31 }; 32 33 ref_clk: oscillator4 { 34 compatible = "fixed-clock"; 35 #clock-cells = <0>; 36 }; 37 38 psci { 39 compatible = "arm,psci-0.2"; 40 method = "smc"; 41 }; 42 43 timer { 44 compatible = "arm,armv8-timer"; 45 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 46 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 47 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 48 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 49 }; 50 51 pmu { 52 compatible = "arm,cortex-a72-pmu"; 53 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>; 54 }; 55 56 soc: soc { 57 compatible = "simple-bus"; 58 #address-cells = <2>; 59 #size-cells = <2>; 60 ranges; 61 62 i2c0: i2c@400 { 63 compatible = "snps,designware-i2c"; 64 reg = <0x0 0x400 0x0 0x100>; 65 clocks = <&ahb_clk>; 66 #address-cells = <1>; 67 #size-cells = <0>; 68 i2c-sda-hold-time-ns = <480>; 69 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 70 status = "disabled"; 71 }; 72 73 wdt0: watchdog@1400 { 74 compatible = "snps,dw-wdt"; 75 reg = <0x0 0x1400 0x0 0x100>; 76 clocks = <&ahb_clk>; 77 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 78 status = "disabled"; 79 }; 80 81 qspi: spi@2400 { 82 compatible = "amd,pensando-elba-qspi", "cdns,qspi-nor"; 83 reg = <0x0 0x2400 0x0 0x400>, 84 <0x0 0x7fff0000 0x0 0x1000>; 85 #address-cells = <1>; 86 #size-cells = <0>; 87 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 88 clocks = <&flash_clk>; 89 cdns,fifo-depth = <1024>; 90 cdns,fifo-width = <4>; 91 cdns,trigger-address = <0x7fff0000>; 92 status = "disabled"; 93 }; 94 95 spi0: spi@2800 { 96 compatible = "amd,pensando-elba-spi"; 97 reg = <0x0 0x2800 0x0 0x100>; 98 #address-cells = <1>; 99 #size-cells = <0>; 100 amd,pensando-elba-syscon = <&syscon>; 101 clocks = <&ahb_clk>; 102 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 103 num-cs = <2>; 104 status = "disabled"; 105 }; 106 107 gpio0: gpio@4000 { 108 compatible = "snps,dw-apb-gpio"; 109 reg = <0x0 0x4000 0x0 0x78>; 110 #address-cells = <1>; 111 #size-cells = <0>; 112 status = "disabled"; 113 114 porta: gpio-port@0 { 115 compatible = "snps,dw-apb-gpio-port"; 116 reg = <0>; 117 gpio-controller; 118 #gpio-cells = <2>; 119 ngpios = <8>; 120 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 121 interrupt-controller; 122 interrupt-parent = <&gic>; 123 #interrupt-cells = <2>; 124 }; 125 126 portb: gpio-port@1 { 127 compatible = "snps,dw-apb-gpio-port"; 128 reg = <1>; 129 gpio-controller; 130 #gpio-cells = <2>; 131 ngpios = <8>; 132 }; 133 }; 134 135 uart0: serial@4800 { 136 compatible = "ns16550a"; 137 reg = <0x0 0x4800 0x0 0x100>; 138 clocks = <&ref_clk>; 139 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 140 reg-shift = <2>; 141 reg-io-width = <4>; 142 }; 143 144 gic: interrupt-controller@800000 { 145 compatible = "arm,gic-v3"; 146 reg = <0x0 0x800000 0x0 0x200000>, /* GICD */ 147 <0x0 0xa00000 0x0 0x200000>, /* GICR */ 148 <0x0 0x60000000 0x0 0x2000>, /* GICC */ 149 <0x0 0x60010000 0x0 0x1000>, /* GICH */ 150 <0x0 0x60020000 0x0 0x2000>; /* GICV */ 151 #address-cells = <2>; 152 #size-cells = <2>; 153 #interrupt-cells = <3>; 154 ranges; 155 interrupt-controller; 156 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 157 158 /* 159 * Elba specific pre-ITS is enabled using the 160 * existing property socionext,synquacer-pre-its 161 */ 162 gic_its: msi-controller@820000 { 163 compatible = "arm,gic-v3-its"; 164 reg = <0x0 0x820000 0x0 0x10000>; 165 msi-controller; 166 #msi-cells = <1>; 167 socionext,synquacer-pre-its = 168 <0xc00000 0x1000000>; 169 }; 170 }; 171 172 emmc: mmc@30440000 { 173 compatible = "amd,pensando-elba-sd4hc", "cdns,sd4hc"; 174 reg = <0x0 0x30440000 0x0 0x10000>, 175 <0x0 0x30480044 0x0 0x4>; /* byte-lane ctrl */ 176 clocks = <&emmc_clk>; 177 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 178 cdns,phy-input-delay-sd-highspeed = <0x4>; 179 cdns,phy-input-delay-legacy = <0x4>; 180 cdns,phy-input-delay-sd-uhs-sdr50 = <0x6>; 181 cdns,phy-input-delay-sd-uhs-ddr50 = <0x16>; 182 mmc-ddr-1_8v; 183 status = "disabled"; 184 }; 185 186 syscon: syscon@307c0000 { 187 compatible = "amd,pensando-elba-syscon", "syscon"; 188 reg = <0x0 0x307c0000 0x0 0x3000>; 189 }; 190 }; 191}; 192