137f25828STinghan Shen// SPDX-License-Identifier: (GPL-2.0 OR MIT) 237f25828STinghan Shen/* 337f25828STinghan Shen * Copyright (c) 2021 MediaTek Inc. 437f25828STinghan Shen * Author: Seiya Wang <seiya.wang@mediatek.com> 537f25828STinghan Shen */ 637f25828STinghan Shen 737f25828STinghan Shen/dts-v1/; 837f25828STinghan Shen#include <dt-bindings/clock/mt8195-clk.h> 937f25828STinghan Shen#include <dt-bindings/interrupt-controller/arm-gic.h> 1037f25828STinghan Shen#include <dt-bindings/interrupt-controller/irq.h> 1137f25828STinghan Shen#include <dt-bindings/phy/phy.h> 1237f25828STinghan Shen#include <dt-bindings/pinctrl/mt8195-pinfunc.h> 1337f25828STinghan Shen 1437f25828STinghan Shen/ { 1537f25828STinghan Shen compatible = "mediatek,mt8195"; 1637f25828STinghan Shen interrupt-parent = <&gic>; 1737f25828STinghan Shen #address-cells = <2>; 1837f25828STinghan Shen #size-cells = <2>; 1937f25828STinghan Shen 2037f25828STinghan Shen cpus { 2137f25828STinghan Shen #address-cells = <1>; 2237f25828STinghan Shen #size-cells = <0>; 2337f25828STinghan Shen 2437f25828STinghan Shen cpu0: cpu@0 { 2537f25828STinghan Shen device_type = "cpu"; 2637f25828STinghan Shen compatible = "arm,cortex-a55"; 2737f25828STinghan Shen reg = <0x000>; 2837f25828STinghan Shen enable-method = "psci"; 2937f25828STinghan Shen clock-frequency = <1701000000>; 3037f25828STinghan Shen capacity-dmips-mhz = <578>; 3137f25828STinghan Shen cpu-idle-states = <&cpu_off_l &cluster_off_l>; 3237f25828STinghan Shen next-level-cache = <&l2_0>; 3337f25828STinghan Shen #cooling-cells = <2>; 3437f25828STinghan Shen }; 3537f25828STinghan Shen 3637f25828STinghan Shen cpu1: cpu@100 { 3737f25828STinghan Shen device_type = "cpu"; 3837f25828STinghan Shen compatible = "arm,cortex-a55"; 3937f25828STinghan Shen reg = <0x100>; 4037f25828STinghan Shen enable-method = "psci"; 4137f25828STinghan Shen clock-frequency = <1701000000>; 4237f25828STinghan Shen capacity-dmips-mhz = <578>; 4337f25828STinghan Shen cpu-idle-states = <&cpu_off_l &cluster_off_l>; 4437f25828STinghan Shen next-level-cache = <&l2_0>; 4537f25828STinghan Shen #cooling-cells = <2>; 4637f25828STinghan Shen }; 4737f25828STinghan Shen 4837f25828STinghan Shen cpu2: cpu@200 { 4937f25828STinghan Shen device_type = "cpu"; 5037f25828STinghan Shen compatible = "arm,cortex-a55"; 5137f25828STinghan Shen reg = <0x200>; 5237f25828STinghan Shen enable-method = "psci"; 5337f25828STinghan Shen clock-frequency = <1701000000>; 5437f25828STinghan Shen capacity-dmips-mhz = <578>; 5537f25828STinghan Shen cpu-idle-states = <&cpu_off_l &cluster_off_l>; 5637f25828STinghan Shen next-level-cache = <&l2_0>; 5737f25828STinghan Shen #cooling-cells = <2>; 5837f25828STinghan Shen }; 5937f25828STinghan Shen 6037f25828STinghan Shen cpu3: cpu@300 { 6137f25828STinghan Shen device_type = "cpu"; 6237f25828STinghan Shen compatible = "arm,cortex-a55"; 6337f25828STinghan Shen reg = <0x300>; 6437f25828STinghan Shen enable-method = "psci"; 6537f25828STinghan Shen clock-frequency = <1701000000>; 6637f25828STinghan Shen capacity-dmips-mhz = <578>; 6737f25828STinghan Shen cpu-idle-states = <&cpu_off_l &cluster_off_l>; 6837f25828STinghan Shen next-level-cache = <&l2_0>; 6937f25828STinghan Shen #cooling-cells = <2>; 7037f25828STinghan Shen }; 7137f25828STinghan Shen 7237f25828STinghan Shen cpu4: cpu@400 { 7337f25828STinghan Shen device_type = "cpu"; 7437f25828STinghan Shen compatible = "arm,cortex-a78"; 7537f25828STinghan Shen reg = <0x400>; 7637f25828STinghan Shen enable-method = "psci"; 7737f25828STinghan Shen clock-frequency = <2171000000>; 7837f25828STinghan Shen capacity-dmips-mhz = <1024>; 7937f25828STinghan Shen cpu-idle-states = <&cpu_off_b &cluster_off_b>; 8037f25828STinghan Shen next-level-cache = <&l2_1>; 8137f25828STinghan Shen #cooling-cells = <2>; 8237f25828STinghan Shen }; 8337f25828STinghan Shen 8437f25828STinghan Shen cpu5: cpu@500 { 8537f25828STinghan Shen device_type = "cpu"; 8637f25828STinghan Shen compatible = "arm,cortex-a78"; 8737f25828STinghan Shen reg = <0x500>; 8837f25828STinghan Shen enable-method = "psci"; 8937f25828STinghan Shen clock-frequency = <2171000000>; 9037f25828STinghan Shen capacity-dmips-mhz = <1024>; 9137f25828STinghan Shen cpu-idle-states = <&cpu_off_b &cluster_off_b>; 9237f25828STinghan Shen next-level-cache = <&l2_1>; 9337f25828STinghan Shen #cooling-cells = <2>; 9437f25828STinghan Shen }; 9537f25828STinghan Shen 9637f25828STinghan Shen cpu6: cpu@600 { 9737f25828STinghan Shen device_type = "cpu"; 9837f25828STinghan Shen compatible = "arm,cortex-a78"; 9937f25828STinghan Shen reg = <0x600>; 10037f25828STinghan Shen enable-method = "psci"; 10137f25828STinghan Shen clock-frequency = <2171000000>; 10237f25828STinghan Shen capacity-dmips-mhz = <1024>; 10337f25828STinghan Shen cpu-idle-states = <&cpu_off_b &cluster_off_b>; 10437f25828STinghan Shen next-level-cache = <&l2_1>; 10537f25828STinghan Shen #cooling-cells = <2>; 10637f25828STinghan Shen }; 10737f25828STinghan Shen 10837f25828STinghan Shen cpu7: cpu@700 { 10937f25828STinghan Shen device_type = "cpu"; 11037f25828STinghan Shen compatible = "arm,cortex-a78"; 11137f25828STinghan Shen reg = <0x700>; 11237f25828STinghan Shen enable-method = "psci"; 11337f25828STinghan Shen clock-frequency = <2171000000>; 11437f25828STinghan Shen capacity-dmips-mhz = <1024>; 11537f25828STinghan Shen cpu-idle-states = <&cpu_off_b &cluster_off_b>; 11637f25828STinghan Shen next-level-cache = <&l2_1>; 11737f25828STinghan Shen #cooling-cells = <2>; 11837f25828STinghan Shen }; 11937f25828STinghan Shen 12037f25828STinghan Shen cpu-map { 12137f25828STinghan Shen cluster0 { 12237f25828STinghan Shen core0 { 12337f25828STinghan Shen cpu = <&cpu0>; 12437f25828STinghan Shen }; 12537f25828STinghan Shen 12637f25828STinghan Shen core1 { 12737f25828STinghan Shen cpu = <&cpu1>; 12837f25828STinghan Shen }; 12937f25828STinghan Shen 13037f25828STinghan Shen core2 { 13137f25828STinghan Shen cpu = <&cpu2>; 13237f25828STinghan Shen }; 13337f25828STinghan Shen 13437f25828STinghan Shen core3 { 13537f25828STinghan Shen cpu = <&cpu3>; 13637f25828STinghan Shen }; 13737f25828STinghan Shen }; 13837f25828STinghan Shen 13937f25828STinghan Shen cluster1 { 14037f25828STinghan Shen core0 { 14137f25828STinghan Shen cpu = <&cpu4>; 14237f25828STinghan Shen }; 14337f25828STinghan Shen 14437f25828STinghan Shen core1 { 14537f25828STinghan Shen cpu = <&cpu5>; 14637f25828STinghan Shen }; 14737f25828STinghan Shen 14837f25828STinghan Shen core2 { 14937f25828STinghan Shen cpu = <&cpu6>; 15037f25828STinghan Shen }; 15137f25828STinghan Shen 15237f25828STinghan Shen core3 { 15337f25828STinghan Shen cpu = <&cpu7>; 15437f25828STinghan Shen }; 15537f25828STinghan Shen }; 15637f25828STinghan Shen }; 15737f25828STinghan Shen 15837f25828STinghan Shen idle-states { 15937f25828STinghan Shen entry-method = "psci"; 16037f25828STinghan Shen 16137f25828STinghan Shen cpu_off_l: cpu-off-l { 16237f25828STinghan Shen compatible = "arm,idle-state"; 16337f25828STinghan Shen arm,psci-suspend-param = <0x00010001>; 16437f25828STinghan Shen local-timer-stop; 16537f25828STinghan Shen entry-latency-us = <50>; 16637f25828STinghan Shen exit-latency-us = <95>; 16737f25828STinghan Shen min-residency-us = <580>; 16837f25828STinghan Shen }; 16937f25828STinghan Shen 17037f25828STinghan Shen cpu_off_b: cpu-off-b { 17137f25828STinghan Shen compatible = "arm,idle-state"; 17237f25828STinghan Shen arm,psci-suspend-param = <0x00010001>; 17337f25828STinghan Shen local-timer-stop; 17437f25828STinghan Shen entry-latency-us = <45>; 17537f25828STinghan Shen exit-latency-us = <140>; 17637f25828STinghan Shen min-residency-us = <740>; 17737f25828STinghan Shen }; 17837f25828STinghan Shen 17937f25828STinghan Shen cluster_off_l: cluster-off-l { 18037f25828STinghan Shen compatible = "arm,idle-state"; 18137f25828STinghan Shen arm,psci-suspend-param = <0x01010002>; 18237f25828STinghan Shen local-timer-stop; 18337f25828STinghan Shen entry-latency-us = <55>; 18437f25828STinghan Shen exit-latency-us = <155>; 18537f25828STinghan Shen min-residency-us = <840>; 18637f25828STinghan Shen }; 18737f25828STinghan Shen 18837f25828STinghan Shen cluster_off_b: cluster-off-b { 18937f25828STinghan Shen compatible = "arm,idle-state"; 19037f25828STinghan Shen arm,psci-suspend-param = <0x01010002>; 19137f25828STinghan Shen local-timer-stop; 19237f25828STinghan Shen entry-latency-us = <50>; 19337f25828STinghan Shen exit-latency-us = <200>; 19437f25828STinghan Shen min-residency-us = <1000>; 19537f25828STinghan Shen }; 19637f25828STinghan Shen }; 19737f25828STinghan Shen 19837f25828STinghan Shen l2_0: l2-cache0 { 19937f25828STinghan Shen compatible = "cache"; 20037f25828STinghan Shen next-level-cache = <&l3_0>; 20137f25828STinghan Shen }; 20237f25828STinghan Shen 20337f25828STinghan Shen l2_1: l2-cache1 { 20437f25828STinghan Shen compatible = "cache"; 20537f25828STinghan Shen next-level-cache = <&l3_0>; 20637f25828STinghan Shen }; 20737f25828STinghan Shen 20837f25828STinghan Shen l3_0: l3-cache { 20937f25828STinghan Shen compatible = "cache"; 21037f25828STinghan Shen }; 21137f25828STinghan Shen }; 21237f25828STinghan Shen 21337f25828STinghan Shen dsu-pmu { 21437f25828STinghan Shen compatible = "arm,dsu-pmu"; 21537f25828STinghan Shen interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>; 21637f25828STinghan Shen cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>, 21737f25828STinghan Shen <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>; 21837f25828STinghan Shen }; 21937f25828STinghan Shen 22037f25828STinghan Shen clk26m: oscillator-26m { 22137f25828STinghan Shen compatible = "fixed-clock"; 22237f25828STinghan Shen #clock-cells = <0>; 22337f25828STinghan Shen clock-frequency = <26000000>; 22437f25828STinghan Shen clock-output-names = "clk26m"; 22537f25828STinghan Shen }; 22637f25828STinghan Shen 22737f25828STinghan Shen clk32k: oscillator-32k { 22837f25828STinghan Shen compatible = "fixed-clock"; 22937f25828STinghan Shen #clock-cells = <0>; 23037f25828STinghan Shen clock-frequency = <32768>; 23137f25828STinghan Shen clock-output-names = "clk32k"; 23237f25828STinghan Shen }; 23337f25828STinghan Shen 23437f25828STinghan Shen pmu-a55 { 23537f25828STinghan Shen compatible = "arm,cortex-a55-pmu"; 23637f25828STinghan Shen interrupt-parent = <&gic>; 23737f25828STinghan Shen interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>; 23837f25828STinghan Shen }; 23937f25828STinghan Shen 24037f25828STinghan Shen pmu-a78 { 24137f25828STinghan Shen compatible = "arm,cortex-a78-pmu"; 24237f25828STinghan Shen interrupt-parent = <&gic>; 24337f25828STinghan Shen interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>; 24437f25828STinghan Shen }; 24537f25828STinghan Shen 24637f25828STinghan Shen psci { 24737f25828STinghan Shen compatible = "arm,psci-1.0"; 24837f25828STinghan Shen method = "smc"; 24937f25828STinghan Shen }; 25037f25828STinghan Shen 25137f25828STinghan Shen timer: timer { 25237f25828STinghan Shen compatible = "arm,armv8-timer"; 25337f25828STinghan Shen interrupt-parent = <&gic>; 25437f25828STinghan Shen interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>, 25537f25828STinghan Shen <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>, 25637f25828STinghan Shen <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>, 25737f25828STinghan Shen <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>; 25837f25828STinghan Shen }; 25937f25828STinghan Shen 26037f25828STinghan Shen soc { 26137f25828STinghan Shen #address-cells = <2>; 26237f25828STinghan Shen #size-cells = <2>; 26337f25828STinghan Shen compatible = "simple-bus"; 26437f25828STinghan Shen ranges; 26537f25828STinghan Shen 26637f25828STinghan Shen gic: interrupt-controller@c000000 { 26737f25828STinghan Shen compatible = "arm,gic-v3"; 26837f25828STinghan Shen #interrupt-cells = <4>; 26937f25828STinghan Shen #redistributor-regions = <1>; 27037f25828STinghan Shen interrupt-parent = <&gic>; 27137f25828STinghan Shen interrupt-controller; 27237f25828STinghan Shen reg = <0 0x0c000000 0 0x40000>, 27337f25828STinghan Shen <0 0x0c040000 0 0x200000>; 27437f25828STinghan Shen interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 27537f25828STinghan Shen 27637f25828STinghan Shen ppi-partitions { 27737f25828STinghan Shen ppi_cluster0: interrupt-partition-0 { 27837f25828STinghan Shen affinity = <&cpu0 &cpu1 &cpu2 &cpu3>; 27937f25828STinghan Shen }; 28037f25828STinghan Shen 28137f25828STinghan Shen ppi_cluster1: interrupt-partition-1 { 28237f25828STinghan Shen affinity = <&cpu4 &cpu5 &cpu6 &cpu7>; 28337f25828STinghan Shen }; 28437f25828STinghan Shen }; 28537f25828STinghan Shen }; 28637f25828STinghan Shen 28737f25828STinghan Shen topckgen: syscon@10000000 { 28837f25828STinghan Shen compatible = "mediatek,mt8195-topckgen", "syscon"; 28937f25828STinghan Shen reg = <0 0x10000000 0 0x1000>; 29037f25828STinghan Shen #clock-cells = <1>; 29137f25828STinghan Shen }; 29237f25828STinghan Shen 29337f25828STinghan Shen infracfg_ao: syscon@10001000 { 29437f25828STinghan Shen compatible = "mediatek,mt8195-infracfg_ao", "syscon", "simple-mfd"; 29537f25828STinghan Shen reg = <0 0x10001000 0 0x1000>; 29637f25828STinghan Shen #clock-cells = <1>; 29737f25828STinghan Shen #reset-cells = <1>; 29837f25828STinghan Shen }; 29937f25828STinghan Shen 30037f25828STinghan Shen pericfg: syscon@10003000 { 30137f25828STinghan Shen compatible = "mediatek,mt8195-pericfg", "syscon"; 30237f25828STinghan Shen reg = <0 0x10003000 0 0x1000>; 30337f25828STinghan Shen #clock-cells = <1>; 30437f25828STinghan Shen }; 30537f25828STinghan Shen 30637f25828STinghan Shen pio: pinctrl@10005000 { 30737f25828STinghan Shen compatible = "mediatek,mt8195-pinctrl"; 30837f25828STinghan Shen reg = <0 0x10005000 0 0x1000>, 30937f25828STinghan Shen <0 0x11d10000 0 0x1000>, 31037f25828STinghan Shen <0 0x11d30000 0 0x1000>, 31137f25828STinghan Shen <0 0x11d40000 0 0x1000>, 31237f25828STinghan Shen <0 0x11e20000 0 0x1000>, 31337f25828STinghan Shen <0 0x11eb0000 0 0x1000>, 31437f25828STinghan Shen <0 0x11f40000 0 0x1000>, 31537f25828STinghan Shen <0 0x1000b000 0 0x1000>; 31637f25828STinghan Shen reg-names = "iocfg0", "iocfg_bm", "iocfg_bl", 31737f25828STinghan Shen "iocfg_br", "iocfg_lm", "iocfg_rb", 31837f25828STinghan Shen "iocfg_tl", "eint"; 31937f25828STinghan Shen gpio-controller; 32037f25828STinghan Shen #gpio-cells = <2>; 32137f25828STinghan Shen gpio-ranges = <&pio 0 0 144>; 32237f25828STinghan Shen interrupt-controller; 32337f25828STinghan Shen interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH 0>; 32437f25828STinghan Shen #interrupt-cells = <2>; 32537f25828STinghan Shen }; 32637f25828STinghan Shen 32737f25828STinghan Shen watchdog: watchdog@10007000 { 32837f25828STinghan Shen compatible = "mediatek,mt8195-wdt", 32937f25828STinghan Shen "mediatek,mt6589-wdt"; 330a376a9a6STinghan Shen mediatek,disable-extrst; 33137f25828STinghan Shen reg = <0 0x10007000 0 0x100>; 33237f25828STinghan Shen }; 33337f25828STinghan Shen 33437f25828STinghan Shen apmixedsys: syscon@1000c000 { 33537f25828STinghan Shen compatible = "mediatek,mt8195-apmixedsys", "syscon"; 33637f25828STinghan Shen reg = <0 0x1000c000 0 0x1000>; 33737f25828STinghan Shen #clock-cells = <1>; 33837f25828STinghan Shen }; 33937f25828STinghan Shen 34037f25828STinghan Shen systimer: timer@10017000 { 34137f25828STinghan Shen compatible = "mediatek,mt8195-timer", 34237f25828STinghan Shen "mediatek,mt6765-timer"; 34337f25828STinghan Shen reg = <0 0x10017000 0 0x1000>; 34437f25828STinghan Shen interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH 0>; 34537f25828STinghan Shen clocks = <&topckgen CLK_TOP_CLK26M_D2>; 34637f25828STinghan Shen }; 34737f25828STinghan Shen 34837f25828STinghan Shen pwrap: pwrap@10024000 { 34937f25828STinghan Shen compatible = "mediatek,mt8195-pwrap", "syscon"; 35037f25828STinghan Shen reg = <0 0x10024000 0 0x1000>; 35137f25828STinghan Shen reg-names = "pwrap"; 35237f25828STinghan Shen interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH 0>; 35337f25828STinghan Shen clocks = <&infracfg_ao CLK_INFRA_AO_PMIC_AP>, 35437f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_PMIC_TMR>; 35537f25828STinghan Shen clock-names = "spi", "wrap"; 35637f25828STinghan Shen assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC>; 35737f25828STinghan Shen assigned-clock-parents = <&topckgen CLK_TOP_ULPOSC1_D10>; 35837f25828STinghan Shen }; 35937f25828STinghan Shen 36037f25828STinghan Shen scp_adsp: clock-controller@10720000 { 36137f25828STinghan Shen compatible = "mediatek,mt8195-scp_adsp"; 36237f25828STinghan Shen reg = <0 0x10720000 0 0x1000>; 36337f25828STinghan Shen #clock-cells = <1>; 36437f25828STinghan Shen }; 36537f25828STinghan Shen 36637f25828STinghan Shen uart0: serial@11001100 { 36737f25828STinghan Shen compatible = "mediatek,mt8195-uart", 36837f25828STinghan Shen "mediatek,mt6577-uart"; 36937f25828STinghan Shen reg = <0 0x11001100 0 0x100>; 37037f25828STinghan Shen interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH 0>; 37137f25828STinghan Shen clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART0>; 37237f25828STinghan Shen clock-names = "baud", "bus"; 37337f25828STinghan Shen status = "disabled"; 37437f25828STinghan Shen }; 37537f25828STinghan Shen 37637f25828STinghan Shen uart1: serial@11001200 { 37737f25828STinghan Shen compatible = "mediatek,mt8195-uart", 37837f25828STinghan Shen "mediatek,mt6577-uart"; 37937f25828STinghan Shen reg = <0 0x11001200 0 0x100>; 38037f25828STinghan Shen interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH 0>; 38137f25828STinghan Shen clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART1>; 38237f25828STinghan Shen clock-names = "baud", "bus"; 38337f25828STinghan Shen status = "disabled"; 38437f25828STinghan Shen }; 38537f25828STinghan Shen 38637f25828STinghan Shen uart2: serial@11001300 { 38737f25828STinghan Shen compatible = "mediatek,mt8195-uart", 38837f25828STinghan Shen "mediatek,mt6577-uart"; 38937f25828STinghan Shen reg = <0 0x11001300 0 0x100>; 39037f25828STinghan Shen interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>; 39137f25828STinghan Shen clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART2>; 39237f25828STinghan Shen clock-names = "baud", "bus"; 39337f25828STinghan Shen status = "disabled"; 39437f25828STinghan Shen }; 39537f25828STinghan Shen 39637f25828STinghan Shen uart3: serial@11001400 { 39737f25828STinghan Shen compatible = "mediatek,mt8195-uart", 39837f25828STinghan Shen "mediatek,mt6577-uart"; 39937f25828STinghan Shen reg = <0 0x11001400 0 0x100>; 40037f25828STinghan Shen interrupts = <GIC_SPI 723 IRQ_TYPE_LEVEL_HIGH 0>; 40137f25828STinghan Shen clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART3>; 40237f25828STinghan Shen clock-names = "baud", "bus"; 40337f25828STinghan Shen status = "disabled"; 40437f25828STinghan Shen }; 40537f25828STinghan Shen 40637f25828STinghan Shen uart4: serial@11001500 { 40737f25828STinghan Shen compatible = "mediatek,mt8195-uart", 40837f25828STinghan Shen "mediatek,mt6577-uart"; 40937f25828STinghan Shen reg = <0 0x11001500 0 0x100>; 41037f25828STinghan Shen interrupts = <GIC_SPI 724 IRQ_TYPE_LEVEL_HIGH 0>; 41137f25828STinghan Shen clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART4>; 41237f25828STinghan Shen clock-names = "baud", "bus"; 41337f25828STinghan Shen status = "disabled"; 41437f25828STinghan Shen }; 41537f25828STinghan Shen 41637f25828STinghan Shen uart5: serial@11001600 { 41737f25828STinghan Shen compatible = "mediatek,mt8195-uart", 41837f25828STinghan Shen "mediatek,mt6577-uart"; 41937f25828STinghan Shen reg = <0 0x11001600 0 0x100>; 42037f25828STinghan Shen interrupts = <GIC_SPI 725 IRQ_TYPE_LEVEL_HIGH 0>; 42137f25828STinghan Shen clocks = <&clk26m>, <&infracfg_ao CLK_INFRA_AO_UART5>; 42237f25828STinghan Shen clock-names = "baud", "bus"; 42337f25828STinghan Shen status = "disabled"; 42437f25828STinghan Shen }; 42537f25828STinghan Shen 42637f25828STinghan Shen auxadc: auxadc@11002000 { 42737f25828STinghan Shen compatible = "mediatek,mt8195-auxadc", 42837f25828STinghan Shen "mediatek,mt8173-auxadc"; 42937f25828STinghan Shen reg = <0 0x11002000 0 0x1000>; 43037f25828STinghan Shen clocks = <&infracfg_ao CLK_INFRA_AO_AUXADC>; 43137f25828STinghan Shen clock-names = "main"; 43237f25828STinghan Shen #io-channel-cells = <1>; 43337f25828STinghan Shen status = "disabled"; 43437f25828STinghan Shen }; 43537f25828STinghan Shen 43637f25828STinghan Shen pericfg_ao: syscon@11003000 { 43737f25828STinghan Shen compatible = "mediatek,mt8195-pericfg_ao", "syscon"; 43837f25828STinghan Shen reg = <0 0x11003000 0 0x1000>; 43937f25828STinghan Shen #clock-cells = <1>; 44037f25828STinghan Shen }; 44137f25828STinghan Shen 44237f25828STinghan Shen spi0: spi@1100a000 { 44337f25828STinghan Shen compatible = "mediatek,mt8195-spi", 44437f25828STinghan Shen "mediatek,mt6765-spi"; 44537f25828STinghan Shen #address-cells = <1>; 44637f25828STinghan Shen #size-cells = <0>; 44737f25828STinghan Shen reg = <0 0x1100a000 0 0x1000>; 44837f25828STinghan Shen interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH 0>; 44937f25828STinghan Shen clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 45037f25828STinghan Shen <&topckgen CLK_TOP_SPI>, 45137f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_SPI0>; 45237f25828STinghan Shen clock-names = "parent-clk", "sel-clk", "spi-clk"; 45337f25828STinghan Shen status = "disabled"; 45437f25828STinghan Shen }; 45537f25828STinghan Shen 45637f25828STinghan Shen spi1: spi@11010000 { 45737f25828STinghan Shen compatible = "mediatek,mt8195-spi", 45837f25828STinghan Shen "mediatek,mt6765-spi"; 45937f25828STinghan Shen #address-cells = <1>; 46037f25828STinghan Shen #size-cells = <0>; 46137f25828STinghan Shen reg = <0 0x11010000 0 0x1000>; 46237f25828STinghan Shen interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH 0>; 46337f25828STinghan Shen clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 46437f25828STinghan Shen <&topckgen CLK_TOP_SPI>, 46537f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_SPI1>; 46637f25828STinghan Shen clock-names = "parent-clk", "sel-clk", "spi-clk"; 46737f25828STinghan Shen status = "disabled"; 46837f25828STinghan Shen }; 46937f25828STinghan Shen 47037f25828STinghan Shen spi2: spi@11012000 { 47137f25828STinghan Shen compatible = "mediatek,mt8195-spi", 47237f25828STinghan Shen "mediatek,mt6765-spi"; 47337f25828STinghan Shen #address-cells = <1>; 47437f25828STinghan Shen #size-cells = <0>; 47537f25828STinghan Shen reg = <0 0x11012000 0 0x1000>; 47637f25828STinghan Shen interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH 0>; 47737f25828STinghan Shen clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 47837f25828STinghan Shen <&topckgen CLK_TOP_SPI>, 47937f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_SPI2>; 48037f25828STinghan Shen clock-names = "parent-clk", "sel-clk", "spi-clk"; 48137f25828STinghan Shen status = "disabled"; 48237f25828STinghan Shen }; 48337f25828STinghan Shen 48437f25828STinghan Shen spi3: spi@11013000 { 48537f25828STinghan Shen compatible = "mediatek,mt8195-spi", 48637f25828STinghan Shen "mediatek,mt6765-spi"; 48737f25828STinghan Shen #address-cells = <1>; 48837f25828STinghan Shen #size-cells = <0>; 48937f25828STinghan Shen reg = <0 0x11013000 0 0x1000>; 49037f25828STinghan Shen interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH 0>; 49137f25828STinghan Shen clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 49237f25828STinghan Shen <&topckgen CLK_TOP_SPI>, 49337f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_SPI3>; 49437f25828STinghan Shen clock-names = "parent-clk", "sel-clk", "spi-clk"; 49537f25828STinghan Shen status = "disabled"; 49637f25828STinghan Shen }; 49737f25828STinghan Shen 49837f25828STinghan Shen spi4: spi@11018000 { 49937f25828STinghan Shen compatible = "mediatek,mt8195-spi", 50037f25828STinghan Shen "mediatek,mt6765-spi"; 50137f25828STinghan Shen #address-cells = <1>; 50237f25828STinghan Shen #size-cells = <0>; 50337f25828STinghan Shen reg = <0 0x11018000 0 0x1000>; 50437f25828STinghan Shen interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH 0>; 50537f25828STinghan Shen clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 50637f25828STinghan Shen <&topckgen CLK_TOP_SPI>, 50737f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_SPI4>; 50837f25828STinghan Shen clock-names = "parent-clk", "sel-clk", "spi-clk"; 50937f25828STinghan Shen status = "disabled"; 51037f25828STinghan Shen }; 51137f25828STinghan Shen 51237f25828STinghan Shen spi5: spi@11019000 { 51337f25828STinghan Shen compatible = "mediatek,mt8195-spi", 51437f25828STinghan Shen "mediatek,mt6765-spi"; 51537f25828STinghan Shen #address-cells = <1>; 51637f25828STinghan Shen #size-cells = <0>; 51737f25828STinghan Shen reg = <0 0x11019000 0 0x1000>; 51837f25828STinghan Shen interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH 0>; 51937f25828STinghan Shen clocks = <&topckgen CLK_TOP_UNIVPLL_D6_D2>, 52037f25828STinghan Shen <&topckgen CLK_TOP_SPI>, 52137f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_SPI5>; 52237f25828STinghan Shen clock-names = "parent-clk", "sel-clk", "spi-clk"; 52337f25828STinghan Shen status = "disabled"; 52437f25828STinghan Shen }; 52537f25828STinghan Shen 52637f25828STinghan Shen spis0: spi@1101d000 { 52737f25828STinghan Shen compatible = "mediatek,mt8195-spi-slave"; 52837f25828STinghan Shen reg = <0 0x1101d000 0 0x1000>; 52937f25828STinghan Shen interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 0>; 53037f25828STinghan Shen clocks = <&infracfg_ao CLK_INFRA_AO_SPIS0>; 53137f25828STinghan Shen clock-names = "spi"; 53237f25828STinghan Shen assigned-clocks = <&topckgen CLK_TOP_SPIS>; 53337f25828STinghan Shen assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>; 53437f25828STinghan Shen status = "disabled"; 53537f25828STinghan Shen }; 53637f25828STinghan Shen 53737f25828STinghan Shen spis1: spi@1101e000 { 53837f25828STinghan Shen compatible = "mediatek,mt8195-spi-slave"; 53937f25828STinghan Shen reg = <0 0x1101e000 0 0x1000>; 54037f25828STinghan Shen interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH 0>; 54137f25828STinghan Shen clocks = <&infracfg_ao CLK_INFRA_AO_SPIS1>; 54237f25828STinghan Shen clock-names = "spi"; 54337f25828STinghan Shen assigned-clocks = <&topckgen CLK_TOP_SPIS>; 54437f25828STinghan Shen assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D6>; 54537f25828STinghan Shen status = "disabled"; 54637f25828STinghan Shen }; 54737f25828STinghan Shen 54837f25828STinghan Shen xhci0: usb@11200000 { 54937f25828STinghan Shen compatible = "mediatek,mt8195-xhci", 55037f25828STinghan Shen "mediatek,mtk-xhci"; 55137f25828STinghan Shen reg = <0 0x11200000 0 0x1000>, 55237f25828STinghan Shen <0 0x11203e00 0 0x0100>; 55337f25828STinghan Shen reg-names = "mac", "ippc"; 55437f25828STinghan Shen interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH 0>; 55537f25828STinghan Shen phys = <&u2port0 PHY_TYPE_USB2>, 55637f25828STinghan Shen <&u3port0 PHY_TYPE_USB3>; 55737f25828STinghan Shen assigned-clocks = <&topckgen CLK_TOP_USB_TOP>, 55837f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_XHCI>; 55937f25828STinghan Shen assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 56037f25828STinghan Shen <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 56137f25828STinghan Shen clocks = <&infracfg_ao CLK_INFRA_AO_SSUSB>, 56237f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_REF>, 56337f25828STinghan Shen <&apmixedsys CLK_APMIXED_USB1PLL>, 56437f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_SSUSB_XHCI>; 56537f25828STinghan Shen clock-names = "sys_ck", "ref_ck", "mcu_ck", "xhci_ck"; 56677d30613SChunfeng Yun mediatek,syscon-wakeup = <&pericfg 0x400 103>; 56777d30613SChunfeng Yun wakeup-source; 56837f25828STinghan Shen status = "disabled"; 56937f25828STinghan Shen }; 57037f25828STinghan Shen 57137f25828STinghan Shen mmc0: mmc@11230000 { 57237f25828STinghan Shen compatible = "mediatek,mt8195-mmc", 57337f25828STinghan Shen "mediatek,mt8183-mmc"; 57437f25828STinghan Shen reg = <0 0x11230000 0 0x10000>, 57537f25828STinghan Shen <0 0x11f50000 0 0x1000>; 57637f25828STinghan Shen interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH 0>; 57737f25828STinghan Shen clocks = <&topckgen CLK_TOP_MSDC50_0>, 57837f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_MSDC0>, 57937f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_MSDC0_SRC>; 58037f25828STinghan Shen clock-names = "source", "hclk", "source_cg"; 58137f25828STinghan Shen status = "disabled"; 58237f25828STinghan Shen }; 58337f25828STinghan Shen 58437f25828STinghan Shen mmc1: mmc@11240000 { 58537f25828STinghan Shen compatible = "mediatek,mt8195-mmc", 58637f25828STinghan Shen "mediatek,mt8183-mmc"; 58737f25828STinghan Shen reg = <0 0x11240000 0 0x1000>, 58837f25828STinghan Shen <0 0x11c70000 0 0x1000>; 58937f25828STinghan Shen interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH 0>; 59037f25828STinghan Shen clocks = <&topckgen CLK_TOP_MSDC30_1>, 59137f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_MSDC1>, 59237f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_MSDC1_SRC>; 59337f25828STinghan Shen clock-names = "source", "hclk", "source_cg"; 59437f25828STinghan Shen assigned-clocks = <&topckgen CLK_TOP_MSDC30_1>; 59537f25828STinghan Shen assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>; 59637f25828STinghan Shen status = "disabled"; 59737f25828STinghan Shen }; 59837f25828STinghan Shen 59937f25828STinghan Shen mmc2: mmc@11250000 { 60037f25828STinghan Shen compatible = "mediatek,mt8195-mmc", 60137f25828STinghan Shen "mediatek,mt8183-mmc"; 60237f25828STinghan Shen reg = <0 0x11250000 0 0x1000>, 60337f25828STinghan Shen <0 0x11e60000 0 0x1000>; 60437f25828STinghan Shen interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH 0>; 60537f25828STinghan Shen clocks = <&topckgen CLK_TOP_MSDC30_2>, 60637f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_CG1_MSDC2>, 60737f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_CG3_MSDC2>; 60837f25828STinghan Shen clock-names = "source", "hclk", "source_cg"; 60937f25828STinghan Shen assigned-clocks = <&topckgen CLK_TOP_MSDC30_2>; 61037f25828STinghan Shen assigned-clock-parents = <&topckgen CLK_TOP_MSDCPLL_D2>; 61137f25828STinghan Shen status = "disabled"; 61237f25828STinghan Shen }; 61337f25828STinghan Shen 61437f25828STinghan Shen xhci1: usb@11290000 { 61537f25828STinghan Shen compatible = "mediatek,mt8195-xhci", 61637f25828STinghan Shen "mediatek,mtk-xhci"; 61737f25828STinghan Shen reg = <0 0x11290000 0 0x1000>, 61837f25828STinghan Shen <0 0x11293e00 0 0x0100>; 61937f25828STinghan Shen reg-names = "mac", "ippc"; 62037f25828STinghan Shen interrupts = <GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH 0>; 62137f25828STinghan Shen phys = <&u2port1 PHY_TYPE_USB2>; 62237f25828STinghan Shen assigned-clocks = <&topckgen CLK_TOP_USB_TOP_1P>, 62337f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_XHCI_1P>; 62437f25828STinghan Shen assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 62537f25828STinghan Shen <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 62637f25828STinghan Shen clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_1P_BUS>, 62737f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_P1_REF>, 62837f25828STinghan Shen <&apmixedsys CLK_APMIXED_USB1PLL>, 62937f25828STinghan Shen <&pericfg_ao CLK_PERI_AO_SSUSB_1P_XHCI>; 63037f25828STinghan Shen clock-names = "sys_ck", "ref_ck", "mcu_ck","xhci_ck"; 63177d30613SChunfeng Yun mediatek,syscon-wakeup = <&pericfg 0x400 104>; 63277d30613SChunfeng Yun wakeup-source; 63337f25828STinghan Shen status = "disabled"; 63437f25828STinghan Shen }; 63537f25828STinghan Shen 63637f25828STinghan Shen xhci2: usb@112a0000 { 63737f25828STinghan Shen compatible = "mediatek,mt8195-xhci", 63837f25828STinghan Shen "mediatek,mtk-xhci"; 63937f25828STinghan Shen reg = <0 0x112a0000 0 0x1000>, 64037f25828STinghan Shen <0 0x112a3e00 0 0x0100>; 64137f25828STinghan Shen reg-names = "mac", "ippc"; 64237f25828STinghan Shen interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH 0>; 64337f25828STinghan Shen phys = <&u2port2 PHY_TYPE_USB2>; 64437f25828STinghan Shen assigned-clocks = <&topckgen CLK_TOP_USB_TOP_2P>, 64537f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_XHCI_2P>; 64637f25828STinghan Shen assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 64737f25828STinghan Shen <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 64837f25828STinghan Shen clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_2P_BUS>, 64937f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_P2_REF>, 65037f25828STinghan Shen <&pericfg_ao CLK_PERI_AO_SSUSB_2P_XHCI>; 65137f25828STinghan Shen clock-names = "sys_ck", "ref_ck", "xhci_ck"; 65277d30613SChunfeng Yun mediatek,syscon-wakeup = <&pericfg 0x400 105>; 65377d30613SChunfeng Yun wakeup-source; 65437f25828STinghan Shen status = "disabled"; 65537f25828STinghan Shen }; 65637f25828STinghan Shen 65737f25828STinghan Shen xhci3: usb@112b0000 { 65837f25828STinghan Shen compatible = "mediatek,mt8195-xhci", 65937f25828STinghan Shen "mediatek,mtk-xhci"; 66037f25828STinghan Shen reg = <0 0x112b0000 0 0x1000>, 66137f25828STinghan Shen <0 0x112b3e00 0 0x0100>; 66237f25828STinghan Shen reg-names = "mac", "ippc"; 66337f25828STinghan Shen interrupts = <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH 0>; 66437f25828STinghan Shen phys = <&u2port3 PHY_TYPE_USB2>; 66537f25828STinghan Shen assigned-clocks = <&topckgen CLK_TOP_USB_TOP_3P>, 66637f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_XHCI_3P>; 66737f25828STinghan Shen assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL_D5_D4>, 66837f25828STinghan Shen <&topckgen CLK_TOP_UNIVPLL_D5_D4>; 66937f25828STinghan Shen clocks = <&pericfg_ao CLK_PERI_AO_SSUSB_3P_BUS>, 67037f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_P3_REF>, 67137f25828STinghan Shen <&pericfg_ao CLK_PERI_AO_SSUSB_3P_XHCI>; 67237f25828STinghan Shen clock-names = "sys_ck", "ref_ck", "xhci_ck"; 67377d30613SChunfeng Yun mediatek,syscon-wakeup = <&pericfg 0x400 106>; 67477d30613SChunfeng Yun wakeup-source; 67537f25828STinghan Shen status = "disabled"; 67637f25828STinghan Shen }; 67737f25828STinghan Shen 67837f25828STinghan Shen nor_flash: spi@1132c000 { 67937f25828STinghan Shen compatible = "mediatek,mt8195-nor", 68037f25828STinghan Shen "mediatek,mt8173-nor"; 68137f25828STinghan Shen reg = <0 0x1132c000 0 0x1000>; 68237f25828STinghan Shen interrupts = <GIC_SPI 825 IRQ_TYPE_LEVEL_HIGH 0>; 68337f25828STinghan Shen clocks = <&topckgen CLK_TOP_SPINOR>, 68437f25828STinghan Shen <&pericfg_ao CLK_PERI_AO_FLASHIF_FLASH>, 68537f25828STinghan Shen <&pericfg_ao CLK_PERI_AO_FLASHIF_BUS>; 68637f25828STinghan Shen clock-names = "spi", "sf", "axi"; 68737f25828STinghan Shen #address-cells = <1>; 68837f25828STinghan Shen #size-cells = <0>; 68937f25828STinghan Shen status = "disabled"; 69037f25828STinghan Shen }; 69137f25828STinghan Shen 692ab43a84cSChunfeng Yun efuse: efuse@11c10000 { 693ab43a84cSChunfeng Yun compatible = "mediatek,mt8195-efuse", "mediatek,efuse"; 694ab43a84cSChunfeng Yun reg = <0 0x11c10000 0 0x1000>; 695ab43a84cSChunfeng Yun #address-cells = <1>; 696ab43a84cSChunfeng Yun #size-cells = <1>; 697ab43a84cSChunfeng Yun u3_tx_imp_p0: usb3-tx-imp@184,1 { 698ab43a84cSChunfeng Yun reg = <0x184 0x1>; 699ab43a84cSChunfeng Yun bits = <0 5>; 700ab43a84cSChunfeng Yun }; 701ab43a84cSChunfeng Yun u3_rx_imp_p0: usb3-rx-imp@184,2 { 702ab43a84cSChunfeng Yun reg = <0x184 0x2>; 703ab43a84cSChunfeng Yun bits = <5 5>; 704ab43a84cSChunfeng Yun }; 705ab43a84cSChunfeng Yun u3_intr_p0: usb3-intr@185 { 706ab43a84cSChunfeng Yun reg = <0x185 0x1>; 707ab43a84cSChunfeng Yun bits = <2 6>; 708ab43a84cSChunfeng Yun }; 709ab43a84cSChunfeng Yun comb_tx_imp_p1: usb3-tx-imp@186,1 { 710ab43a84cSChunfeng Yun reg = <0x186 0x1>; 711ab43a84cSChunfeng Yun bits = <0 5>; 712ab43a84cSChunfeng Yun }; 713ab43a84cSChunfeng Yun comb_rx_imp_p1: usb3-rx-imp@186,2 { 714ab43a84cSChunfeng Yun reg = <0x186 0x2>; 715ab43a84cSChunfeng Yun bits = <5 5>; 716ab43a84cSChunfeng Yun }; 717ab43a84cSChunfeng Yun comb_intr_p1: usb3-intr@187 { 718ab43a84cSChunfeng Yun reg = <0x187 0x1>; 719ab43a84cSChunfeng Yun bits = <2 6>; 720ab43a84cSChunfeng Yun }; 721ab43a84cSChunfeng Yun u2_intr_p0: usb2-intr-p0@188,1 { 722ab43a84cSChunfeng Yun reg = <0x188 0x1>; 723ab43a84cSChunfeng Yun bits = <0 5>; 724ab43a84cSChunfeng Yun }; 725ab43a84cSChunfeng Yun u2_intr_p1: usb2-intr-p1@188,2 { 726ab43a84cSChunfeng Yun reg = <0x188 0x2>; 727ab43a84cSChunfeng Yun bits = <5 5>; 728ab43a84cSChunfeng Yun }; 729ab43a84cSChunfeng Yun u2_intr_p2: usb2-intr-p2@189,1 { 730ab43a84cSChunfeng Yun reg = <0x189 0x1>; 731ab43a84cSChunfeng Yun bits = <2 5>; 732ab43a84cSChunfeng Yun }; 733ab43a84cSChunfeng Yun u2_intr_p3: usb2-intr-p3@189,2 { 734ab43a84cSChunfeng Yun reg = <0x189 0x2>; 735ab43a84cSChunfeng Yun bits = <7 5>; 736ab43a84cSChunfeng Yun }; 737ab43a84cSChunfeng Yun }; 738ab43a84cSChunfeng Yun 73937f25828STinghan Shen u3phy2: t-phy@11c40000 { 74037f25828STinghan Shen compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 74137f25828STinghan Shen #address-cells = <1>; 74237f25828STinghan Shen #size-cells = <1>; 74337f25828STinghan Shen ranges = <0 0 0x11c40000 0x700>; 74437f25828STinghan Shen status = "disabled"; 74537f25828STinghan Shen 74637f25828STinghan Shen u2port2: usb-phy@0 { 74737f25828STinghan Shen reg = <0x0 0x700>; 74837f25828STinghan Shen clocks = <&topckgen CLK_TOP_SSUSB_PHY_P2_REF>; 74937f25828STinghan Shen clock-names = "ref"; 75037f25828STinghan Shen #phy-cells = <1>; 75137f25828STinghan Shen }; 75237f25828STinghan Shen }; 75337f25828STinghan Shen 75437f25828STinghan Shen u3phy3: t-phy@11c50000 { 75537f25828STinghan Shen compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 75637f25828STinghan Shen #address-cells = <1>; 75737f25828STinghan Shen #size-cells = <1>; 75837f25828STinghan Shen ranges = <0 0 0x11c50000 0x700>; 75937f25828STinghan Shen status = "disabled"; 76037f25828STinghan Shen 76137f25828STinghan Shen u2port3: usb-phy@0 { 76237f25828STinghan Shen reg = <0x0 0x700>; 76337f25828STinghan Shen clocks = <&topckgen CLK_TOP_SSUSB_PHY_P3_REF>; 76437f25828STinghan Shen clock-names = "ref"; 76537f25828STinghan Shen #phy-cells = <1>; 76637f25828STinghan Shen }; 76737f25828STinghan Shen }; 76837f25828STinghan Shen 76937f25828STinghan Shen i2c5: i2c@11d00000 { 77037f25828STinghan Shen compatible = "mediatek,mt8195-i2c", 77137f25828STinghan Shen "mediatek,mt8192-i2c"; 77237f25828STinghan Shen reg = <0 0x11d00000 0 0x1000>, 77337f25828STinghan Shen <0 0x10220580 0 0x80>; 77437f25828STinghan Shen interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH 0>; 77537f25828STinghan Shen clock-div = <1>; 77637f25828STinghan Shen clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C5>, 77737f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 77837f25828STinghan Shen clock-names = "main", "dma"; 77937f25828STinghan Shen #address-cells = <1>; 78037f25828STinghan Shen #size-cells = <0>; 78137f25828STinghan Shen status = "disabled"; 78237f25828STinghan Shen }; 78337f25828STinghan Shen 78437f25828STinghan Shen i2c6: i2c@11d01000 { 78537f25828STinghan Shen compatible = "mediatek,mt8195-i2c", 78637f25828STinghan Shen "mediatek,mt8192-i2c"; 78737f25828STinghan Shen reg = <0 0x11d01000 0 0x1000>, 78837f25828STinghan Shen <0 0x10220600 0 0x80>; 78937f25828STinghan Shen interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH 0>; 79037f25828STinghan Shen clock-div = <1>; 79137f25828STinghan Shen clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C6>, 79237f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 79337f25828STinghan Shen clock-names = "main", "dma"; 79437f25828STinghan Shen #address-cells = <1>; 79537f25828STinghan Shen #size-cells = <0>; 79637f25828STinghan Shen status = "disabled"; 79737f25828STinghan Shen }; 79837f25828STinghan Shen 79937f25828STinghan Shen i2c7: i2c@11d02000 { 80037f25828STinghan Shen compatible = "mediatek,mt8195-i2c", 80137f25828STinghan Shen "mediatek,mt8192-i2c"; 80237f25828STinghan Shen reg = <0 0x11d02000 0 0x1000>, 80337f25828STinghan Shen <0 0x10220680 0 0x80>; 80437f25828STinghan Shen interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>; 80537f25828STinghan Shen clock-div = <1>; 80637f25828STinghan Shen clocks = <&imp_iic_wrap_s CLK_IMP_IIC_WRAP_S_I2C7>, 80737f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 80837f25828STinghan Shen clock-names = "main", "dma"; 80937f25828STinghan Shen #address-cells = <1>; 81037f25828STinghan Shen #size-cells = <0>; 81137f25828STinghan Shen status = "disabled"; 81237f25828STinghan Shen }; 81337f25828STinghan Shen 81437f25828STinghan Shen imp_iic_wrap_s: clock-controller@11d03000 { 81537f25828STinghan Shen compatible = "mediatek,mt8195-imp_iic_wrap_s"; 81637f25828STinghan Shen reg = <0 0x11d03000 0 0x1000>; 81737f25828STinghan Shen #clock-cells = <1>; 81837f25828STinghan Shen }; 81937f25828STinghan Shen 82037f25828STinghan Shen i2c0: i2c@11e00000 { 82137f25828STinghan Shen compatible = "mediatek,mt8195-i2c", 82237f25828STinghan Shen "mediatek,mt8192-i2c"; 82337f25828STinghan Shen reg = <0 0x11e00000 0 0x1000>, 82437f25828STinghan Shen <0 0x10220080 0 0x80>; 82537f25828STinghan Shen interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH 0>; 82637f25828STinghan Shen clock-div = <1>; 82737f25828STinghan Shen clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C0>, 82837f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 82937f25828STinghan Shen clock-names = "main", "dma"; 83037f25828STinghan Shen #address-cells = <1>; 83137f25828STinghan Shen #size-cells = <0>; 832*a93f071aSTzung-Bi Shih status = "disabled"; 83337f25828STinghan Shen }; 83437f25828STinghan Shen 83537f25828STinghan Shen i2c1: i2c@11e01000 { 83637f25828STinghan Shen compatible = "mediatek,mt8195-i2c", 83737f25828STinghan Shen "mediatek,mt8192-i2c"; 83837f25828STinghan Shen reg = <0 0x11e01000 0 0x1000>, 83937f25828STinghan Shen <0 0x10220200 0 0x80>; 84037f25828STinghan Shen interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH 0>; 84137f25828STinghan Shen clock-div = <1>; 84237f25828STinghan Shen clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C1>, 84337f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 84437f25828STinghan Shen clock-names = "main", "dma"; 84537f25828STinghan Shen #address-cells = <1>; 84637f25828STinghan Shen #size-cells = <0>; 84737f25828STinghan Shen status = "disabled"; 84837f25828STinghan Shen }; 84937f25828STinghan Shen 85037f25828STinghan Shen i2c2: i2c@11e02000 { 85137f25828STinghan Shen compatible = "mediatek,mt8195-i2c", 85237f25828STinghan Shen "mediatek,mt8192-i2c"; 85337f25828STinghan Shen reg = <0 0x11e02000 0 0x1000>, 85437f25828STinghan Shen <0 0x10220380 0 0x80>; 85537f25828STinghan Shen interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH 0>; 85637f25828STinghan Shen clock-div = <1>; 85737f25828STinghan Shen clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C2>, 85837f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 85937f25828STinghan Shen clock-names = "main", "dma"; 86037f25828STinghan Shen #address-cells = <1>; 86137f25828STinghan Shen #size-cells = <0>; 86237f25828STinghan Shen status = "disabled"; 86337f25828STinghan Shen }; 86437f25828STinghan Shen 86537f25828STinghan Shen i2c3: i2c@11e03000 { 86637f25828STinghan Shen compatible = "mediatek,mt8195-i2c", 86737f25828STinghan Shen "mediatek,mt8192-i2c"; 86837f25828STinghan Shen reg = <0 0x11e03000 0 0x1000>, 86937f25828STinghan Shen <0 0x10220480 0 0x80>; 87037f25828STinghan Shen interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH 0>; 87137f25828STinghan Shen clock-div = <1>; 87237f25828STinghan Shen clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C3>, 87337f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 87437f25828STinghan Shen clock-names = "main", "dma"; 87537f25828STinghan Shen #address-cells = <1>; 87637f25828STinghan Shen #size-cells = <0>; 87737f25828STinghan Shen status = "disabled"; 87837f25828STinghan Shen }; 87937f25828STinghan Shen 88037f25828STinghan Shen i2c4: i2c@11e04000 { 88137f25828STinghan Shen compatible = "mediatek,mt8195-i2c", 88237f25828STinghan Shen "mediatek,mt8192-i2c"; 88337f25828STinghan Shen reg = <0 0x11e04000 0 0x1000>, 88437f25828STinghan Shen <0 0x10220500 0 0x80>; 88537f25828STinghan Shen interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH 0>; 88637f25828STinghan Shen clock-div = <1>; 88737f25828STinghan Shen clocks = <&imp_iic_wrap_w CLK_IMP_IIC_WRAP_W_I2C4>, 88837f25828STinghan Shen <&infracfg_ao CLK_INFRA_AO_APDMA_B>; 88937f25828STinghan Shen clock-names = "main", "dma"; 89037f25828STinghan Shen #address-cells = <1>; 89137f25828STinghan Shen #size-cells = <0>; 89237f25828STinghan Shen status = "disabled"; 89337f25828STinghan Shen }; 89437f25828STinghan Shen 89537f25828STinghan Shen imp_iic_wrap_w: clock-controller@11e05000 { 89637f25828STinghan Shen compatible = "mediatek,mt8195-imp_iic_wrap_w"; 89737f25828STinghan Shen reg = <0 0x11e05000 0 0x1000>; 89837f25828STinghan Shen #clock-cells = <1>; 89937f25828STinghan Shen }; 90037f25828STinghan Shen 90137f25828STinghan Shen u3phy1: t-phy@11e30000 { 90237f25828STinghan Shen compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 90337f25828STinghan Shen #address-cells = <1>; 90437f25828STinghan Shen #size-cells = <1>; 90537f25828STinghan Shen ranges = <0 0 0x11e30000 0xe00>; 90637f25828STinghan Shen status = "disabled"; 90737f25828STinghan Shen 90837f25828STinghan Shen u2port1: usb-phy@0 { 90937f25828STinghan Shen reg = <0x0 0x700>; 91037f25828STinghan Shen clocks = <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>, 91137f25828STinghan Shen <&clk26m>; 91237f25828STinghan Shen clock-names = "ref", "da_ref"; 91337f25828STinghan Shen #phy-cells = <1>; 91437f25828STinghan Shen }; 91537f25828STinghan Shen 91637f25828STinghan Shen u3port1: usb-phy@700 { 91737f25828STinghan Shen reg = <0x700 0x700>; 91837f25828STinghan Shen clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>, 91937f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_PHY_P1_REF>; 92037f25828STinghan Shen clock-names = "ref", "da_ref"; 921ab43a84cSChunfeng Yun nvmem-cells = <&comb_intr_p1>, 922ab43a84cSChunfeng Yun <&comb_rx_imp_p1>, 923ab43a84cSChunfeng Yun <&comb_tx_imp_p1>; 924ab43a84cSChunfeng Yun nvmem-cell-names = "intr", "rx_imp", "tx_imp"; 92537f25828STinghan Shen #phy-cells = <1>; 92637f25828STinghan Shen }; 92737f25828STinghan Shen }; 92837f25828STinghan Shen 92937f25828STinghan Shen u3phy0: t-phy@11e40000 { 93037f25828STinghan Shen compatible = "mediatek,mt8195-tphy", "mediatek,generic-tphy-v3"; 93137f25828STinghan Shen #address-cells = <1>; 93237f25828STinghan Shen #size-cells = <1>; 93337f25828STinghan Shen ranges = <0 0 0x11e40000 0xe00>; 93437f25828STinghan Shen status = "disabled"; 93537f25828STinghan Shen 93637f25828STinghan Shen u2port0: usb-phy@0 { 93737f25828STinghan Shen reg = <0x0 0x700>; 93837f25828STinghan Shen clocks = <&topckgen CLK_TOP_SSUSB_PHY_REF>, 93937f25828STinghan Shen <&clk26m>; 94037f25828STinghan Shen clock-names = "ref", "da_ref"; 94137f25828STinghan Shen #phy-cells = <1>; 94237f25828STinghan Shen }; 94337f25828STinghan Shen 94437f25828STinghan Shen u3port0: usb-phy@700 { 94537f25828STinghan Shen reg = <0x700 0x700>; 94637f25828STinghan Shen clocks = <&apmixedsys CLK_APMIXED_PLL_SSUSB26M>, 94737f25828STinghan Shen <&topckgen CLK_TOP_SSUSB_PHY_REF>; 94837f25828STinghan Shen clock-names = "ref", "da_ref"; 949ab43a84cSChunfeng Yun nvmem-cells = <&u3_intr_p0>, 950ab43a84cSChunfeng Yun <&u3_rx_imp_p0>, 951ab43a84cSChunfeng Yun <&u3_tx_imp_p0>; 952ab43a84cSChunfeng Yun nvmem-cell-names = "intr", "rx_imp", "tx_imp"; 95337f25828STinghan Shen #phy-cells = <1>; 95437f25828STinghan Shen }; 95537f25828STinghan Shen }; 95637f25828STinghan Shen 95737f25828STinghan Shen ufsphy: ufs-phy@11fa0000 { 95837f25828STinghan Shen compatible = "mediatek,mt8195-ufsphy", "mediatek,mt8183-ufsphy"; 95937f25828STinghan Shen reg = <0 0x11fa0000 0 0xc000>; 96037f25828STinghan Shen clocks = <&clk26m>, <&clk26m>; 96137f25828STinghan Shen clock-names = "unipro", "mp"; 96237f25828STinghan Shen #phy-cells = <0>; 96337f25828STinghan Shen status = "disabled"; 96437f25828STinghan Shen }; 96537f25828STinghan Shen 96637f25828STinghan Shen mfgcfg: clock-controller@13fbf000 { 96737f25828STinghan Shen compatible = "mediatek,mt8195-mfgcfg"; 96837f25828STinghan Shen reg = <0 0x13fbf000 0 0x1000>; 96937f25828STinghan Shen #clock-cells = <1>; 97037f25828STinghan Shen }; 97137f25828STinghan Shen 97237f25828STinghan Shen wpesys: clock-controller@14e00000 { 97337f25828STinghan Shen compatible = "mediatek,mt8195-wpesys"; 97437f25828STinghan Shen reg = <0 0x14e00000 0 0x1000>; 97537f25828STinghan Shen #clock-cells = <1>; 97637f25828STinghan Shen }; 97737f25828STinghan Shen 97837f25828STinghan Shen wpesys_vpp0: clock-controller@14e02000 { 97937f25828STinghan Shen compatible = "mediatek,mt8195-wpesys_vpp0"; 98037f25828STinghan Shen reg = <0 0x14e02000 0 0x1000>; 98137f25828STinghan Shen #clock-cells = <1>; 98237f25828STinghan Shen }; 98337f25828STinghan Shen 98437f25828STinghan Shen wpesys_vpp1: clock-controller@14e03000 { 98537f25828STinghan Shen compatible = "mediatek,mt8195-wpesys_vpp1"; 98637f25828STinghan Shen reg = <0 0x14e03000 0 0x1000>; 98737f25828STinghan Shen #clock-cells = <1>; 98837f25828STinghan Shen }; 98937f25828STinghan Shen 99037f25828STinghan Shen imgsys: clock-controller@15000000 { 99137f25828STinghan Shen compatible = "mediatek,mt8195-imgsys"; 99237f25828STinghan Shen reg = <0 0x15000000 0 0x1000>; 99337f25828STinghan Shen #clock-cells = <1>; 99437f25828STinghan Shen }; 99537f25828STinghan Shen 99637f25828STinghan Shen imgsys1_dip_top: clock-controller@15110000 { 99737f25828STinghan Shen compatible = "mediatek,mt8195-imgsys1_dip_top"; 99837f25828STinghan Shen reg = <0 0x15110000 0 0x1000>; 99937f25828STinghan Shen #clock-cells = <1>; 100037f25828STinghan Shen }; 100137f25828STinghan Shen 100237f25828STinghan Shen imgsys1_dip_nr: clock-controller@15130000 { 100337f25828STinghan Shen compatible = "mediatek,mt8195-imgsys1_dip_nr"; 100437f25828STinghan Shen reg = <0 0x15130000 0 0x1000>; 100537f25828STinghan Shen #clock-cells = <1>; 100637f25828STinghan Shen }; 100737f25828STinghan Shen 100837f25828STinghan Shen imgsys1_wpe: clock-controller@15220000 { 100937f25828STinghan Shen compatible = "mediatek,mt8195-imgsys1_wpe"; 101037f25828STinghan Shen reg = <0 0x15220000 0 0x1000>; 101137f25828STinghan Shen #clock-cells = <1>; 101237f25828STinghan Shen }; 101337f25828STinghan Shen 101437f25828STinghan Shen ipesys: clock-controller@15330000 { 101537f25828STinghan Shen compatible = "mediatek,mt8195-ipesys"; 101637f25828STinghan Shen reg = <0 0x15330000 0 0x1000>; 101737f25828STinghan Shen #clock-cells = <1>; 101837f25828STinghan Shen }; 101937f25828STinghan Shen 102037f25828STinghan Shen camsys: clock-controller@16000000 { 102137f25828STinghan Shen compatible = "mediatek,mt8195-camsys"; 102237f25828STinghan Shen reg = <0 0x16000000 0 0x1000>; 102337f25828STinghan Shen #clock-cells = <1>; 102437f25828STinghan Shen }; 102537f25828STinghan Shen 102637f25828STinghan Shen camsys_rawa: clock-controller@1604f000 { 102737f25828STinghan Shen compatible = "mediatek,mt8195-camsys_rawa"; 102837f25828STinghan Shen reg = <0 0x1604f000 0 0x1000>; 102937f25828STinghan Shen #clock-cells = <1>; 103037f25828STinghan Shen }; 103137f25828STinghan Shen 103237f25828STinghan Shen camsys_yuva: clock-controller@1606f000 { 103337f25828STinghan Shen compatible = "mediatek,mt8195-camsys_yuva"; 103437f25828STinghan Shen reg = <0 0x1606f000 0 0x1000>; 103537f25828STinghan Shen #clock-cells = <1>; 103637f25828STinghan Shen }; 103737f25828STinghan Shen 103837f25828STinghan Shen camsys_rawb: clock-controller@1608f000 { 103937f25828STinghan Shen compatible = "mediatek,mt8195-camsys_rawb"; 104037f25828STinghan Shen reg = <0 0x1608f000 0 0x1000>; 104137f25828STinghan Shen #clock-cells = <1>; 104237f25828STinghan Shen }; 104337f25828STinghan Shen 104437f25828STinghan Shen camsys_yuvb: clock-controller@160af000 { 104537f25828STinghan Shen compatible = "mediatek,mt8195-camsys_yuvb"; 104637f25828STinghan Shen reg = <0 0x160af000 0 0x1000>; 104737f25828STinghan Shen #clock-cells = <1>; 104837f25828STinghan Shen }; 104937f25828STinghan Shen 105037f25828STinghan Shen camsys_mraw: clock-controller@16140000 { 105137f25828STinghan Shen compatible = "mediatek,mt8195-camsys_mraw"; 105237f25828STinghan Shen reg = <0 0x16140000 0 0x1000>; 105337f25828STinghan Shen #clock-cells = <1>; 105437f25828STinghan Shen }; 105537f25828STinghan Shen 105637f25828STinghan Shen ccusys: clock-controller@17200000 { 105737f25828STinghan Shen compatible = "mediatek,mt8195-ccusys"; 105837f25828STinghan Shen reg = <0 0x17200000 0 0x1000>; 105937f25828STinghan Shen #clock-cells = <1>; 106037f25828STinghan Shen }; 106137f25828STinghan Shen 106237f25828STinghan Shen vdecsys_soc: clock-controller@1800f000 { 106337f25828STinghan Shen compatible = "mediatek,mt8195-vdecsys_soc"; 106437f25828STinghan Shen reg = <0 0x1800f000 0 0x1000>; 106537f25828STinghan Shen #clock-cells = <1>; 106637f25828STinghan Shen }; 106737f25828STinghan Shen 106837f25828STinghan Shen vdecsys: clock-controller@1802f000 { 106937f25828STinghan Shen compatible = "mediatek,mt8195-vdecsys"; 107037f25828STinghan Shen reg = <0 0x1802f000 0 0x1000>; 107137f25828STinghan Shen #clock-cells = <1>; 107237f25828STinghan Shen }; 107337f25828STinghan Shen 107437f25828STinghan Shen vdecsys_core1: clock-controller@1803f000 { 107537f25828STinghan Shen compatible = "mediatek,mt8195-vdecsys_core1"; 107637f25828STinghan Shen reg = <0 0x1803f000 0 0x1000>; 107737f25828STinghan Shen #clock-cells = <1>; 107837f25828STinghan Shen }; 107937f25828STinghan Shen 108037f25828STinghan Shen apusys_pll: clock-controller@190f3000 { 108137f25828STinghan Shen compatible = "mediatek,mt8195-apusys_pll"; 108237f25828STinghan Shen reg = <0 0x190f3000 0 0x1000>; 108337f25828STinghan Shen #clock-cells = <1>; 108437f25828STinghan Shen }; 108537f25828STinghan Shen 108637f25828STinghan Shen vencsys: clock-controller@1a000000 { 108737f25828STinghan Shen compatible = "mediatek,mt8195-vencsys"; 108837f25828STinghan Shen reg = <0 0x1a000000 0 0x1000>; 108937f25828STinghan Shen #clock-cells = <1>; 109037f25828STinghan Shen }; 109137f25828STinghan Shen 109237f25828STinghan Shen vencsys_core1: clock-controller@1b000000 { 109337f25828STinghan Shen compatible = "mediatek,mt8195-vencsys_core1"; 109437f25828STinghan Shen reg = <0 0x1b000000 0 0x1000>; 109537f25828STinghan Shen #clock-cells = <1>; 109637f25828STinghan Shen }; 109737f25828STinghan Shen }; 109837f25828STinghan Shen}; 1099