Yang Xiwen | 33f1903 | 2023-04-01 19:17:36 +0800 | [diff] [blame^] | 1 | // SPDX-License-Identifier: GPL-2.0 |
| 2 | /* |
| 3 | * DTS File for HiSilicon Hi3798mv200 SoC. |
| 4 | * |
| 5 | * Released under the GPLv2 only. |
| 6 | */ |
| 7 | |
| 8 | #include <dt-bindings/clock/histb-clock.h> |
| 9 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
| 10 | #include <dt-bindings/phy/phy.h> |
| 11 | #include <dt-bindings/reset/ti-syscon.h> |
| 12 | |
| 13 | / { |
| 14 | compatible = "hisilicon,hi3798mv200"; |
| 15 | interrupt-parent = <&gic>; |
| 16 | #address-cells = <2>; |
| 17 | #size-cells = <2>; |
| 18 | |
| 19 | psci { |
| 20 | compatible = "arm,psci-0.2"; |
| 21 | method = "smc"; |
| 22 | }; |
| 23 | |
| 24 | cpus { |
| 25 | #address-cells = <2>; |
| 26 | #size-cells = <0>; |
| 27 | |
| 28 | cpu@0 { |
| 29 | compatible = "arm,cortex-a53"; |
| 30 | device_type = "cpu"; |
| 31 | reg = <0x0 0x0>; |
| 32 | enable-method = "psci"; |
| 33 | }; |
| 34 | |
| 35 | cpu@1 { |
| 36 | compatible = "arm,cortex-a53"; |
| 37 | device_type = "cpu"; |
| 38 | reg = <0x0 0x1>; |
| 39 | enable-method = "psci"; |
| 40 | }; |
| 41 | |
| 42 | cpu@2 { |
| 43 | compatible = "arm,cortex-a53"; |
| 44 | device_type = "cpu"; |
| 45 | reg = <0x0 0x2>; |
| 46 | enable-method = "psci"; |
| 47 | }; |
| 48 | |
| 49 | cpu@3 { |
| 50 | compatible = "arm,cortex-a53"; |
| 51 | device_type = "cpu"; |
| 52 | reg = <0x0 0x3>; |
| 53 | enable-method = "psci"; |
| 54 | }; |
| 55 | }; |
| 56 | |
| 57 | gic: interrupt-controller@f1001000 { |
| 58 | compatible = "arm,gic-400"; |
| 59 | reg = <0x0 0xf1001000 0x0 0x1000>, /* GICD */ |
| 60 | <0x0 0xf1002000 0x0 0x100>; /* GICC */ |
| 61 | #address-cells = <0>; |
| 62 | #interrupt-cells = <3>; |
| 63 | interrupt-controller; |
| 64 | }; |
| 65 | |
| 66 | timer { |
| 67 | compatible = "arm,armv8-timer"; |
| 68 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | |
| 69 | IRQ_TYPE_LEVEL_LOW)>, |
| 70 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | |
| 71 | IRQ_TYPE_LEVEL_LOW)>, |
| 72 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | |
| 73 | IRQ_TYPE_LEVEL_LOW)>, |
| 74 | <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | |
| 75 | IRQ_TYPE_LEVEL_LOW)>; |
| 76 | }; |
| 77 | |
| 78 | /* Initialization is done in boot loader */ |
| 79 | usb2_phy1: hsusb1_phy { |
| 80 | compatible = "usb-nop-xceiv"; |
| 81 | clocks = <&crg HISTB_USB2_PHY1_REF_CLK>; |
| 82 | clock-names = "main"; |
| 83 | #phy-cells = <0>; |
| 84 | }; |
| 85 | |
| 86 | soc: soc@f0000000 { |
| 87 | compatible = "simple-bus"; |
| 88 | #address-cells = <1>; |
| 89 | #size-cells = <1>; |
| 90 | ranges = <0x0 0x0 0xf0000000 0x10000000>; |
| 91 | |
| 92 | crg: clock-reset-controller@8a22000 { |
| 93 | compatible = "hisilicon,hi3798mv200-crg", "syscon", "simple-mfd"; |
| 94 | reg = <0x8a22000 0x1000>; |
| 95 | #clock-cells = <1>; |
| 96 | #reset-cells = <2>; |
| 97 | }; |
| 98 | |
| 99 | sysctrl: system-controller@8000000 { |
| 100 | compatible = "hisilicon,hi3798mv200-sysctrl", "syscon"; |
| 101 | reg = <0x8000000 0x1000>; |
| 102 | #clock-cells = <1>; |
| 103 | #reset-cells = <2>; |
| 104 | }; |
| 105 | |
| 106 | perictrl: peripheral-controller@8a20000 { |
| 107 | compatible = "hisilicon,hi3798mv200-perictrl", "syscon", |
| 108 | "simple-mfd"; |
| 109 | reg = <0x8a20000 0x1000>; |
| 110 | #address-cells = <1>; |
| 111 | #size-cells = <1>; |
| 112 | ranges = <0x0 0x8a20000 0x1000>; |
| 113 | |
| 114 | combphy0: phy@850 { |
| 115 | compatible = "hisilicon,hi3798mv200-combphy"; |
| 116 | reg = <0x850 0x8>; |
| 117 | #phy-cells = <1>; |
| 118 | clocks = <&crg HISTB_COMBPHY0_CLK>; |
| 119 | resets = <&crg 0x188 4>; |
| 120 | assigned-clocks = <&crg HISTB_COMBPHY0_CLK>; |
| 121 | assigned-clock-rates = <100000000>; |
| 122 | hisilicon,fixed-mode = <PHY_TYPE_USB3>; |
| 123 | }; |
| 124 | }; |
| 125 | |
| 126 | pmx0: pinconf@8a21000 { |
| 127 | compatible = "pinconf-single"; |
| 128 | reg = <0x8a21000 0x180>; |
| 129 | pinctrl-single,register-width = <32>; |
| 130 | pinctrl-single,function-mask = <7>; |
| 131 | }; |
| 132 | |
| 133 | uart0: serial@8b00000 { |
| 134 | compatible = "arm,pl011", "arm,primecell"; |
| 135 | reg = <0x8b00000 0x1000>; |
| 136 | interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; |
| 137 | clocks = <&sysctrl HISTB_UART0_CLK>; |
| 138 | clock-names = "apb_pclk"; |
| 139 | status = "disabled"; |
| 140 | }; |
| 141 | |
| 142 | sd0: mmc@9820000 { |
| 143 | compatible = "snps,dw-mshc"; |
| 144 | reg = <0x9820000 0x10000>; |
| 145 | interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; |
| 146 | clocks = <&crg HISTB_SDIO0_CIU_CLK>, |
| 147 | <&crg HISTB_SDIO0_BIU_CLK>; |
| 148 | clock-names = "ciu", "biu"; |
| 149 | resets = <&crg 0x9c 4>; |
| 150 | reset-names = "reset"; |
| 151 | status = "disabled"; |
| 152 | }; |
| 153 | |
| 154 | emmc: mmc@9830000 { |
| 155 | compatible = "hisilicon,hi3798mv200-dw-mshc"; |
| 156 | reg = <0x9830000 0x10000>; |
| 157 | interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; |
| 158 | clocks = <&crg HISTB_MMC_CIU_CLK>, |
| 159 | <&crg HISTB_MMC_BIU_CLK>, |
| 160 | <&crg HISTB_MMC_SAMPLE_CLK>, |
| 161 | <&crg HISTB_MMC_DRV_CLK>; |
| 162 | clock-names = "ciu", "biu", "ciu-sample", "ciu-drive"; |
| 163 | resets = <&crg 0xa0 4>; |
| 164 | reset-names = "reset"; |
| 165 | status = "disabled"; |
| 166 | }; |
| 167 | |
| 168 | gmac: ethernet@9840000 { |
| 169 | compatible = "hisilicon,hi3798mv200-gmac", "hisilicon,hisi-gmac-v2"; |
| 170 | reg = <0x9840000 0x1000>, |
| 171 | <0x984300c 0x4>; |
| 172 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |
| 173 | clocks = <&crg HISTB_ETH0_MAC_CLK>, |
| 174 | <&crg HISTB_ETH0_MACIF_CLK>; |
| 175 | clock-names = "mac_core", "mac_ifc"; |
| 176 | resets = <&crg 0xcc 0>, |
| 177 | <&crg 0xcc 2>, |
| 178 | <&crg 0xcc 5>; |
| 179 | reset-names = "mac_core", "mac_ifc", "phy"; |
| 180 | status = "disabled"; |
| 181 | }; |
| 182 | |
| 183 | ohci: ohci@9880000 { |
| 184 | compatible = "generic-ohci"; |
| 185 | reg = <0x9880000 0x10000>; |
| 186 | interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; |
| 187 | clocks = <&crg HISTB_USB2_BUS_CLK>, |
| 188 | <&crg HISTB_USB2_12M_CLK>, |
| 189 | <&crg HISTB_USB2_48M_CLK>; |
| 190 | clock-names = "bus", "clk12", "clk48"; |
| 191 | resets = <&crg 0xb8 12>; |
| 192 | reset-names = "bus"; |
| 193 | status = "disabled"; |
| 194 | }; |
| 195 | |
| 196 | ehci: ehci@9890000 { |
| 197 | compatible = "generic-ehci"; |
| 198 | reg = <0x9890000 0x10000>; |
| 199 | interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; |
| 200 | clocks = <&crg HISTB_USB2_BUS_CLK>, |
| 201 | <&crg HISTB_USB2_PHY_CLK>, |
| 202 | <&crg HISTB_USB2_UTMI_CLK>; |
| 203 | clock-names = "bus", "phy", "utmi"; |
| 204 | resets = <&crg 0xb8 12>, |
| 205 | <&crg 0xb8 16>, |
| 206 | <&crg 0xb8 13>; |
| 207 | reset-names = "bus", "phy", "utmi"; |
| 208 | phys = <&usb2_phy1>; |
| 209 | phy-names = "usb"; |
| 210 | status = "disabled"; |
| 211 | }; |
| 212 | |
| 213 | sd1: mmc@9c40000 { |
| 214 | compatible = "snps,dw-mshc"; |
| 215 | reg = <0x9c40000 0x10000>; |
| 216 | interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; |
| 217 | clocks = <&crg HISTB_SDIO1_CIU_CLK>, |
| 218 | <&crg HISTB_SDIO1_BIU_CLK>; |
| 219 | clock-names = "ciu", "biu"; |
| 220 | resets = <&crg 0x28c 4>; |
| 221 | reset-names = "reset"; |
| 222 | status = "disabled"; |
| 223 | }; |
| 224 | }; |
| 225 | }; |