Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'v5.3-next-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

add support for the mt7629 reference board

* tag 'v5.3-next-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
arm: dts: mediatek: add basic support for MT7629 SoC

Link: https://lore.kernel.org/r/e236f659-2851-21b8-1873-314cd72ed6be@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+816
+1
arch/arm/boot/dts/Makefile
··· 1266 1266 mt7623a-rfb-nand.dtb \ 1267 1267 mt7623n-rfb-emmc.dtb \ 1268 1268 mt7623n-bananapi-bpi-r2.dtb \ 1269 + mt7629-rfb.dtb \ 1269 1270 mt8127-moose.dtb \ 1270 1271 mt8135-evbp1.dtb 1271 1272 dtb-$(CONFIG_ARCH_MILBEAUT) += milbeaut-m10v-evb.dtb
+263
arch/arm/boot/dts/mt7629-rfb.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (c) 2019 MediaTek Inc. 4 + * Author: Ryder Lee <ryder.lee@mediatek.com> 5 + */ 6 + 7 + /dts-v1/; 8 + #include <dt-bindings/input/input.h> 9 + #include "mt7629.dtsi" 10 + 11 + / { 12 + model = "MediaTek MT7629 reference board"; 13 + compatible = "mediatek,mt7629-rfb", "mediatek,mt7629"; 14 + 15 + aliases { 16 + serial0 = &uart0; 17 + }; 18 + 19 + chosen { 20 + stdout-path = "serial0:115200n8"; 21 + }; 22 + 23 + gpio-keys { 24 + compatible = "gpio-keys"; 25 + 26 + reset { 27 + label = "factory"; 28 + linux,code = <KEY_RESTART>; 29 + gpios = <&pio 60 GPIO_ACTIVE_LOW>; 30 + }; 31 + 32 + wps { 33 + label = "wps"; 34 + linux,code = <KEY_WPS_BUTTON>; 35 + gpios = <&pio 58 GPIO_ACTIVE_LOW>; 36 + }; 37 + }; 38 + 39 + memory@40000000 { 40 + device_type = "memory"; 41 + reg = <0x40000000 0x10000000>; 42 + }; 43 + 44 + reg_3p3v: regulator-3p3v { 45 + compatible = "regulator-fixed"; 46 + regulator-name = "fixed-3.3V"; 47 + regulator-min-microvolt = <3300000>; 48 + regulator-max-microvolt = <3300000>; 49 + regulator-boot-on; 50 + regulator-always-on; 51 + }; 52 + 53 + reg_5v: regulator-5v { 54 + compatible = "regulator-fixed"; 55 + regulator-name = "fixed-5V"; 56 + regulator-min-microvolt = <5000000>; 57 + regulator-max-microvolt = <5000000>; 58 + regulator-boot-on; 59 + regulator-always-on; 60 + }; 61 + }; 62 + 63 + &eth { 64 + pinctrl-names = "default"; 65 + pinctrl-0 = <&eth_pins>; 66 + pinctrl-1 = <&ephy_leds_pins>; 67 + status = "okay"; 68 + 69 + gmac1: mac@1 { 70 + compatible = "mediatek,eth-mac"; 71 + reg = <1>; 72 + phy-handle = <&phy0>; 73 + }; 74 + 75 + mdio: mdio-bus { 76 + #address-cells = <1>; 77 + #size-cells = <0>; 78 + 79 + phy0: ethernet-phy@0 { 80 + reg = <0>; 81 + phy-mode = "gmii"; 82 + }; 83 + }; 84 + }; 85 + 86 + &i2c { 87 + pinctrl-names = "default"; 88 + pinctrl-0 = <&i2c_pins>; 89 + status = "okay"; 90 + }; 91 + 92 + &qspi { 93 + pinctrl-names = "default"; 94 + pinctrl-0 = <&qspi_pins>; 95 + status = "okay"; 96 + 97 + flash@0 { 98 + compatible = "jedec,spi-nor"; 99 + reg = <0>; 100 + 101 + partitions { 102 + compatible = "fixed-partitions"; 103 + #address-cells = <1>; 104 + #size-cells = <1>; 105 + 106 + partition@0 { 107 + label = "u-boot"; 108 + reg = <0x00000 0x60000>; 109 + read-only; 110 + }; 111 + 112 + partition@60000 { 113 + label = "u-boot-env"; 114 + reg = <0x60000 0x10000>; 115 + read-only; 116 + }; 117 + 118 + factory: partition@70000 { 119 + label = "factory"; 120 + reg = <0x70000 0x40000>; 121 + read-only; 122 + }; 123 + 124 + partition@b0000 { 125 + label = "kernel"; 126 + reg = <0xb0000 0xb50000>; 127 + }; 128 + }; 129 + }; 130 + }; 131 + 132 + &pcie { 133 + pinctrl-names = "default"; 134 + pinctrl-0 = <&pcie_pins>; 135 + }; 136 + 137 + &pciephy1 { 138 + status = "okay"; 139 + }; 140 + 141 + &pio { 142 + eth_pins: eth-pins { 143 + mux { 144 + function = "eth"; 145 + groups = "mdc_mdio"; 146 + }; 147 + }; 148 + 149 + ephy_leds_pins: ephy-leds-pins { 150 + mux { 151 + function = "led"; 152 + groups = "gphy_leds_0", "ephy_leds"; 153 + }; 154 + }; 155 + 156 + i2c_pins: i2c-pins { 157 + mux { 158 + function = "i2c"; 159 + groups = "i2c_0"; 160 + }; 161 + 162 + conf { 163 + pins = "I2C_SDA", "I2C_SCL"; 164 + drive-strength = <4>; 165 + bias-disable; 166 + }; 167 + }; 168 + 169 + pcie_pins: pcie-pins { 170 + mux { 171 + function = "pcie"; 172 + groups = "pcie_clkreq", 173 + "pcie_pereset", 174 + "pcie_wake"; 175 + }; 176 + }; 177 + 178 + pwm_pins: pwm-pins { 179 + mux { 180 + function = "pwm"; 181 + groups = "pwm_0"; 182 + }; 183 + }; 184 + 185 + /* SPI-NOR is shared pin with serial NAND */ 186 + qspi_pins: qspi-pins { 187 + mux { 188 + function = "flash"; 189 + groups = "spi_nor"; 190 + }; 191 + }; 192 + 193 + /* Serial NAND is shared pin with SPI-NOR */ 194 + serial_nand_pins: serial-nand-pins { 195 + mux { 196 + function = "flash"; 197 + groups = "snfi"; 198 + }; 199 + }; 200 + 201 + spi_pins: spi-pins { 202 + mux { 203 + function = "spi"; 204 + groups = "spi_0"; 205 + }; 206 + }; 207 + 208 + uart0_pins: uart0-pins { 209 + mux { 210 + function = "uart"; 211 + groups = "uart0_txd_rxd" ; 212 + }; 213 + }; 214 + 215 + uart1_pins: uart1-pins { 216 + mux { 217 + function = "uart"; 218 + groups = "uart1_0_tx_rx" ; 219 + }; 220 + }; 221 + 222 + uart2_pins: uart2-pins { 223 + mux { 224 + function = "uart"; 225 + groups = "uart2_0_txd_rxd" ; 226 + }; 227 + }; 228 + 229 + watchdog_pins: watchdog-pins { 230 + mux { 231 + function = "watchdog"; 232 + groups = "watchdog"; 233 + }; 234 + }; 235 + }; 236 + 237 + &spi { 238 + pinctrl-names = "default"; 239 + pinctrl-0 = <&spi_pins>; 240 + status = "okay"; 241 + }; 242 + 243 + &ssusb { 244 + vusb33-supply = <&reg_3p3v>; 245 + vbus-supply = <&reg_5v>; 246 + status = "okay"; 247 + }; 248 + 249 + &u3phy0 { 250 + status = "okay"; 251 + }; 252 + 253 + &uart0 { 254 + pinctrl-names = "default"; 255 + pinctrl-0 = <&uart0_pins>; 256 + status = "okay"; 257 + }; 258 + 259 + &watchdog { 260 + pinctrl-names = "default"; 261 + pinctrl-0 = <&watchdog_pins>; 262 + status = "okay"; 263 + };
+481
arch/arm/boot/dts/mt7629.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (c) 2019 MediaTek Inc. 4 + * 5 + * Author: Ryder Lee <ryder.lee@mediatek.com> 6 + */ 7 + 8 + #include <dt-bindings/interrupt-controller/irq.h> 9 + #include <dt-bindings/interrupt-controller/arm-gic.h> 10 + #include <dt-bindings/clock/mt7629-clk.h> 11 + #include <dt-bindings/power/mt7622-power.h> 12 + #include <dt-bindings/gpio/gpio.h> 13 + #include <dt-bindings/phy/phy.h> 14 + #include <dt-bindings/reset/mt7629-resets.h> 15 + 16 + / { 17 + compatible = "mediatek,mt7629"; 18 + interrupt-parent = <&sysirq>; 19 + #address-cells = <1>; 20 + #size-cells = <1>; 21 + 22 + cpus { 23 + #address-cells = <1>; 24 + #size-cells = <0>; 25 + enable-method = "mediatek,mt6589-smp"; 26 + 27 + cpu0: cpu@0 { 28 + device_type = "cpu"; 29 + compatible = "arm,cortex-a7"; 30 + reg = <0x0>; 31 + clock-frequency = <1250000000>; 32 + cci-control-port = <&cci_control2>; 33 + }; 34 + 35 + cpu1: cpu@1 { 36 + device_type = "cpu"; 37 + compatible = "arm,cortex-a7"; 38 + reg = <0x1>; 39 + clock-frequency = <1250000000>; 40 + cci-control-port = <&cci_control2>; 41 + }; 42 + }; 43 + 44 + pmu { 45 + compatible = "arm,cortex-a7-pmu"; 46 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_LOW>, 47 + <GIC_SPI 9 IRQ_TYPE_LEVEL_LOW>; 48 + interrupt-affinity = <&cpu0>, <&cpu1>; 49 + }; 50 + 51 + clk20m: oscillator-0 { 52 + compatible = "fixed-clock"; 53 + #clock-cells = <0>; 54 + clock-frequency = <20000000>; 55 + clock-output-names = "clk20m"; 56 + }; 57 + 58 + clk40m: oscillator-1 { 59 + compatible = "fixed-clock"; 60 + #clock-cells = <0>; 61 + clock-frequency = <40000000>; 62 + clock-output-names = "clkxtal"; 63 + }; 64 + 65 + timer { 66 + compatible = "arm,armv7-timer"; 67 + interrupt-parent = <&gic>; 68 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 69 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 70 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 71 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 72 + clock-frequency = <20000000>; 73 + }; 74 + 75 + soc { 76 + compatible = "simple-bus"; 77 + #address-cells = <1>; 78 + #size-cells = <1>; 79 + ranges; 80 + 81 + infracfg: syscon@10000000 { 82 + compatible = "mediatek,mt7629-infracfg", "syscon"; 83 + reg = <0x10000000 0x1000>; 84 + #clock-cells = <1>; 85 + }; 86 + 87 + pericfg: syscon@10002000 { 88 + compatible = "mediatek,mt7629-pericfg", "syscon"; 89 + reg = <0x10002000 0x1000>; 90 + #clock-cells = <1>; 91 + }; 92 + 93 + scpsys: scpsys@10006000 { 94 + compatible = "mediatek,mt7629-scpsys", 95 + "mediatek,mt7622-scpsys"; 96 + #power-domain-cells = <1>; 97 + reg = <0x10006000 0x1000>; 98 + clocks = <&topckgen CLK_TOP_HIF_SEL>; 99 + clock-names = "hif_sel"; 100 + assigned-clocks = <&topckgen CLK_TOP_HIF_SEL>; 101 + assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>; 102 + infracfg = <&infracfg>; 103 + }; 104 + 105 + timer: timer@10009000 { 106 + compatible = "mediatek,mt7629-timer", 107 + "mediatek,mt6765-timer"; 108 + reg = <0x10009000 0x60>; 109 + interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>, 110 + <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>; 111 + clocks = <&clk20m>; 112 + clock-names = "clk20m"; 113 + }; 114 + 115 + sysirq: interrupt-controller@10200a80 { 116 + compatible = "mediatek,mt7629-sysirq", 117 + "mediatek,mt6577-sysirq"; 118 + reg = <0x10200a80 0x20>; 119 + interrupt-controller; 120 + #interrupt-cells = <3>; 121 + interrupt-parent = <&gic>; 122 + }; 123 + 124 + apmixedsys: syscon@10209000 { 125 + compatible = "mediatek,mt7629-apmixedsys", "syscon"; 126 + reg = <0x10209000 0x1000>; 127 + #clock-cells = <1>; 128 + }; 129 + 130 + rng: rng@1020f000 { 131 + compatible = "mediatek,mt7629-rng", 132 + "mediatek,mt7623-rng"; 133 + reg = <0x1020f000 0x100>; 134 + clocks = <&infracfg CLK_INFRA_TRNG_PD>; 135 + clock-names = "rng"; 136 + }; 137 + 138 + topckgen: syscon@10210000 { 139 + compatible = "mediatek,mt7629-topckgen", "syscon"; 140 + reg = <0x10210000 0x1000>; 141 + #clock-cells = <1>; 142 + }; 143 + 144 + watchdog: watchdog@10212000 { 145 + compatible = "mediatek,mt7629-wdt", 146 + "mediatek,mt6589-wdt"; 147 + reg = <0x10212000 0x100>; 148 + }; 149 + 150 + pio: pinctrl@10217000 { 151 + compatible = "mediatek,mt7629-pinctrl"; 152 + reg = <0x10217000 0x8000>, 153 + <0x10005000 0x1000>; 154 + reg-names = "base", "eint"; 155 + gpio-controller; 156 + gpio-ranges = <&pio 0 0 79>; 157 + #gpio-cells = <2>; 158 + #interrupt-cells = <2>; 159 + interrupt-controller; 160 + interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 161 + interrupt-parent = <&gic>; 162 + }; 163 + 164 + gic: interrupt-controller@10300000 { 165 + compatible = "arm,gic-400"; 166 + interrupt-controller; 167 + #interrupt-cells = <3>; 168 + interrupt-parent = <&gic>; 169 + reg = <0x10310000 0x1000>, 170 + <0x10320000 0x1000>, 171 + <0x10340000 0x2000>, 172 + <0x10360000 0x2000>; 173 + }; 174 + 175 + cci: cci@10390000 { 176 + compatible = "arm,cci-400"; 177 + #address-cells = <1>; 178 + #size-cells = <1>; 179 + reg = <0x10390000 0x1000>; 180 + ranges = <0 0x10390000 0x10000>; 181 + 182 + cci_control0: slave-if@1000 { 183 + compatible = "arm,cci-400-ctrl-if"; 184 + interface-type = "ace-lite"; 185 + reg = <0x1000 0x1000>; 186 + }; 187 + 188 + cci_control1: slave-if@4000 { 189 + compatible = "arm,cci-400-ctrl-if"; 190 + interface-type = "ace"; 191 + reg = <0x4000 0x1000>; 192 + }; 193 + 194 + cci_control2: slave-if@5000 { 195 + compatible = "arm,cci-400-ctrl-if"; 196 + interface-type = "ace"; 197 + reg = <0x5000 0x1000>; 198 + }; 199 + 200 + pmu@9000 { 201 + compatible = "arm,cci-400-pmu,r1"; 202 + reg = <0x9000 0x5000>; 203 + interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 204 + <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 205 + <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 206 + <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 207 + <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 208 + }; 209 + }; 210 + 211 + uart0: serial@11002000 { 212 + compatible = "mediatek,mt7629-uart", 213 + "mediatek,mt6577-uart"; 214 + reg = <0x11002000 0x400>; 215 + interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 216 + clocks = <&topckgen CLK_TOP_UART_SEL>, 217 + <&pericfg CLK_PERI_UART0_PD>; 218 + clock-names = "baud", "bus"; 219 + status = "disabled"; 220 + }; 221 + 222 + uart1: serial@11003000 { 223 + compatible = "mediatek,mt7629-uart", 224 + "mediatek,mt6577-uart"; 225 + reg = <0x11003000 0x400>; 226 + interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>; 227 + clocks = <&topckgen CLK_TOP_UART_SEL>, 228 + <&pericfg CLK_PERI_UART1_PD>; 229 + clock-names = "baud", "bus"; 230 + status = "disabled"; 231 + }; 232 + 233 + uart2: serial@11004000 { 234 + compatible = "mediatek,mt7629-uart", 235 + "mediatek,mt6577-uart"; 236 + reg = <0x11004000 0x400>; 237 + interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>; 238 + clocks = <&topckgen CLK_TOP_UART_SEL>, 239 + <&pericfg CLK_PERI_UART2_PD>; 240 + clock-names = "baud", "bus"; 241 + status = "disabled"; 242 + }; 243 + 244 + i2c: i2c@11007000 { 245 + compatible = "mediatek,mt7629-i2c", 246 + "mediatek,mt2712-i2c"; 247 + reg = <0x11007000 0x90>, 248 + <0x11000100 0x80>; 249 + interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>; 250 + clock-div = <4>; 251 + clocks = <&pericfg CLK_PERI_I2C0_PD>, 252 + <&pericfg CLK_PERI_AP_DMA_PD>; 253 + clock-names = "main", "dma"; 254 + assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>; 255 + assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>; 256 + #address-cells = <1>; 257 + #size-cells = <0>; 258 + status = "disabled"; 259 + }; 260 + 261 + spi: spi@1100a000 { 262 + compatible = "mediatek,mt7629-spi", 263 + "mediatek,mt7622-spi"; 264 + #address-cells = <1>; 265 + #size-cells = <0>; 266 + reg = <0x1100a000 0x100>; 267 + interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_LOW>; 268 + clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 269 + <&topckgen CLK_TOP_SPI0_SEL>, 270 + <&pericfg CLK_PERI_SPI0_PD>; 271 + clock-names = "parent-clk", "sel-clk", "spi-clk"; 272 + status = "disabled"; 273 + }; 274 + 275 + qspi: spi@11014000 { 276 + compatible = "mediatek,mt7629-nor", 277 + "mediatek,mt8173-nor"; 278 + reg = <0x11014000 0xe0>; 279 + clocks = <&pericfg CLK_PERI_FLASH_PD>, 280 + <&topckgen CLK_TOP_FLASH_SEL>; 281 + clock-names = "spi", "sf"; 282 + #address-cells = <1>; 283 + #size-cells = <0>; 284 + status = "disabled"; 285 + }; 286 + 287 + ssusbsys: syscon@1a000000 { 288 + compatible = "mediatek,mt7629-ssusbsys", "syscon"; 289 + reg = <0x1a000000 0x1000>; 290 + #clock-cells = <1>; 291 + #reset-cells = <1>; 292 + }; 293 + 294 + ssusb: usb@1a0c0000 { 295 + compatible = "mediatek,mt7629-xhci", 296 + "mediatek,mtk-xhci"; 297 + reg = <0x1a0c0000 0x01000>, 298 + <0x1a0c3e00 0x0100>; 299 + reg-names = "mac", "ippc"; 300 + interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_LOW>; 301 + clocks = <&ssusbsys CLK_SSUSB_SYS_EN>, 302 + <&ssusbsys CLK_SSUSB_REF_EN>, 303 + <&ssusbsys CLK_SSUSB_MCU_EN>, 304 + <&ssusbsys CLK_SSUSB_DMA_EN>; 305 + clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck"; 306 + assigned-clocks = <&topckgen CLK_TOP_AXI_SEL>, 307 + <&topckgen CLK_TOP_SATA_SEL>, 308 + <&topckgen CLK_TOP_HIF_SEL>; 309 + assigned-clock-parents = <&topckgen CLK_TOP_SYSPLL1_D2>, 310 + <&topckgen CLK_TOP_UNIVPLL2_D4>, 311 + <&topckgen CLK_TOP_UNIVPLL1_D2>; 312 + power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF1>; 313 + phys = <&u2port0 PHY_TYPE_USB2>, 314 + <&u3port0 PHY_TYPE_USB3>; 315 + status = "disabled"; 316 + }; 317 + 318 + u3phy0: usb-phy@1a0c4000 { 319 + compatible = "mediatek,generic-tphy-v2"; 320 + #address-cells = <1>; 321 + #size-cells = <1>; 322 + ranges = <0 0x1a0c4000 0xe00>; 323 + status = "disabled"; 324 + 325 + u2port0: usb-phy@0 { 326 + reg = <0 0x700>; 327 + clocks = <&ssusbsys CLK_SSUSB_U2_PHY_EN>; 328 + clock-names = "ref"; 329 + #phy-cells = <1>; 330 + status = "okay"; 331 + }; 332 + 333 + u3port0: usb-phy@700 { 334 + reg = <0x700 0x700>; 335 + clocks = <&clk20m>; 336 + clock-names = "ref"; 337 + #phy-cells = <1>; 338 + status = "okay"; 339 + }; 340 + }; 341 + 342 + pciesys: syscon@1a100800 { 343 + compatible = "mediatek,mt7629-pciesys", "syscon"; 344 + reg = <0x1a100800 0x1000>; 345 + #clock-cells = <1>; 346 + #reset-cells = <1>; 347 + }; 348 + 349 + pcie: pcie@1a140000 { 350 + compatible = "mediatek,mt7629-pcie"; 351 + device_type = "pci"; 352 + reg = <0x1a140000 0x1000>, 353 + <0x1a145000 0x1000>; 354 + reg-names = "subsys","port1"; 355 + #address-cells = <3>; 356 + #size-cells = <2>; 357 + interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_LOW>, 358 + <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>; 359 + clocks = <&pciesys CLK_PCIE_P1_MAC_EN>, 360 + <&pciesys CLK_PCIE_P0_AHB_EN>, 361 + <&pciesys CLK_PCIE_P1_AUX_EN>, 362 + <&pciesys CLK_PCIE_P1_AXI_EN>, 363 + <&pciesys CLK_PCIE_P1_OBFF_EN>, 364 + <&pciesys CLK_PCIE_P1_PIPE_EN>; 365 + clock-names = "sys_ck1", "ahb_ck1", 366 + "aux_ck1", "axi_ck1", 367 + "obff_ck1", "pipe_ck1"; 368 + assigned-clocks = <&topckgen CLK_TOP_SATA_SEL>, 369 + <&topckgen CLK_TOP_AXI_SEL>, 370 + <&topckgen CLK_TOP_HIF_SEL>; 371 + assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL2_D4>, 372 + <&topckgen CLK_TOP_SYSPLL1_D2>, 373 + <&topckgen CLK_TOP_UNIVPLL1_D2>; 374 + phys = <&pcieport1 PHY_TYPE_PCIE>; 375 + phy-names = "pcie-phy1"; 376 + power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>; 377 + bus-range = <0x00 0xff>; 378 + ranges = <0x82000000 0 0x20000000 0x20000000 0 0x10000000>; 379 + 380 + pcie1: pcie@1,0 { 381 + device_type = "pci"; 382 + reg = <0x0800 0 0 0 0>; 383 + #address-cells = <3>; 384 + #size-cells = <2>; 385 + #interrupt-cells = <1>; 386 + ranges; 387 + num-lanes = <1>; 388 + interrupt-map-mask = <0 0 0 7>; 389 + interrupt-map = <0 0 0 1 &pcie_intc1 0>, 390 + <0 0 0 2 &pcie_intc1 1>, 391 + <0 0 0 3 &pcie_intc1 2>, 392 + <0 0 0 4 &pcie_intc1 3>; 393 + 394 + pcie_intc1: interrupt-controller { 395 + interrupt-controller; 396 + #address-cells = <0>; 397 + #interrupt-cells = <1>; 398 + }; 399 + }; 400 + }; 401 + 402 + pciephy1: pcie-phy@1a14a000 { 403 + compatible = "mediatek,generic-tphy-v2"; 404 + #address-cells = <1>; 405 + #size-cells = <1>; 406 + ranges = <0 0x1a14a000 0x1000>; 407 + status = "disabled"; 408 + 409 + pcieport1: port1phy@0 { 410 + reg = <0 0x1000>; 411 + clocks = <&clk20m>; 412 + clock-names = "ref"; 413 + #phy-cells = <1>; 414 + status = "okay"; 415 + }; 416 + }; 417 + 418 + ethsys: syscon@1b000000 { 419 + compatible = "mediatek,mt7629-ethsys", "syscon"; 420 + reg = <0x1b000000 0x1000>; 421 + #clock-cells = <1>; 422 + #reset-cells = <1>; 423 + }; 424 + 425 + eth: ethernet@1b100000 { 426 + compatible = "mediatek,mt7629-eth","syscon"; 427 + reg = <0x1b100000 0x20000>; 428 + interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_LOW>, 429 + <GIC_SPI 224 IRQ_TYPE_LEVEL_LOW>, 430 + <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>; 431 + clocks = <&topckgen CLK_TOP_ETH_SEL>, 432 + <&topckgen CLK_TOP_F10M_REF_SEL>, 433 + <&ethsys CLK_ETH_ESW_EN>, 434 + <&ethsys CLK_ETH_GP0_EN>, 435 + <&ethsys CLK_ETH_GP1_EN>, 436 + <&ethsys CLK_ETH_GP2_EN>, 437 + <&ethsys CLK_ETH_FE_EN>, 438 + <&sgmiisys0 CLK_SGMII_TX_EN>, 439 + <&sgmiisys0 CLK_SGMII_RX_EN>, 440 + <&sgmiisys0 CLK_SGMII_CDR_REF>, 441 + <&sgmiisys0 CLK_SGMII_CDR_FB>, 442 + <&sgmiisys1 CLK_SGMII_TX_EN>, 443 + <&sgmiisys1 CLK_SGMII_RX_EN>, 444 + <&sgmiisys1 CLK_SGMII_CDR_REF>, 445 + <&sgmiisys1 CLK_SGMII_CDR_FB>, 446 + <&apmixedsys CLK_APMIXED_SGMIPLL>, 447 + <&apmixedsys CLK_APMIXED_ETH2PLL>; 448 + clock-names = "ethif", "sgmiitop", "esw", "gp0", "gp1", 449 + "gp2", "fe", "sgmii_tx250m", "sgmii_rx250m", 450 + "sgmii_cdr_ref", "sgmii_cdr_fb", 451 + "sgmii2_tx250m", "sgmii2_rx250m", 452 + "sgmii2_cdr_ref", "sgmii2_cdr_fb", 453 + "sgmii_ck", "eth2pll"; 454 + assigned-clocks = <&topckgen CLK_TOP_ETH_SEL>, 455 + <&topckgen CLK_TOP_F10M_REF_SEL>; 456 + assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>, 457 + <&topckgen CLK_TOP_SGMIIPLL_D2>; 458 + power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; 459 + mediatek,ethsys = <&ethsys>; 460 + mediatek,sgmiisys = <&sgmiisys0>, <&sgmiisys1>; 461 + mediatek,infracfg = <&infracfg>; 462 + #address-cells = <1>; 463 + #size-cells = <0>; 464 + status = "disabled"; 465 + }; 466 + 467 + sgmiisys0: syscon@1b128000 { 468 + compatible = "mediatek,mt7629-sgmiisys", "syscon"; 469 + reg = <0x1b128000 0x3000>; 470 + #clock-cells = <1>; 471 + mediatek,physpeed = "2500"; 472 + }; 473 + 474 + sgmiisys1: syscon@1b130000 { 475 + compatible = "mediatek,mt7629-sgmiisys", "syscon"; 476 + reg = <0x1b130000 0x3000>; 477 + #clock-cells = <1>; 478 + mediatek,physpeed = "2500"; 479 + }; 480 + }; 481 + };
+71
include/dt-bindings/reset/mt7629-resets.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 2 + /* 3 + * Copyright (C) 2019 MediaTek Inc. 4 + */ 5 + 6 + #ifndef _DT_BINDINGS_RESET_CONTROLLER_MT7629 7 + #define _DT_BINDINGS_RESET_CONTROLLER_MT7629 8 + 9 + /* INFRACFG resets */ 10 + #define MT7629_INFRA_EMI_MPU_RST 0 11 + #define MT7629_INFRA_UART5_RST 2 12 + #define MT7629_INFRA_CIRQ_EINT_RST 3 13 + #define MT7629_INFRA_APXGPT_RST 4 14 + #define MT7629_INFRA_SCPSYS_RST 5 15 + #define MT7629_INFRA_KP_RST 6 16 + #define MT7629_INFRA_SPI1_RST 7 17 + #define MT7629_INFRA_SPI4_RST 8 18 + #define MT7629_INFRA_SYSTIMER_RST 9 19 + #define MT7629_INFRA_IRRX_RST 10 20 + #define MT7629_INFRA_AO_BUS_RST 16 21 + #define MT7629_INFRA_EMI_RST 32 22 + #define MT7629_INFRA_APMIXED_RST 35 23 + #define MT7629_INFRA_MIPI_RST 36 24 + #define MT7629_INFRA_TRNG_RST 37 25 + #define MT7629_INFRA_SYSCIRQ_RST 38 26 + #define MT7629_INFRA_MIPI_CSI_RST 39 27 + #define MT7629_INFRA_GCE_FAXI_RST 40 28 + #define MT7629_INFRA_I2C_SRAM_RST 41 29 + #define MT7629_INFRA_IOMMU_RST 47 30 + 31 + /* PERICFG resets */ 32 + #define MT7629_PERI_UART0_SW_RST 0 33 + #define MT7629_PERI_UART1_SW_RST 1 34 + #define MT7629_PERI_UART2_SW_RST 2 35 + #define MT7629_PERI_BTIF_SW_RST 6 36 + #define MT7629_PERI_PWN_SW_RST 8 37 + #define MT7629_PERI_DMA_SW_RST 11 38 + #define MT7629_PERI_NFI_SW_RST 14 39 + #define MT7629_PERI_I2C0_SW_RST 22 40 + #define MT7629_PERI_SPI0_SW_RST 33 41 + #define MT7629_PERI_SPI1_SW_RST 34 42 + #define MT7629_PERI_FLASHIF_SW_RST 36 43 + 44 + /* PCIe Subsystem resets */ 45 + #define MT7629_PCIE1_CORE_RST 19 46 + #define MT7629_PCIE1_MMIO_RST 20 47 + #define MT7629_PCIE1_HRST 21 48 + #define MT7629_PCIE1_USER_RST 22 49 + #define MT7629_PCIE1_PIPE_RST 23 50 + #define MT7629_PCIE0_CORE_RST 27 51 + #define MT7629_PCIE0_MMIO_RST 28 52 + #define MT7629_PCIE0_HRST 29 53 + #define MT7629_PCIE0_USER_RST 30 54 + #define MT7629_PCIE0_PIPE_RST 31 55 + 56 + /* SSUSB Subsystem resets */ 57 + #define MT7629_SSUSB_PHY_PWR_RST 3 58 + #define MT7629_SSUSB_MAC_PWR_RST 4 59 + 60 + /* ETH Subsystem resets */ 61 + #define MT7629_ETHSYS_SYS_RST 0 62 + #define MT7629_ETHSYS_MCM_RST 2 63 + #define MT7629_ETHSYS_HSDMA_RST 5 64 + #define MT7629_ETHSYS_FE_RST 6 65 + #define MT7629_ETHSYS_ESW_RST 16 66 + #define MT7629_ETHSYS_GMAC_RST 23 67 + #define MT7629_ETHSYS_EPHY_RST 24 68 + #define MT7629_ETHSYS_CRYPTO_RST 29 69 + #define MT7629_ETHSYS_PPE_RST 31 70 + 71 + #endif /* _DT_BINDINGS_RESET_CONTROLLER_MT7629 */