1b3a37248SEddie Huang/* 2b3a37248SEddie Huang * Copyright (c) 2014 MediaTek Inc. 3b3a37248SEddie Huang * Author: Eddie Huang <eddie.huang@mediatek.com> 4b3a37248SEddie Huang * 5b3a37248SEddie Huang * This program is free software; you can redistribute it and/or modify 6b3a37248SEddie Huang * it under the terms of the GNU General Public License version 2 as 7b3a37248SEddie Huang * published by the Free Software Foundation. 8b3a37248SEddie Huang * 9b3a37248SEddie Huang * This program is distributed in the hope that it will be useful, 10b3a37248SEddie Huang * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11b3a37248SEddie Huang * GNU General Public License for more details. 12b3a37248SEddie Huang */ 13b3a37248SEddie Huang 14f2ce7014SSascha Hauer#include <dt-bindings/clock/mt8173-clk.h> 15b3a37248SEddie Huang#include <dt-bindings/interrupt-controller/irq.h> 16b3a37248SEddie Huang#include <dt-bindings/interrupt-controller/arm-gic.h> 17bfcce47aSChunfeng Yun#include <dt-bindings/phy/phy.h> 18c02e0e86SKoro Chen#include <dt-bindings/power/mt8173-power.h> 196cf15fc2SSascha Hauer#include <dt-bindings/reset-controller/mt8173-resets.h> 20359f9365SHongzhou Yang#include "mt8173-pinfunc.h" 21b3a37248SEddie Huang 22b3a37248SEddie Huang/ { 23b3a37248SEddie Huang compatible = "mediatek,mt8173"; 24b3a37248SEddie Huang interrupt-parent = <&sysirq>; 25b3a37248SEddie Huang #address-cells = <2>; 26b3a37248SEddie Huang #size-cells = <2>; 27b3a37248SEddie Huang 28b3a37248SEddie Huang cpus { 29b3a37248SEddie Huang #address-cells = <1>; 30b3a37248SEddie Huang #size-cells = <0>; 31b3a37248SEddie Huang 32b3a37248SEddie Huang cpu-map { 33b3a37248SEddie Huang cluster0 { 34b3a37248SEddie Huang core0 { 35b3a37248SEddie Huang cpu = <&cpu0>; 36b3a37248SEddie Huang }; 37b3a37248SEddie Huang core1 { 38b3a37248SEddie Huang cpu = <&cpu1>; 39b3a37248SEddie Huang }; 40b3a37248SEddie Huang }; 41b3a37248SEddie Huang 42b3a37248SEddie Huang cluster1 { 43b3a37248SEddie Huang core0 { 44b3a37248SEddie Huang cpu = <&cpu2>; 45b3a37248SEddie Huang }; 46b3a37248SEddie Huang core1 { 47b3a37248SEddie Huang cpu = <&cpu3>; 48b3a37248SEddie Huang }; 49b3a37248SEddie Huang }; 50b3a37248SEddie Huang }; 51b3a37248SEddie Huang 52b3a37248SEddie Huang cpu0: cpu@0 { 53b3a37248SEddie Huang device_type = "cpu"; 54b3a37248SEddie Huang compatible = "arm,cortex-a53"; 55b3a37248SEddie Huang reg = <0x000>; 56ad4df7a5SHoward Chen enable-method = "psci"; 57ad4df7a5SHoward Chen cpu-idle-states = <&CPU_SLEEP_0>; 58b3a37248SEddie Huang }; 59b3a37248SEddie Huang 60b3a37248SEddie Huang cpu1: cpu@1 { 61b3a37248SEddie Huang device_type = "cpu"; 62b3a37248SEddie Huang compatible = "arm,cortex-a53"; 63b3a37248SEddie Huang reg = <0x001>; 64b3a37248SEddie Huang enable-method = "psci"; 65ad4df7a5SHoward Chen cpu-idle-states = <&CPU_SLEEP_0>; 66b3a37248SEddie Huang }; 67b3a37248SEddie Huang 68b3a37248SEddie Huang cpu2: cpu@100 { 69b3a37248SEddie Huang device_type = "cpu"; 70b3a37248SEddie Huang compatible = "arm,cortex-a57"; 71b3a37248SEddie Huang reg = <0x100>; 72b3a37248SEddie Huang enable-method = "psci"; 73ad4df7a5SHoward Chen cpu-idle-states = <&CPU_SLEEP_0>; 74b3a37248SEddie Huang }; 75b3a37248SEddie Huang 76b3a37248SEddie Huang cpu3: cpu@101 { 77b3a37248SEddie Huang device_type = "cpu"; 78b3a37248SEddie Huang compatible = "arm,cortex-a57"; 79b3a37248SEddie Huang reg = <0x101>; 80b3a37248SEddie Huang enable-method = "psci"; 81ad4df7a5SHoward Chen cpu-idle-states = <&CPU_SLEEP_0>; 82ad4df7a5SHoward Chen }; 83ad4df7a5SHoward Chen 84ad4df7a5SHoward Chen idle-states { 85a13f18f5SLorenzo Pieralisi entry-method = "psci"; 86ad4df7a5SHoward Chen 87ad4df7a5SHoward Chen CPU_SLEEP_0: cpu-sleep-0 { 88ad4df7a5SHoward Chen compatible = "arm,idle-state"; 89ad4df7a5SHoward Chen local-timer-stop; 90ad4df7a5SHoward Chen entry-latency-us = <639>; 91ad4df7a5SHoward Chen exit-latency-us = <680>; 92ad4df7a5SHoward Chen min-residency-us = <1088>; 93ad4df7a5SHoward Chen arm,psci-suspend-param = <0x0010000>; 94ad4df7a5SHoward Chen }; 95b3a37248SEddie Huang }; 96b3a37248SEddie Huang }; 97b3a37248SEddie Huang 98b3a37248SEddie Huang psci { 99b3a37248SEddie Huang compatible = "arm,psci"; 100b3a37248SEddie Huang method = "smc"; 101b3a37248SEddie Huang cpu_suspend = <0x84000001>; 102b3a37248SEddie Huang cpu_off = <0x84000002>; 103b3a37248SEddie Huang cpu_on = <0x84000003>; 104b3a37248SEddie Huang }; 105b3a37248SEddie Huang 106f2ce7014SSascha Hauer clk26m: oscillator@0 { 107f2ce7014SSascha Hauer compatible = "fixed-clock"; 108f2ce7014SSascha Hauer #clock-cells = <0>; 109f2ce7014SSascha Hauer clock-frequency = <26000000>; 110f2ce7014SSascha Hauer clock-output-names = "clk26m"; 111f2ce7014SSascha Hauer }; 112f2ce7014SSascha Hauer 113f2ce7014SSascha Hauer clk32k: oscillator@1 { 114f2ce7014SSascha Hauer compatible = "fixed-clock"; 115f2ce7014SSascha Hauer #clock-cells = <0>; 116f2ce7014SSascha Hauer clock-frequency = <32000>; 117f2ce7014SSascha Hauer clock-output-names = "clk32k"; 118f2ce7014SSascha Hauer }; 119f2ce7014SSascha Hauer 12067e56c56SJames Liao cpum_ck: oscillator@2 { 12167e56c56SJames Liao compatible = "fixed-clock"; 12267e56c56SJames Liao #clock-cells = <0>; 12367e56c56SJames Liao clock-frequency = <0>; 12467e56c56SJames Liao clock-output-names = "cpum_ck"; 12567e56c56SJames Liao }; 12667e56c56SJames Liao 127b3a37248SEddie Huang timer { 128b3a37248SEddie Huang compatible = "arm,armv8-timer"; 129b3a37248SEddie Huang interrupt-parent = <&gic>; 130b3a37248SEddie Huang interrupts = <GIC_PPI 13 131b3a37248SEddie Huang (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 132b3a37248SEddie Huang <GIC_PPI 14 133b3a37248SEddie Huang (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 134b3a37248SEddie Huang <GIC_PPI 11 135b3a37248SEddie Huang (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 136b3a37248SEddie Huang <GIC_PPI 10 137b3a37248SEddie Huang (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 138b3a37248SEddie Huang }; 139b3a37248SEddie Huang 140b3a37248SEddie Huang soc { 141b3a37248SEddie Huang #address-cells = <2>; 142b3a37248SEddie Huang #size-cells = <2>; 143b3a37248SEddie Huang compatible = "simple-bus"; 144b3a37248SEddie Huang ranges; 145b3a37248SEddie Huang 146f2ce7014SSascha Hauer topckgen: clock-controller@10000000 { 147f2ce7014SSascha Hauer compatible = "mediatek,mt8173-topckgen"; 148f2ce7014SSascha Hauer reg = <0 0x10000000 0 0x1000>; 149f2ce7014SSascha Hauer #clock-cells = <1>; 150f2ce7014SSascha Hauer }; 151f2ce7014SSascha Hauer 152f2ce7014SSascha Hauer infracfg: power-controller@10001000 { 153f2ce7014SSascha Hauer compatible = "mediatek,mt8173-infracfg", "syscon"; 154f2ce7014SSascha Hauer reg = <0 0x10001000 0 0x1000>; 155f2ce7014SSascha Hauer #clock-cells = <1>; 156f2ce7014SSascha Hauer #reset-cells = <1>; 157f2ce7014SSascha Hauer }; 158f2ce7014SSascha Hauer 159f2ce7014SSascha Hauer pericfg: power-controller@10003000 { 160f2ce7014SSascha Hauer compatible = "mediatek,mt8173-pericfg", "syscon"; 161f2ce7014SSascha Hauer reg = <0 0x10003000 0 0x1000>; 162f2ce7014SSascha Hauer #clock-cells = <1>; 163f2ce7014SSascha Hauer #reset-cells = <1>; 164f2ce7014SSascha Hauer }; 165f2ce7014SSascha Hauer 166f2ce7014SSascha Hauer syscfg_pctl_a: syscfg_pctl_a@10005000 { 167f2ce7014SSascha Hauer compatible = "mediatek,mt8173-pctl-a-syscfg", "syscon"; 168f2ce7014SSascha Hauer reg = <0 0x10005000 0 0x1000>; 169f2ce7014SSascha Hauer }; 170f2ce7014SSascha Hauer 171f2ce7014SSascha Hauer pio: pinctrl@0x10005000 { 172359f9365SHongzhou Yang compatible = "mediatek,mt8173-pinctrl"; 1736769b93cSYingjoe Chen reg = <0 0x1000b000 0 0x1000>; 174359f9365SHongzhou Yang mediatek,pctl-regmap = <&syscfg_pctl_a>; 175359f9365SHongzhou Yang pins-are-numbered; 176359f9365SHongzhou Yang gpio-controller; 177359f9365SHongzhou Yang #gpio-cells = <2>; 178359f9365SHongzhou Yang interrupt-controller; 179359f9365SHongzhou Yang #interrupt-cells = <2>; 180359f9365SHongzhou Yang interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 181359f9365SHongzhou Yang <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 182359f9365SHongzhou Yang <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; 183091cf598SEddie Huang 184091cf598SEddie Huang i2c0_pins_a: i2c0 { 185091cf598SEddie Huang pins1 { 186091cf598SEddie Huang pinmux = <MT8173_PIN_45_SDA0__FUNC_SDA0>, 187091cf598SEddie Huang <MT8173_PIN_46_SCL0__FUNC_SCL0>; 188091cf598SEddie Huang bias-disable; 189091cf598SEddie Huang }; 190359f9365SHongzhou Yang }; 191359f9365SHongzhou Yang 192091cf598SEddie Huang i2c1_pins_a: i2c1 { 193091cf598SEddie Huang pins1 { 194091cf598SEddie Huang pinmux = <MT8173_PIN_125_SDA1__FUNC_SDA1>, 195091cf598SEddie Huang <MT8173_PIN_126_SCL1__FUNC_SCL1>; 196091cf598SEddie Huang bias-disable; 197091cf598SEddie Huang }; 198091cf598SEddie Huang }; 199091cf598SEddie Huang 200091cf598SEddie Huang i2c2_pins_a: i2c2 { 201091cf598SEddie Huang pins1 { 202091cf598SEddie Huang pinmux = <MT8173_PIN_43_SDA2__FUNC_SDA2>, 203091cf598SEddie Huang <MT8173_PIN_44_SCL2__FUNC_SCL2>; 204091cf598SEddie Huang bias-disable; 205091cf598SEddie Huang }; 206091cf598SEddie Huang }; 207091cf598SEddie Huang 208091cf598SEddie Huang i2c3_pins_a: i2c3 { 209091cf598SEddie Huang pins1 { 210091cf598SEddie Huang pinmux = <MT8173_PIN_106_SDA3__FUNC_SDA3>, 211091cf598SEddie Huang <MT8173_PIN_107_SCL3__FUNC_SCL3>; 212091cf598SEddie Huang bias-disable; 213091cf598SEddie Huang }; 214091cf598SEddie Huang }; 215091cf598SEddie Huang 216091cf598SEddie Huang i2c4_pins_a: i2c4 { 217091cf598SEddie Huang pins1 { 218091cf598SEddie Huang pinmux = <MT8173_PIN_133_SDA4__FUNC_SDA4>, 219091cf598SEddie Huang <MT8173_PIN_134_SCL4__FUNC_SCL4>; 220091cf598SEddie Huang bias-disable; 221091cf598SEddie Huang }; 222091cf598SEddie Huang }; 223091cf598SEddie Huang 224091cf598SEddie Huang i2c6_pins_a: i2c6 { 225091cf598SEddie Huang pins1 { 226091cf598SEddie Huang pinmux = <MT8173_PIN_100_MSDC2_DAT0__FUNC_SDA5>, 227091cf598SEddie Huang <MT8173_PIN_101_MSDC2_DAT1__FUNC_SCL5>; 228091cf598SEddie Huang bias-disable; 229091cf598SEddie Huang }; 230091cf598SEddie Huang }; 2316769b93cSYingjoe Chen }; 2326769b93cSYingjoe Chen 233c010ff53SSascha Hauer scpsys: scpsys@10006000 { 234c010ff53SSascha Hauer compatible = "mediatek,mt8173-scpsys"; 235c010ff53SSascha Hauer #power-domain-cells = <1>; 236c010ff53SSascha Hauer reg = <0 0x10006000 0 0x1000>; 237c010ff53SSascha Hauer clocks = <&clk26m>, 238e34573c9SJames Liao <&topckgen CLK_TOP_MM_SEL>, 239e34573c9SJames Liao <&topckgen CLK_TOP_VENC_SEL>, 240e34573c9SJames Liao <&topckgen CLK_TOP_VENC_LT_SEL>; 241e34573c9SJames Liao clock-names = "mfg", "mm", "venc", "venc_lt"; 242c010ff53SSascha Hauer infracfg = <&infracfg>; 243c010ff53SSascha Hauer }; 244c010ff53SSascha Hauer 24513421b3eSEddie Huang watchdog: watchdog@10007000 { 24613421b3eSEddie Huang compatible = "mediatek,mt8173-wdt", 24713421b3eSEddie Huang "mediatek,mt6589-wdt"; 24813421b3eSEddie Huang reg = <0 0x10007000 0 0x100>; 24913421b3eSEddie Huang }; 25013421b3eSEddie Huang 2516cf15fc2SSascha Hauer pwrap: pwrap@1000d000 { 2526cf15fc2SSascha Hauer compatible = "mediatek,mt8173-pwrap"; 2536cf15fc2SSascha Hauer reg = <0 0x1000d000 0 0x1000>; 2546cf15fc2SSascha Hauer reg-names = "pwrap"; 2556cf15fc2SSascha Hauer interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 2566cf15fc2SSascha Hauer resets = <&infracfg MT8173_INFRA_PMIC_WRAP_RST>; 2576cf15fc2SSascha Hauer reset-names = "pwrap"; 2586cf15fc2SSascha Hauer clocks = <&infracfg CLK_INFRA_PMICSPI>, <&infracfg CLK_INFRA_PMICWRAP>; 2596cf15fc2SSascha Hauer clock-names = "spi", "wrap"; 2606cf15fc2SSascha Hauer }; 2616cf15fc2SSascha Hauer 262b3a37248SEddie Huang sysirq: intpol-controller@10200620 { 263b3a37248SEddie Huang compatible = "mediatek,mt8173-sysirq", 264b3a37248SEddie Huang "mediatek,mt6577-sysirq"; 265b3a37248SEddie Huang interrupt-controller; 266b3a37248SEddie Huang #interrupt-cells = <3>; 267b3a37248SEddie Huang interrupt-parent = <&gic>; 268b3a37248SEddie Huang reg = <0 0x10200620 0 0x20>; 269b3a37248SEddie Huang }; 270b3a37248SEddie Huang 271f2ce7014SSascha Hauer apmixedsys: clock-controller@10209000 { 272f2ce7014SSascha Hauer compatible = "mediatek,mt8173-apmixedsys"; 273f2ce7014SSascha Hauer reg = <0 0x10209000 0 0x1000>; 274f2ce7014SSascha Hauer #clock-cells = <1>; 275f2ce7014SSascha Hauer }; 276f2ce7014SSascha Hauer 277b3a37248SEddie Huang gic: interrupt-controller@10220000 { 278b3a37248SEddie Huang compatible = "arm,gic-400"; 279b3a37248SEddie Huang #interrupt-cells = <3>; 280b3a37248SEddie Huang interrupt-parent = <&gic>; 281b3a37248SEddie Huang interrupt-controller; 282b3a37248SEddie Huang reg = <0 0x10221000 0 0x1000>, 283b3a37248SEddie Huang <0 0x10222000 0 0x2000>, 284b3a37248SEddie Huang <0 0x10224000 0 0x2000>, 285b3a37248SEddie Huang <0 0x10226000 0 0x2000>; 286b3a37248SEddie Huang interrupts = <GIC_PPI 9 287b3a37248SEddie Huang (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 288b3a37248SEddie Huang }; 289b3a37248SEddie Huang 290b3a37248SEddie Huang uart0: serial@11002000 { 291b3a37248SEddie Huang compatible = "mediatek,mt8173-uart", 292b3a37248SEddie Huang "mediatek,mt6577-uart"; 293b3a37248SEddie Huang reg = <0 0x11002000 0 0x400>; 294b3a37248SEddie Huang interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_LOW>; 2950e84faa1SSascha Hauer clocks = <&pericfg CLK_PERI_UART0_SEL>, <&pericfg CLK_PERI_UART0>; 2960e84faa1SSascha Hauer clock-names = "baud", "bus"; 297b3a37248SEddie Huang status = "disabled"; 298b3a37248SEddie Huang }; 299b3a37248SEddie Huang 300b3a37248SEddie Huang uart1: serial@11003000 { 301b3a37248SEddie Huang compatible = "mediatek,mt8173-uart", 302b3a37248SEddie Huang "mediatek,mt6577-uart"; 303b3a37248SEddie Huang reg = <0 0x11003000 0 0x400>; 304b3a37248SEddie Huang interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>; 3050e84faa1SSascha Hauer clocks = <&pericfg CLK_PERI_UART1_SEL>, <&pericfg CLK_PERI_UART1>; 3060e84faa1SSascha Hauer clock-names = "baud", "bus"; 307b3a37248SEddie Huang status = "disabled"; 308b3a37248SEddie Huang }; 309b3a37248SEddie Huang 310b3a37248SEddie Huang uart2: serial@11004000 { 311b3a37248SEddie Huang compatible = "mediatek,mt8173-uart", 312b3a37248SEddie Huang "mediatek,mt6577-uart"; 313b3a37248SEddie Huang reg = <0 0x11004000 0 0x400>; 314b3a37248SEddie Huang interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>; 3150e84faa1SSascha Hauer clocks = <&pericfg CLK_PERI_UART2_SEL>, <&pericfg CLK_PERI_UART2>; 3160e84faa1SSascha Hauer clock-names = "baud", "bus"; 317b3a37248SEddie Huang status = "disabled"; 318b3a37248SEddie Huang }; 319b3a37248SEddie Huang 320b3a37248SEddie Huang uart3: serial@11005000 { 321b3a37248SEddie Huang compatible = "mediatek,mt8173-uart", 322b3a37248SEddie Huang "mediatek,mt6577-uart"; 323b3a37248SEddie Huang reg = <0 0x11005000 0 0x400>; 324b3a37248SEddie Huang interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>; 3250e84faa1SSascha Hauer clocks = <&pericfg CLK_PERI_UART3_SEL>, <&pericfg CLK_PERI_UART3>; 3260e84faa1SSascha Hauer clock-names = "baud", "bus"; 327b3a37248SEddie Huang status = "disabled"; 328b3a37248SEddie Huang }; 329091cf598SEddie Huang 330091cf598SEddie Huang i2c0: i2c@11007000 { 331091cf598SEddie Huang compatible = "mediatek,mt8173-i2c"; 332091cf598SEddie Huang reg = <0 0x11007000 0 0x70>, 333091cf598SEddie Huang <0 0x11000100 0 0x80>; 334091cf598SEddie Huang interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_LOW>; 335091cf598SEddie Huang clock-div = <16>; 336091cf598SEddie Huang clocks = <&pericfg CLK_PERI_I2C0>, 337091cf598SEddie Huang <&pericfg CLK_PERI_AP_DMA>; 338091cf598SEddie Huang clock-names = "main", "dma"; 339091cf598SEddie Huang pinctrl-names = "default"; 340091cf598SEddie Huang pinctrl-0 = <&i2c0_pins_a>; 341091cf598SEddie Huang #address-cells = <1>; 342091cf598SEddie Huang #size-cells = <0>; 343091cf598SEddie Huang status = "disabled"; 344091cf598SEddie Huang }; 345091cf598SEddie Huang 346091cf598SEddie Huang i2c1: i2c@11008000 { 347091cf598SEddie Huang compatible = "mediatek,mt8173-i2c"; 348091cf598SEddie Huang reg = <0 0x11008000 0 0x70>, 349091cf598SEddie Huang <0 0x11000180 0 0x80>; 350091cf598SEddie Huang interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>; 351091cf598SEddie Huang clock-div = <16>; 352091cf598SEddie Huang clocks = <&pericfg CLK_PERI_I2C1>, 353091cf598SEddie Huang <&pericfg CLK_PERI_AP_DMA>; 354091cf598SEddie Huang clock-names = "main", "dma"; 355091cf598SEddie Huang pinctrl-names = "default"; 356091cf598SEddie Huang pinctrl-0 = <&i2c1_pins_a>; 357091cf598SEddie Huang #address-cells = <1>; 358091cf598SEddie Huang #size-cells = <0>; 359091cf598SEddie Huang status = "disabled"; 360091cf598SEddie Huang }; 361091cf598SEddie Huang 362091cf598SEddie Huang i2c2: i2c@11009000 { 363091cf598SEddie Huang compatible = "mediatek,mt8173-i2c"; 364091cf598SEddie Huang reg = <0 0x11009000 0 0x70>, 365091cf598SEddie Huang <0 0x11000200 0 0x80>; 366091cf598SEddie Huang interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>; 367091cf598SEddie Huang clock-div = <16>; 368091cf598SEddie Huang clocks = <&pericfg CLK_PERI_I2C2>, 369091cf598SEddie Huang <&pericfg CLK_PERI_AP_DMA>; 370091cf598SEddie Huang clock-names = "main", "dma"; 371091cf598SEddie Huang pinctrl-names = "default"; 372091cf598SEddie Huang pinctrl-0 = <&i2c2_pins_a>; 373091cf598SEddie Huang #address-cells = <1>; 374091cf598SEddie Huang #size-cells = <0>; 375091cf598SEddie Huang status = "disabled"; 376091cf598SEddie Huang }; 377091cf598SEddie Huang 378b0c936f5SLeilk Liu spi: spi@1100a000 { 379b0c936f5SLeilk Liu compatible = "mediatek,mt8173-spi"; 380b0c936f5SLeilk Liu #address-cells = <1>; 381b0c936f5SLeilk Liu #size-cells = <0>; 382b0c936f5SLeilk Liu reg = <0 0x1100a000 0 0x1000>; 383b0c936f5SLeilk Liu interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>; 384b0c936f5SLeilk Liu clocks = <&topckgen CLK_TOP_SYSPLL3_D2>, 385b0c936f5SLeilk Liu <&topckgen CLK_TOP_SPI_SEL>, 386b0c936f5SLeilk Liu <&pericfg CLK_PERI_SPI0>; 387b0c936f5SLeilk Liu clock-names = "parent-clk", "sel-clk", "spi-clk"; 388b0c936f5SLeilk Liu status = "disabled"; 389b0c936f5SLeilk Liu }; 390b0c936f5SLeilk Liu 3911ee35c05SYingjoe Chen i2c3: i2c@11010000 { 392091cf598SEddie Huang compatible = "mediatek,mt8173-i2c"; 393091cf598SEddie Huang reg = <0 0x11010000 0 0x70>, 394091cf598SEddie Huang <0 0x11000280 0 0x80>; 395091cf598SEddie Huang interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>; 396091cf598SEddie Huang clock-div = <16>; 397091cf598SEddie Huang clocks = <&pericfg CLK_PERI_I2C3>, 398091cf598SEddie Huang <&pericfg CLK_PERI_AP_DMA>; 399091cf598SEddie Huang clock-names = "main", "dma"; 400091cf598SEddie Huang pinctrl-names = "default"; 401091cf598SEddie Huang pinctrl-0 = <&i2c3_pins_a>; 402091cf598SEddie Huang #address-cells = <1>; 403091cf598SEddie Huang #size-cells = <0>; 404091cf598SEddie Huang status = "disabled"; 405091cf598SEddie Huang }; 406091cf598SEddie Huang 4071ee35c05SYingjoe Chen i2c4: i2c@11011000 { 408091cf598SEddie Huang compatible = "mediatek,mt8173-i2c"; 409091cf598SEddie Huang reg = <0 0x11011000 0 0x70>, 410091cf598SEddie Huang <0 0x11000300 0 0x80>; 411091cf598SEddie Huang interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>; 412091cf598SEddie Huang clock-div = <16>; 413091cf598SEddie Huang clocks = <&pericfg CLK_PERI_I2C4>, 414091cf598SEddie Huang <&pericfg CLK_PERI_AP_DMA>; 415091cf598SEddie Huang clock-names = "main", "dma"; 416091cf598SEddie Huang pinctrl-names = "default"; 417091cf598SEddie Huang pinctrl-0 = <&i2c4_pins_a>; 418091cf598SEddie Huang #address-cells = <1>; 419091cf598SEddie Huang #size-cells = <0>; 420091cf598SEddie Huang status = "disabled"; 421091cf598SEddie Huang }; 422091cf598SEddie Huang 4231ee35c05SYingjoe Chen i2c6: i2c@11013000 { 424091cf598SEddie Huang compatible = "mediatek,mt8173-i2c"; 425091cf598SEddie Huang reg = <0 0x11013000 0 0x70>, 426091cf598SEddie Huang <0 0x11000080 0 0x80>; 427091cf598SEddie Huang interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>; 428091cf598SEddie Huang clock-div = <16>; 429091cf598SEddie Huang clocks = <&pericfg CLK_PERI_I2C6>, 430091cf598SEddie Huang <&pericfg CLK_PERI_AP_DMA>; 431091cf598SEddie Huang clock-names = "main", "dma"; 432091cf598SEddie Huang pinctrl-names = "default"; 433091cf598SEddie Huang pinctrl-0 = <&i2c6_pins_a>; 434091cf598SEddie Huang #address-cells = <1>; 435091cf598SEddie Huang #size-cells = <0>; 436091cf598SEddie Huang status = "disabled"; 437091cf598SEddie Huang }; 438c02e0e86SKoro Chen 439c02e0e86SKoro Chen afe: audio-controller@11220000 { 440c02e0e86SKoro Chen compatible = "mediatek,mt8173-afe-pcm"; 441c02e0e86SKoro Chen reg = <0 0x11220000 0 0x1000>; 442c02e0e86SKoro Chen interrupts = <GIC_SPI 134 IRQ_TYPE_EDGE_FALLING>; 443c02e0e86SKoro Chen power-domains = <&scpsys MT8173_POWER_DOMAIN_AUDIO>; 444c02e0e86SKoro Chen clocks = <&infracfg CLK_INFRA_AUDIO>, 445c02e0e86SKoro Chen <&topckgen CLK_TOP_AUDIO_SEL>, 446c02e0e86SKoro Chen <&topckgen CLK_TOP_AUD_INTBUS_SEL>, 447c02e0e86SKoro Chen <&topckgen CLK_TOP_APLL1_DIV0>, 448c02e0e86SKoro Chen <&topckgen CLK_TOP_APLL2_DIV0>, 449c02e0e86SKoro Chen <&topckgen CLK_TOP_I2S0_M_SEL>, 450c02e0e86SKoro Chen <&topckgen CLK_TOP_I2S1_M_SEL>, 451c02e0e86SKoro Chen <&topckgen CLK_TOP_I2S2_M_SEL>, 452c02e0e86SKoro Chen <&topckgen CLK_TOP_I2S3_M_SEL>, 453c02e0e86SKoro Chen <&topckgen CLK_TOP_I2S3_B_SEL>; 454c02e0e86SKoro Chen clock-names = "infra_sys_audio_clk", 455c02e0e86SKoro Chen "top_pdn_audio", 456c02e0e86SKoro Chen "top_pdn_aud_intbus", 457c02e0e86SKoro Chen "bck0", 458c02e0e86SKoro Chen "bck1", 459c02e0e86SKoro Chen "i2s0_m", 460c02e0e86SKoro Chen "i2s1_m", 461c02e0e86SKoro Chen "i2s2_m", 462c02e0e86SKoro Chen "i2s3_m", 463c02e0e86SKoro Chen "i2s3_b"; 464c02e0e86SKoro Chen assigned-clocks = <&topckgen CLK_TOP_AUD_1_SEL>, 465c02e0e86SKoro Chen <&topckgen CLK_TOP_AUD_2_SEL>; 466c02e0e86SKoro Chen assigned-clock-parents = <&topckgen CLK_TOP_APLL1>, 467c02e0e86SKoro Chen <&topckgen CLK_TOP_APLL2>; 468c02e0e86SKoro Chen }; 4699719fa5aSEddie Huang 4709719fa5aSEddie Huang mmc0: mmc@11230000 { 4719719fa5aSEddie Huang compatible = "mediatek,mt8173-mmc", 4729719fa5aSEddie Huang "mediatek,mt8135-mmc"; 4739719fa5aSEddie Huang reg = <0 0x11230000 0 0x1000>; 4749719fa5aSEddie Huang interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_LOW>; 4759719fa5aSEddie Huang clocks = <&pericfg CLK_PERI_MSDC30_0>, 4769719fa5aSEddie Huang <&topckgen CLK_TOP_MSDC50_0_H_SEL>; 4779719fa5aSEddie Huang clock-names = "source", "hclk"; 4789719fa5aSEddie Huang status = "disabled"; 4799719fa5aSEddie Huang }; 4809719fa5aSEddie Huang 4819719fa5aSEddie Huang mmc1: mmc@11240000 { 4829719fa5aSEddie Huang compatible = "mediatek,mt8173-mmc", 4839719fa5aSEddie Huang "mediatek,mt8135-mmc"; 4849719fa5aSEddie Huang reg = <0 0x11240000 0 0x1000>; 4859719fa5aSEddie Huang interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>; 4869719fa5aSEddie Huang clocks = <&pericfg CLK_PERI_MSDC30_1>, 4879719fa5aSEddie Huang <&topckgen CLK_TOP_AXI_SEL>; 4889719fa5aSEddie Huang clock-names = "source", "hclk"; 4899719fa5aSEddie Huang status = "disabled"; 4909719fa5aSEddie Huang }; 4919719fa5aSEddie Huang 4929719fa5aSEddie Huang mmc2: mmc@11250000 { 4939719fa5aSEddie Huang compatible = "mediatek,mt8173-mmc", 4949719fa5aSEddie Huang "mediatek,mt8135-mmc"; 4959719fa5aSEddie Huang reg = <0 0x11250000 0 0x1000>; 4969719fa5aSEddie Huang interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_LOW>; 4979719fa5aSEddie Huang clocks = <&pericfg CLK_PERI_MSDC30_2>, 4989719fa5aSEddie Huang <&topckgen CLK_TOP_AXI_SEL>; 4999719fa5aSEddie Huang clock-names = "source", "hclk"; 5009719fa5aSEddie Huang status = "disabled"; 5019719fa5aSEddie Huang }; 5029719fa5aSEddie Huang 5039719fa5aSEddie Huang mmc3: mmc@11260000 { 5049719fa5aSEddie Huang compatible = "mediatek,mt8173-mmc", 5059719fa5aSEddie Huang "mediatek,mt8135-mmc"; 5069719fa5aSEddie Huang reg = <0 0x11260000 0 0x1000>; 5079719fa5aSEddie Huang interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_LOW>; 5089719fa5aSEddie Huang clocks = <&pericfg CLK_PERI_MSDC30_3>, 5099719fa5aSEddie Huang <&topckgen CLK_TOP_MSDC50_2_H_SEL>; 5109719fa5aSEddie Huang clock-names = "source", "hclk"; 5119719fa5aSEddie Huang status = "disabled"; 5129719fa5aSEddie Huang }; 51367e56c56SJames Liao 514bfcce47aSChunfeng Yun usb30: usb@11270000 { 515bfcce47aSChunfeng Yun compatible = "mediatek,mt8173-xhci"; 516bfcce47aSChunfeng Yun reg = <0 0x11270000 0 0x1000>, 517bfcce47aSChunfeng Yun <0 0x11280700 0 0x0100>; 518bfcce47aSChunfeng Yun interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>; 519bfcce47aSChunfeng Yun power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>; 520bfcce47aSChunfeng Yun clocks = <&topckgen CLK_TOP_USB30_SEL>, 521bfcce47aSChunfeng Yun <&pericfg CLK_PERI_USB0>, 522bfcce47aSChunfeng Yun <&pericfg CLK_PERI_USB1>; 523bfcce47aSChunfeng Yun clock-names = "sys_ck", 524bfcce47aSChunfeng Yun "wakeup_deb_p0", 525bfcce47aSChunfeng Yun "wakeup_deb_p1"; 526bfcce47aSChunfeng Yun phys = <&phy_port0 PHY_TYPE_USB3>, 527bfcce47aSChunfeng Yun <&phy_port1 PHY_TYPE_USB2>; 528bfcce47aSChunfeng Yun mediatek,syscon-wakeup = <&pericfg>; 529bfcce47aSChunfeng Yun status = "okay"; 530bfcce47aSChunfeng Yun }; 531bfcce47aSChunfeng Yun 532bfcce47aSChunfeng Yun u3phy: usb-phy@11290000 { 533bfcce47aSChunfeng Yun compatible = "mediatek,mt8173-u3phy"; 534bfcce47aSChunfeng Yun reg = <0 0x11290000 0 0x800>; 535bfcce47aSChunfeng Yun clocks = <&apmixedsys CLK_APMIXED_REF2USB_TX>; 536bfcce47aSChunfeng Yun clock-names = "u3phya_ref"; 537bfcce47aSChunfeng Yun #address-cells = <2>; 538bfcce47aSChunfeng Yun #size-cells = <2>; 539bfcce47aSChunfeng Yun ranges; 540bfcce47aSChunfeng Yun status = "okay"; 541bfcce47aSChunfeng Yun 542bfcce47aSChunfeng Yun phy_port0: port@11290800 { 543bfcce47aSChunfeng Yun reg = <0 0x11290800 0 0x800>; 544bfcce47aSChunfeng Yun #phy-cells = <1>; 545bfcce47aSChunfeng Yun status = "okay"; 546bfcce47aSChunfeng Yun }; 547bfcce47aSChunfeng Yun 548bfcce47aSChunfeng Yun phy_port1: port@11291000 { 549bfcce47aSChunfeng Yun reg = <0 0x11291000 0 0x800>; 550bfcce47aSChunfeng Yun #phy-cells = <1>; 551bfcce47aSChunfeng Yun status = "okay"; 552bfcce47aSChunfeng Yun }; 553bfcce47aSChunfeng Yun }; 554bfcce47aSChunfeng Yun 55567e56c56SJames Liao mmsys: clock-controller@14000000 { 55667e56c56SJames Liao compatible = "mediatek,mt8173-mmsys", "syscon"; 55767e56c56SJames Liao reg = <0 0x14000000 0 0x1000>; 55867e56c56SJames Liao #clock-cells = <1>; 55967e56c56SJames Liao }; 56067e56c56SJames Liao 56167e56c56SJames Liao imgsys: clock-controller@15000000 { 56267e56c56SJames Liao compatible = "mediatek,mt8173-imgsys", "syscon"; 56367e56c56SJames Liao reg = <0 0x15000000 0 0x1000>; 56467e56c56SJames Liao #clock-cells = <1>; 56567e56c56SJames Liao }; 56667e56c56SJames Liao 56767e56c56SJames Liao vdecsys: clock-controller@16000000 { 56867e56c56SJames Liao compatible = "mediatek,mt8173-vdecsys", "syscon"; 56967e56c56SJames Liao reg = <0 0x16000000 0 0x1000>; 57067e56c56SJames Liao #clock-cells = <1>; 57167e56c56SJames Liao }; 57267e56c56SJames Liao 57367e56c56SJames Liao vencsys: clock-controller@18000000 { 57467e56c56SJames Liao compatible = "mediatek,mt8173-vencsys", "syscon"; 57567e56c56SJames Liao reg = <0 0x18000000 0 0x1000>; 57667e56c56SJames Liao #clock-cells = <1>; 57767e56c56SJames Liao }; 57867e56c56SJames Liao 57967e56c56SJames Liao vencltsys: clock-controller@19000000 { 58067e56c56SJames Liao compatible = "mediatek,mt8173-vencltsys", "syscon"; 58167e56c56SJames Liao reg = <0 0x19000000 0 0x1000>; 58267e56c56SJames Liao #clock-cells = <1>; 58367e56c56SJames Liao }; 584b3a37248SEddie Huang }; 585b3a37248SEddie Huang}; 586b3a37248SEddie Huang 587