1/* 2 * Copyright (c) 2021 Weidmueller Interface GmbH & Co. KG 3 * SPDX-License-Identifier: Apache-2.0 4 */ 5 6#include <mem.h> 7#include <arm/armv7-a.dtsi> 8#include <zephyr/dt-bindings/interrupt-controller/arm-gic.h> 9#include <zephyr/dt-bindings/ethernet/xlnx_gem.h> 10 11/ { 12 soc { 13 interrupt-parent = <&gic>; 14 15 ocm_low: memory@1000 { 16 compatible = "zephyr,memory-region", "xlnx,zynq-ocm"; 17 reg = <0x00001000 DT_SIZE_K(188)>; 18 zephyr,memory-region = "OCM_LOW"; 19 }; 20 21 ocm_high: memory@fffc0000 { 22 compatible = "zephyr,memory-region", "xlnx,zynq-ocm"; 23 reg = <0xFFFC0000 DT_SIZE_K(256)>; 24 zephyr,memory-region = "OCM_HIGH"; 25 }; 26 27 arch_timer: timer@f8f00200 { 28 compatible = "arm,armv8-timer"; 29 status = "okay"; 30 interrupt-names = "irq_0", "irq_1", "irq_2", "irq_3"; 31 interrupts = <GIC_PPI 13 IRQ_TYPE_EDGE 32 IRQ_DEFAULT_PRIORITY>, 33 <GIC_PPI 14 IRQ_TYPE_EDGE 34 IRQ_DEFAULT_PRIORITY>, 35 <GIC_PPI 11 IRQ_TYPE_EDGE 36 IRQ_DEFAULT_PRIORITY>, 37 <GIC_PPI 10 IRQ_TYPE_EDGE 38 IRQ_DEFAULT_PRIORITY>; 39 reg = <0xf8f00200 0x1C>; 40 }; 41 42 gic: interrupt-controller@f8f01000 { 43 compatible = "arm,gic-v1", "arm,gic"; 44 status = "okay"; 45 reg = <0xf8f01000 0x1000>, 46 <0xf8f00100 0x100>; 47 interrupt-controller; 48 #interrupt-cells = <4>; 49 }; 50 51 gem0: ethernet@e000b000 { 52 compatible = "xlnx,gem"; 53 status = "disabled"; 54 reg = <0xe000b000 0x1000>, 55 <0xf8000140 0x4>; 56 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL 57 IRQ_DEFAULT_PRIORITY>, 58 <GIC_SPI 23 IRQ_TYPE_LEVEL 59 IRQ_DEFAULT_PRIORITY>; 60 interrupt-names = "irq_0", "irq_1"; 61 mdio-phy-address = <XLNX_GEM_PHY_AUTO_DETECT>; 62 phy-poll-interval = <1000>; 63 link-speed = <XLNX_GEM_LINK_SPEED_100MBIT>; 64 amba-ahb-dbus-width = <XLNX_GEM_AMBA_AHB_DBUS_WIDTH_32BIT>; 65 amba-ahb-burst-length = <XLNX_GEM_AMBA_AHB_BURST_SINGLE>; 66 hw-rx-buffer-size = <XLNX_GEM_HW_RX_BUFFER_SIZE_8KB>; 67 hw-rx-buffer-offset = <0>; 68 hw-tx-buffer-size-full; 69 rx-buffer-descriptors = <32>; 70 tx-buffer-descriptors = <32>; 71 rx-buffer-size = <512>; 72 tx-buffer-size = <512>; 73 discard-rx-fcs; 74 unicast-hash; 75 full-duplex; 76 }; 77 78 gem1: ethernet@e000c000 { 79 compatible = "xlnx,gem"; 80 status = "disabled"; 81 reg = <0xe000c000 0x1000>, 82 <0xf8000144 0x4>; 83 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL 84 IRQ_DEFAULT_PRIORITY>, 85 <GIC_SPI 46 IRQ_TYPE_LEVEL 86 IRQ_DEFAULT_PRIORITY>; 87 interrupt-names = "irq_0", "irq_1"; 88 mdio-phy-address = <XLNX_GEM_PHY_AUTO_DETECT>; 89 phy-poll-interval = <1000>; 90 link-speed = <XLNX_GEM_LINK_SPEED_100MBIT>; 91 amba-ahb-dbus-width = <XLNX_GEM_AMBA_AHB_DBUS_WIDTH_32BIT>; 92 amba-ahb-burst-length = <XLNX_GEM_AMBA_AHB_BURST_SINGLE>; 93 hw-rx-buffer-size = <XLNX_GEM_HW_RX_BUFFER_SIZE_8KB>; 94 hw-rx-buffer-offset = <0>; 95 hw-tx-buffer-size-full; 96 rx-buffer-descriptors = <32>; 97 tx-buffer-descriptors = <32>; 98 rx-buffer-size = <512>; 99 tx-buffer-size = <512>; 100 discard-rx-fcs; 101 unicast-hash; 102 full-duplex; 103 }; 104 105 uart0: uart@e0000000 { 106 compatible = "xlnx,xuartps"; 107 status = "disabled"; 108 reg = <0xe0000000 0x4c>; 109 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL 110 IRQ_DEFAULT_PRIORITY>; 111 interrupt-names = "irq_0"; 112 }; 113 114 uart1: uart@e0001000 { 115 compatible = "xlnx,xuartps"; 116 status = "disabled"; 117 reg = <0xe0001000 0x4c>; 118 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL 119 IRQ_DEFAULT_PRIORITY>; 120 interrupt-names = "irq_0"; 121 }; 122 123 psgpio: gpio@e000a000 { 124 compatible = "xlnx,ps-gpio"; 125 status = "disabled"; 126 reg = <0xe000a000 0x1000>; 127 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL 128 IRQ_DEFAULT_PRIORITY>; 129 interrupt-names = "irq_0"; 130 131 #address-cells = <1>; 132 #size-cells = <0>; 133 134 psgpio_bank0: psgpio_bank@0 { 135 compatible = "xlnx,ps-gpio-bank"; 136 reg = <0x0>; 137 gpio-controller; 138 #gpio-cells = <2>; 139 ngpios = <32>; 140 status = "okay"; 141 }; 142 143 psgpio_bank1: psgpio_bank@1 { 144 compatible = "xlnx,ps-gpio-bank"; 145 reg = <0x1>; 146 gpio-controller; 147 #gpio-cells = <2>; 148 ngpios = <22>; 149 status = "okay"; 150 }; 151 152 psgpio_bank2: psgpio_bank@2 { 153 compatible = "xlnx,ps-gpio-bank"; 154 reg = <0x2>; 155 gpio-controller; 156 #gpio-cells = <2>; 157 ngpios = <32>; 158 status = "okay"; 159 }; 160 161 psgpio_bank3: psgpio_bank@3 { 162 compatible = "xlnx,ps-gpio-bank"; 163 reg = <0x3>; 164 gpio-controller; 165 #gpio-cells = <2>; 166 ngpios = <32>; 167 status = "okay"; 168 }; 169 }; 170 }; 171 172 slcr: slcr@f8000000 { 173 #address-cells = <1>; 174 #size-cells = <1>; 175 compatible = "xlnx,zynq-slcr", "syscon"; 176 reg = <0xf8000000 0x1000>; 177 ranges; 178 179 pinctrl0: pinctrl@700 { 180 compatible = "xlnx,pinctrl-zynq"; 181 reg = <0x700 0x200>; 182 syscon = <&slcr>; 183 }; 184 }; 185}; 186