162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2021 NXP 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/clock/imx8ulp-clock.h> 762306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 862306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 962306a36Sopenharmony_ci#include <dt-bindings/power/imx8ulp-power.h> 1062306a36Sopenharmony_ci#include <dt-bindings/thermal/thermal.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include "imx8ulp-pinfunc.h" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/ { 1562306a36Sopenharmony_ci interrupt-parent = <&gic>; 1662306a36Sopenharmony_ci #address-cells = <2>; 1762306a36Sopenharmony_ci #size-cells = <2>; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci aliases { 2062306a36Sopenharmony_ci ethernet0 = &fec; 2162306a36Sopenharmony_ci gpio0 = &gpiod; 2262306a36Sopenharmony_ci gpio1 = &gpioe; 2362306a36Sopenharmony_ci gpio2 = &gpiof; 2462306a36Sopenharmony_ci mmc0 = &usdhc0; 2562306a36Sopenharmony_ci mmc1 = &usdhc1; 2662306a36Sopenharmony_ci mmc2 = &usdhc2; 2762306a36Sopenharmony_ci serial0 = &lpuart4; 2862306a36Sopenharmony_ci serial1 = &lpuart5; 2962306a36Sopenharmony_ci serial2 = &lpuart6; 3062306a36Sopenharmony_ci serial3 = &lpuart7; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci cpus { 3462306a36Sopenharmony_ci #address-cells = <2>; 3562306a36Sopenharmony_ci #size-cells = <0>; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci A35_0: cpu@0 { 3862306a36Sopenharmony_ci device_type = "cpu"; 3962306a36Sopenharmony_ci compatible = "arm,cortex-a35"; 4062306a36Sopenharmony_ci reg = <0x0 0x0>; 4162306a36Sopenharmony_ci enable-method = "psci"; 4262306a36Sopenharmony_ci next-level-cache = <&A35_L2>; 4362306a36Sopenharmony_ci cpu-idle-states = <&cpu_sleep>; 4462306a36Sopenharmony_ci }; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci A35_1: cpu@1 { 4762306a36Sopenharmony_ci device_type = "cpu"; 4862306a36Sopenharmony_ci compatible = "arm,cortex-a35"; 4962306a36Sopenharmony_ci reg = <0x0 0x1>; 5062306a36Sopenharmony_ci enable-method = "psci"; 5162306a36Sopenharmony_ci next-level-cache = <&A35_L2>; 5262306a36Sopenharmony_ci cpu-idle-states = <&cpu_sleep>; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci A35_L2: l2-cache0 { 5662306a36Sopenharmony_ci compatible = "cache"; 5762306a36Sopenharmony_ci cache-level = <2>; 5862306a36Sopenharmony_ci cache-unified; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci idle-states { 6262306a36Sopenharmony_ci entry-method = "psci"; 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci cpu_sleep: cpu-sleep { 6562306a36Sopenharmony_ci compatible = "arm,idle-state"; 6662306a36Sopenharmony_ci arm,psci-suspend-param = <0x0>; 6762306a36Sopenharmony_ci local-timer-stop; 6862306a36Sopenharmony_ci entry-latency-us = <1000>; 6962306a36Sopenharmony_ci exit-latency-us = <700>; 7062306a36Sopenharmony_ci min-residency-us = <2700>; 7162306a36Sopenharmony_ci }; 7262306a36Sopenharmony_ci }; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci gic: interrupt-controller@2d400000 { 7662306a36Sopenharmony_ci compatible = "arm,gic-v3"; 7762306a36Sopenharmony_ci reg = <0x0 0x2d400000 0 0x10000>, /* GIC Dist */ 7862306a36Sopenharmony_ci <0x0 0x2d440000 0 0xc0000>; /* GICR (RD_base + SGI_base) */ 7962306a36Sopenharmony_ci #interrupt-cells = <3>; 8062306a36Sopenharmony_ci interrupt-controller; 8162306a36Sopenharmony_ci interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci pmu { 8562306a36Sopenharmony_ci compatible = "arm,cortex-a35-pmu"; 8662306a36Sopenharmony_ci interrupt-parent = <&gic>; 8762306a36Sopenharmony_ci interrupts = <GIC_PPI 7 8862306a36Sopenharmony_ci (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 8962306a36Sopenharmony_ci interrupt-affinity = <&A35_0>, <&A35_1>; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci psci { 9362306a36Sopenharmony_ci compatible = "arm,psci-1.0"; 9462306a36Sopenharmony_ci method = "smc"; 9562306a36Sopenharmony_ci }; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci thermal-zones { 9862306a36Sopenharmony_ci cpu-thermal { 9962306a36Sopenharmony_ci polling-delay-passive = <250>; 10062306a36Sopenharmony_ci polling-delay = <2000>; 10162306a36Sopenharmony_ci thermal-sensors = <&scmi_sensor 0>; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci trips { 10462306a36Sopenharmony_ci cpu_alert0: trip0 { 10562306a36Sopenharmony_ci temperature = <85000>; 10662306a36Sopenharmony_ci hysteresis = <2000>; 10762306a36Sopenharmony_ci type = "passive"; 10862306a36Sopenharmony_ci }; 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci cpu_crit0: trip1 { 11162306a36Sopenharmony_ci temperature = <95000>; 11262306a36Sopenharmony_ci hysteresis = <2000>; 11362306a36Sopenharmony_ci type = "critical"; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci }; 11662306a36Sopenharmony_ci }; 11762306a36Sopenharmony_ci }; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci timer { 12062306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 12162306a36Sopenharmony_ci interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Physical Secure */ 12262306a36Sopenharmony_ci <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Physical Non-Secure */ 12362306a36Sopenharmony_ci <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virtual */ 12462306a36Sopenharmony_ci <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hypervisor */ 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci frosc: clock-frosc { 12862306a36Sopenharmony_ci compatible = "fixed-clock"; 12962306a36Sopenharmony_ci clock-frequency = <192000000>; 13062306a36Sopenharmony_ci clock-output-names = "frosc"; 13162306a36Sopenharmony_ci #clock-cells = <0>; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci lposc: clock-lposc { 13562306a36Sopenharmony_ci compatible = "fixed-clock"; 13662306a36Sopenharmony_ci clock-frequency = <1000000>; 13762306a36Sopenharmony_ci clock-output-names = "lposc"; 13862306a36Sopenharmony_ci #clock-cells = <0>; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci rosc: clock-rosc { 14262306a36Sopenharmony_ci compatible = "fixed-clock"; 14362306a36Sopenharmony_ci clock-frequency = <32768>; 14462306a36Sopenharmony_ci clock-output-names = "rosc"; 14562306a36Sopenharmony_ci #clock-cells = <0>; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci sosc: clock-sosc { 14962306a36Sopenharmony_ci compatible = "fixed-clock"; 15062306a36Sopenharmony_ci clock-frequency = <24000000>; 15162306a36Sopenharmony_ci clock-output-names = "sosc"; 15262306a36Sopenharmony_ci #clock-cells = <0>; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci sram@2201f000 { 15662306a36Sopenharmony_ci compatible = "mmio-sram"; 15762306a36Sopenharmony_ci reg = <0x0 0x2201f000 0x0 0x1000>; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci #address-cells = <1>; 16062306a36Sopenharmony_ci #size-cells = <1>; 16162306a36Sopenharmony_ci ranges = <0 0x0 0x2201f000 0x1000>; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci scmi_buf: scmi-sram-section@0 { 16462306a36Sopenharmony_ci compatible = "arm,scmi-shmem"; 16562306a36Sopenharmony_ci reg = <0x0 0x400>; 16662306a36Sopenharmony_ci }; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci firmware { 17062306a36Sopenharmony_ci scmi { 17162306a36Sopenharmony_ci compatible = "arm,scmi-smc"; 17262306a36Sopenharmony_ci arm,smc-id = <0xc20000fe>; 17362306a36Sopenharmony_ci #address-cells = <1>; 17462306a36Sopenharmony_ci #size-cells = <0>; 17562306a36Sopenharmony_ci shmem = <&scmi_buf>; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci scmi_devpd: protocol@11 { 17862306a36Sopenharmony_ci reg = <0x11>; 17962306a36Sopenharmony_ci #power-domain-cells = <1>; 18062306a36Sopenharmony_ci }; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci scmi_sensor: protocol@15 { 18362306a36Sopenharmony_ci reg = <0x15>; 18462306a36Sopenharmony_ci #thermal-sensor-cells = <1>; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci cm33: remoteproc-cm33 { 19062306a36Sopenharmony_ci compatible = "fsl,imx8ulp-cm33"; 19162306a36Sopenharmony_ci status = "disabled"; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci soc: soc@0 { 19562306a36Sopenharmony_ci compatible = "simple-bus"; 19662306a36Sopenharmony_ci #address-cells = <1>; 19762306a36Sopenharmony_ci #size-cells = <1>; 19862306a36Sopenharmony_ci ranges = <0x0 0x0 0x0 0x40000000>, 19962306a36Sopenharmony_ci <0x60000000 0x0 0x60000000 0x1000000>; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci s4muap: mailbox@27020000 { 20262306a36Sopenharmony_ci compatible = "fsl,imx8ulp-mu-s4"; 20362306a36Sopenharmony_ci reg = <0x27020000 0x10000>; 20462306a36Sopenharmony_ci interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 20562306a36Sopenharmony_ci #mbox-cells = <2>; 20662306a36Sopenharmony_ci }; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci per_bridge3: bus@29000000 { 20962306a36Sopenharmony_ci compatible = "simple-bus"; 21062306a36Sopenharmony_ci reg = <0x29000000 0x800000>; 21162306a36Sopenharmony_ci #address-cells = <1>; 21262306a36Sopenharmony_ci #size-cells = <1>; 21362306a36Sopenharmony_ci ranges; 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci mu: mailbox@29220000 { 21662306a36Sopenharmony_ci compatible = "fsl,imx8ulp-mu"; 21762306a36Sopenharmony_ci reg = <0x29220000 0x10000>; 21862306a36Sopenharmony_ci interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 21962306a36Sopenharmony_ci #mbox-cells = <2>; 22062306a36Sopenharmony_ci status = "disabled"; 22162306a36Sopenharmony_ci }; 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ci mu3: mailbox@29230000 { 22462306a36Sopenharmony_ci compatible = "fsl,imx8ulp-mu"; 22562306a36Sopenharmony_ci reg = <0x29230000 0x10000>; 22662306a36Sopenharmony_ci interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 22762306a36Sopenharmony_ci clocks = <&pcc3 IMX8ULP_CLK_MU3_A>; 22862306a36Sopenharmony_ci #mbox-cells = <2>; 22962306a36Sopenharmony_ci status = "disabled"; 23062306a36Sopenharmony_ci }; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci wdog3: watchdog@292a0000 { 23362306a36Sopenharmony_ci compatible = "fsl,imx8ulp-wdt", "fsl,imx7ulp-wdt"; 23462306a36Sopenharmony_ci reg = <0x292a0000 0x10000>; 23562306a36Sopenharmony_ci interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 23662306a36Sopenharmony_ci clocks = <&pcc3 IMX8ULP_CLK_WDOG3>; 23762306a36Sopenharmony_ci assigned-clocks = <&pcc3 IMX8ULP_CLK_WDOG3>; 23862306a36Sopenharmony_ci assigned-clock-parents = <&cgc1 IMX8ULP_CLK_SOSC_DIV2>; 23962306a36Sopenharmony_ci timeout-sec = <40>; 24062306a36Sopenharmony_ci }; 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci cgc1: clock-controller@292c0000 { 24362306a36Sopenharmony_ci compatible = "fsl,imx8ulp-cgc1"; 24462306a36Sopenharmony_ci reg = <0x292c0000 0x10000>; 24562306a36Sopenharmony_ci #clock-cells = <1>; 24662306a36Sopenharmony_ci }; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci pcc3: clock-controller@292d0000 { 24962306a36Sopenharmony_ci compatible = "fsl,imx8ulp-pcc3"; 25062306a36Sopenharmony_ci reg = <0x292d0000 0x10000>; 25162306a36Sopenharmony_ci #clock-cells = <1>; 25262306a36Sopenharmony_ci #reset-cells = <1>; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci tpm5: tpm@29340000 { 25662306a36Sopenharmony_ci compatible = "fsl,imx8ulp-tpm", "fsl,imx7ulp-tpm"; 25762306a36Sopenharmony_ci reg = <0x29340000 0x1000>; 25862306a36Sopenharmony_ci interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 25962306a36Sopenharmony_ci clocks = <&pcc3 IMX8ULP_CLK_TPM5>, 26062306a36Sopenharmony_ci <&pcc3 IMX8ULP_CLK_TPM5>; 26162306a36Sopenharmony_ci clock-names = "ipg", "per"; 26262306a36Sopenharmony_ci status = "disabled"; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci lpi2c4: i2c@29370000 { 26662306a36Sopenharmony_ci compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; 26762306a36Sopenharmony_ci reg = <0x29370000 0x10000>; 26862306a36Sopenharmony_ci interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 26962306a36Sopenharmony_ci clocks = <&pcc3 IMX8ULP_CLK_LPI2C4>, 27062306a36Sopenharmony_ci <&pcc3 IMX8ULP_CLK_LPI2C4>; 27162306a36Sopenharmony_ci clock-names = "per", "ipg"; 27262306a36Sopenharmony_ci assigned-clocks = <&pcc3 IMX8ULP_CLK_LPI2C4>; 27362306a36Sopenharmony_ci assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>; 27462306a36Sopenharmony_ci assigned-clock-rates = <48000000>; 27562306a36Sopenharmony_ci status = "disabled"; 27662306a36Sopenharmony_ci }; 27762306a36Sopenharmony_ci 27862306a36Sopenharmony_ci lpi2c5: i2c@29380000 { 27962306a36Sopenharmony_ci compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; 28062306a36Sopenharmony_ci reg = <0x29380000 0x10000>; 28162306a36Sopenharmony_ci interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 28262306a36Sopenharmony_ci clocks = <&pcc3 IMX8ULP_CLK_LPI2C5>, 28362306a36Sopenharmony_ci <&pcc3 IMX8ULP_CLK_LPI2C5>; 28462306a36Sopenharmony_ci clock-names = "per", "ipg"; 28562306a36Sopenharmony_ci assigned-clocks = <&pcc3 IMX8ULP_CLK_LPI2C5>; 28662306a36Sopenharmony_ci assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>; 28762306a36Sopenharmony_ci assigned-clock-rates = <48000000>; 28862306a36Sopenharmony_ci status = "disabled"; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci lpuart4: serial@29390000 { 29262306a36Sopenharmony_ci compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; 29362306a36Sopenharmony_ci reg = <0x29390000 0x1000>; 29462306a36Sopenharmony_ci interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 29562306a36Sopenharmony_ci clocks = <&pcc3 IMX8ULP_CLK_LPUART4>; 29662306a36Sopenharmony_ci clock-names = "ipg"; 29762306a36Sopenharmony_ci status = "disabled"; 29862306a36Sopenharmony_ci }; 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ci lpuart5: serial@293a0000 { 30162306a36Sopenharmony_ci compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; 30262306a36Sopenharmony_ci reg = <0x293a0000 0x1000>; 30362306a36Sopenharmony_ci interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 30462306a36Sopenharmony_ci clocks = <&pcc3 IMX8ULP_CLK_LPUART5>; 30562306a36Sopenharmony_ci clock-names = "ipg"; 30662306a36Sopenharmony_ci status = "disabled"; 30762306a36Sopenharmony_ci }; 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ci lpspi4: spi@293b0000 { 31062306a36Sopenharmony_ci #address-cells = <1>; 31162306a36Sopenharmony_ci #size-cells = <0>; 31262306a36Sopenharmony_ci compatible = "fsl,imx8ulp-spi", "fsl,imx7ulp-spi"; 31362306a36Sopenharmony_ci reg = <0x293b0000 0x10000>; 31462306a36Sopenharmony_ci interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 31562306a36Sopenharmony_ci clocks = <&pcc3 IMX8ULP_CLK_LPSPI4>, 31662306a36Sopenharmony_ci <&pcc3 IMX8ULP_CLK_LPSPI4>; 31762306a36Sopenharmony_ci clock-names = "per", "ipg"; 31862306a36Sopenharmony_ci assigned-clocks = <&pcc3 IMX8ULP_CLK_LPSPI4>; 31962306a36Sopenharmony_ci assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>; 32062306a36Sopenharmony_ci assigned-clock-rates = <48000000>; 32162306a36Sopenharmony_ci status = "disabled"; 32262306a36Sopenharmony_ci }; 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ci lpspi5: spi@293c0000 { 32562306a36Sopenharmony_ci #address-cells = <1>; 32662306a36Sopenharmony_ci #size-cells = <0>; 32762306a36Sopenharmony_ci compatible = "fsl,imx8ulp-spi", "fsl,imx7ulp-spi"; 32862306a36Sopenharmony_ci reg = <0x293c0000 0x10000>; 32962306a36Sopenharmony_ci interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 33062306a36Sopenharmony_ci clocks = <&pcc3 IMX8ULP_CLK_LPSPI5>, 33162306a36Sopenharmony_ci <&pcc3 IMX8ULP_CLK_LPSPI5>; 33262306a36Sopenharmony_ci clock-names = "per", "ipg"; 33362306a36Sopenharmony_ci assigned-clocks = <&pcc3 IMX8ULP_CLK_LPSPI5>; 33462306a36Sopenharmony_ci assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>; 33562306a36Sopenharmony_ci assigned-clock-rates = <48000000>; 33662306a36Sopenharmony_ci status = "disabled"; 33762306a36Sopenharmony_ci }; 33862306a36Sopenharmony_ci }; 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ci per_bridge4: bus@29800000 { 34162306a36Sopenharmony_ci compatible = "simple-bus"; 34262306a36Sopenharmony_ci reg = <0x29800000 0x800000>; 34362306a36Sopenharmony_ci #address-cells = <1>; 34462306a36Sopenharmony_ci #size-cells = <1>; 34562306a36Sopenharmony_ci ranges; 34662306a36Sopenharmony_ci 34762306a36Sopenharmony_ci pcc4: clock-controller@29800000 { 34862306a36Sopenharmony_ci compatible = "fsl,imx8ulp-pcc4"; 34962306a36Sopenharmony_ci reg = <0x29800000 0x10000>; 35062306a36Sopenharmony_ci #clock-cells = <1>; 35162306a36Sopenharmony_ci #reset-cells = <1>; 35262306a36Sopenharmony_ci }; 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci flexspi2: spi@29810000 { 35562306a36Sopenharmony_ci compatible = "nxp,imx8mm-fspi"; 35662306a36Sopenharmony_ci reg = <0x29810000 0x10000>, <0x60000000 0x10000000>; 35762306a36Sopenharmony_ci reg-names = "fspi_base", "fspi_mmap"; 35862306a36Sopenharmony_ci #address-cells = <1>; 35962306a36Sopenharmony_ci #size-cells = <0>; 36062306a36Sopenharmony_ci interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 36162306a36Sopenharmony_ci clocks = <&pcc4 IMX8ULP_CLK_FLEXSPI2>, 36262306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_FLEXSPI2>; 36362306a36Sopenharmony_ci clock-names = "fspi", "fspi_en"; 36462306a36Sopenharmony_ci assigned-clocks = <&pcc4 IMX8ULP_CLK_FLEXSPI2>; 36562306a36Sopenharmony_ci assigned-clock-parents = <&cgc1 IMX8ULP_CLK_SPLL3_PFD3_DIV2>; 36662306a36Sopenharmony_ci status = "disabled"; 36762306a36Sopenharmony_ci }; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci lpi2c6: i2c@29840000 { 37062306a36Sopenharmony_ci compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; 37162306a36Sopenharmony_ci reg = <0x29840000 0x10000>; 37262306a36Sopenharmony_ci interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 37362306a36Sopenharmony_ci clocks = <&pcc4 IMX8ULP_CLK_LPI2C6>, 37462306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_LPI2C6>; 37562306a36Sopenharmony_ci clock-names = "per", "ipg"; 37662306a36Sopenharmony_ci assigned-clocks = <&pcc4 IMX8ULP_CLK_LPI2C6>; 37762306a36Sopenharmony_ci assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>; 37862306a36Sopenharmony_ci assigned-clock-rates = <48000000>; 37962306a36Sopenharmony_ci status = "disabled"; 38062306a36Sopenharmony_ci }; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci lpi2c7: i2c@29850000 { 38362306a36Sopenharmony_ci compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; 38462306a36Sopenharmony_ci reg = <0x29850000 0x10000>; 38562306a36Sopenharmony_ci interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 38662306a36Sopenharmony_ci clocks = <&pcc4 IMX8ULP_CLK_LPI2C7>, 38762306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_LPI2C7>; 38862306a36Sopenharmony_ci clock-names = "per", "ipg"; 38962306a36Sopenharmony_ci assigned-clocks = <&pcc4 IMX8ULP_CLK_LPI2C7>; 39062306a36Sopenharmony_ci assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>; 39162306a36Sopenharmony_ci assigned-clock-rates = <48000000>; 39262306a36Sopenharmony_ci status = "disabled"; 39362306a36Sopenharmony_ci }; 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_ci lpuart6: serial@29860000 { 39662306a36Sopenharmony_ci compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; 39762306a36Sopenharmony_ci reg = <0x29860000 0x1000>; 39862306a36Sopenharmony_ci interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 39962306a36Sopenharmony_ci clocks = <&pcc4 IMX8ULP_CLK_LPUART6>; 40062306a36Sopenharmony_ci clock-names = "ipg"; 40162306a36Sopenharmony_ci status = "disabled"; 40262306a36Sopenharmony_ci }; 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ci lpuart7: serial@29870000 { 40562306a36Sopenharmony_ci compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; 40662306a36Sopenharmony_ci reg = <0x29870000 0x1000>; 40762306a36Sopenharmony_ci interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 40862306a36Sopenharmony_ci clocks = <&pcc4 IMX8ULP_CLK_LPUART7>; 40962306a36Sopenharmony_ci clock-names = "ipg"; 41062306a36Sopenharmony_ci status = "disabled"; 41162306a36Sopenharmony_ci }; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci iomuxc1: pinctrl@298c0000 { 41462306a36Sopenharmony_ci compatible = "fsl,imx8ulp-iomuxc1"; 41562306a36Sopenharmony_ci reg = <0x298c0000 0x10000>; 41662306a36Sopenharmony_ci }; 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci usdhc0: mmc@298d0000 { 41962306a36Sopenharmony_ci compatible = "fsl,imx8ulp-usdhc", "fsl,imx8mm-usdhc"; 42062306a36Sopenharmony_ci reg = <0x298d0000 0x10000>; 42162306a36Sopenharmony_ci interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 42262306a36Sopenharmony_ci clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>, 42362306a36Sopenharmony_ci <&cgc1 IMX8ULP_CLK_XBAR_AD_DIVPLAT>, 42462306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_USDHC0>; 42562306a36Sopenharmony_ci clock-names = "ipg", "ahb", "per"; 42662306a36Sopenharmony_ci power-domains = <&scmi_devpd IMX8ULP_PD_USDHC0>; 42762306a36Sopenharmony_ci assigned-clocks = <&cgc1 IMX8ULP_CLK_SPLL3_PFD3_DIV1>, 42862306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_USDHC0>; 42962306a36Sopenharmony_ci assigned-clock-parents = <0>, <&cgc1 IMX8ULP_CLK_SPLL3_PFD3_DIV1>; 43062306a36Sopenharmony_ci assigned-clock-rates = <389283840>, <389283840>; 43162306a36Sopenharmony_ci fsl,tuning-start-tap = <20>; 43262306a36Sopenharmony_ci fsl,tuning-step = <2>; 43362306a36Sopenharmony_ci bus-width = <4>; 43462306a36Sopenharmony_ci status = "disabled"; 43562306a36Sopenharmony_ci }; 43662306a36Sopenharmony_ci 43762306a36Sopenharmony_ci usdhc1: mmc@298e0000 { 43862306a36Sopenharmony_ci compatible = "fsl,imx8ulp-usdhc", "fsl,imx8mm-usdhc"; 43962306a36Sopenharmony_ci reg = <0x298e0000 0x10000>; 44062306a36Sopenharmony_ci interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 44162306a36Sopenharmony_ci clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>, 44262306a36Sopenharmony_ci <&cgc1 IMX8ULP_CLK_NIC_PER_DIVPLAT>, 44362306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_USDHC1>; 44462306a36Sopenharmony_ci clock-names = "ipg", "ahb", "per"; 44562306a36Sopenharmony_ci power-domains = <&scmi_devpd IMX8ULP_PD_USDHC1>; 44662306a36Sopenharmony_ci assigned-clocks = <&cgc1 IMX8ULP_CLK_SPLL3_PFD3_DIV2>, 44762306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_USDHC1>; 44862306a36Sopenharmony_ci assigned-clock-parents = <0>, <&cgc1 IMX8ULP_CLK_SPLL3_PFD3_DIV2>; 44962306a36Sopenharmony_ci assigned-clock-rates = <194641920>, <194641920>; 45062306a36Sopenharmony_ci fsl,tuning-start-tap = <20>; 45162306a36Sopenharmony_ci fsl,tuning-step = <2>; 45262306a36Sopenharmony_ci bus-width = <4>; 45362306a36Sopenharmony_ci status = "disabled"; 45462306a36Sopenharmony_ci }; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci usdhc2: mmc@298f0000 { 45762306a36Sopenharmony_ci compatible = "fsl,imx8ulp-usdhc", "fsl,imx8mm-usdhc"; 45862306a36Sopenharmony_ci reg = <0x298f0000 0x10000>; 45962306a36Sopenharmony_ci interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 46062306a36Sopenharmony_ci clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>, 46162306a36Sopenharmony_ci <&cgc1 IMX8ULP_CLK_NIC_PER_DIVPLAT>, 46262306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_USDHC2>; 46362306a36Sopenharmony_ci clock-names = "ipg", "ahb", "per"; 46462306a36Sopenharmony_ci power-domains = <&scmi_devpd IMX8ULP_PD_USDHC2_USB1>; 46562306a36Sopenharmony_ci assigned-clocks = <&cgc1 IMX8ULP_CLK_SPLL3_PFD3_DIV2>, 46662306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_USDHC2>; 46762306a36Sopenharmony_ci assigned-clock-parents = <0>, <&cgc1 IMX8ULP_CLK_SPLL3_PFD3_DIV2>; 46862306a36Sopenharmony_ci assigned-clock-rates = <194641920>, <194641920>; 46962306a36Sopenharmony_ci fsl,tuning-start-tap = <20>; 47062306a36Sopenharmony_ci fsl,tuning-step = <2>; 47162306a36Sopenharmony_ci bus-width = <4>; 47262306a36Sopenharmony_ci status = "disabled"; 47362306a36Sopenharmony_ci }; 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci fec: ethernet@29950000 { 47662306a36Sopenharmony_ci compatible = "fsl,imx8ulp-fec", "fsl,imx6ul-fec", "fsl,imx6q-fec"; 47762306a36Sopenharmony_ci reg = <0x29950000 0x10000>; 47862306a36Sopenharmony_ci interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 47962306a36Sopenharmony_ci interrupt-names = "int0"; 48062306a36Sopenharmony_ci fsl,num-tx-queues = <1>; 48162306a36Sopenharmony_ci fsl,num-rx-queues = <1>; 48262306a36Sopenharmony_ci status = "disabled"; 48362306a36Sopenharmony_ci }; 48462306a36Sopenharmony_ci }; 48562306a36Sopenharmony_ci 48662306a36Sopenharmony_ci gpioe: gpio@2d000080 { 48762306a36Sopenharmony_ci compatible = "fsl,imx8ulp-gpio", "fsl,imx7ulp-gpio"; 48862306a36Sopenharmony_ci reg = <0x2d000080 0x1000>, <0x2d000040 0x40>; 48962306a36Sopenharmony_ci gpio-controller; 49062306a36Sopenharmony_ci #gpio-cells = <2>; 49162306a36Sopenharmony_ci interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>; 49262306a36Sopenharmony_ci interrupt-controller; 49362306a36Sopenharmony_ci #interrupt-cells = <2>; 49462306a36Sopenharmony_ci clocks = <&pcc4 IMX8ULP_CLK_RGPIOE>, 49562306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_PCTLE>; 49662306a36Sopenharmony_ci clock-names = "gpio", "port"; 49762306a36Sopenharmony_ci gpio-ranges = <&iomuxc1 0 32 24>; 49862306a36Sopenharmony_ci }; 49962306a36Sopenharmony_ci 50062306a36Sopenharmony_ci gpiof: gpio@2d010080 { 50162306a36Sopenharmony_ci compatible = "fsl,imx8ulp-gpio", "fsl,imx7ulp-gpio"; 50262306a36Sopenharmony_ci reg = <0x2d010080 0x1000>, <0x2d010040 0x40>; 50362306a36Sopenharmony_ci gpio-controller; 50462306a36Sopenharmony_ci #gpio-cells = <2>; 50562306a36Sopenharmony_ci interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 50662306a36Sopenharmony_ci interrupt-controller; 50762306a36Sopenharmony_ci #interrupt-cells = <2>; 50862306a36Sopenharmony_ci clocks = <&pcc4 IMX8ULP_CLK_RGPIOF>, 50962306a36Sopenharmony_ci <&pcc4 IMX8ULP_CLK_PCTLF>; 51062306a36Sopenharmony_ci clock-names = "gpio", "port"; 51162306a36Sopenharmony_ci gpio-ranges = <&iomuxc1 0 64 32>; 51262306a36Sopenharmony_ci }; 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci per_bridge5: bus@2d800000 { 51562306a36Sopenharmony_ci compatible = "simple-bus"; 51662306a36Sopenharmony_ci reg = <0x2d800000 0x800000>; 51762306a36Sopenharmony_ci #address-cells = <1>; 51862306a36Sopenharmony_ci #size-cells = <1>; 51962306a36Sopenharmony_ci ranges; 52062306a36Sopenharmony_ci 52162306a36Sopenharmony_ci cgc2: clock-controller@2da60000 { 52262306a36Sopenharmony_ci compatible = "fsl,imx8ulp-cgc2"; 52362306a36Sopenharmony_ci reg = <0x2da60000 0x10000>; 52462306a36Sopenharmony_ci #clock-cells = <1>; 52562306a36Sopenharmony_ci }; 52662306a36Sopenharmony_ci 52762306a36Sopenharmony_ci pcc5: clock-controller@2da70000 { 52862306a36Sopenharmony_ci compatible = "fsl,imx8ulp-pcc5"; 52962306a36Sopenharmony_ci reg = <0x2da70000 0x10000>; 53062306a36Sopenharmony_ci #clock-cells = <1>; 53162306a36Sopenharmony_ci #reset-cells = <1>; 53262306a36Sopenharmony_ci }; 53362306a36Sopenharmony_ci }; 53462306a36Sopenharmony_ci 53562306a36Sopenharmony_ci gpiod: gpio@2e200080 { 53662306a36Sopenharmony_ci compatible = "fsl,imx8ulp-gpio", "fsl,imx7ulp-gpio"; 53762306a36Sopenharmony_ci reg = <0x2e200080 0x1000>, <0x2e200040 0x40>; 53862306a36Sopenharmony_ci gpio-controller; 53962306a36Sopenharmony_ci #gpio-cells = <2>; 54062306a36Sopenharmony_ci interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 54162306a36Sopenharmony_ci interrupt-controller; 54262306a36Sopenharmony_ci #interrupt-cells = <2>; 54362306a36Sopenharmony_ci clocks = <&pcc5 IMX8ULP_CLK_RGPIOD>, 54462306a36Sopenharmony_ci <&pcc5 IMX8ULP_CLK_RGPIOD>; 54562306a36Sopenharmony_ci clock-names = "gpio", "port"; 54662306a36Sopenharmony_ci gpio-ranges = <&iomuxc1 0 0 24>; 54762306a36Sopenharmony_ci }; 54862306a36Sopenharmony_ci }; 54962306a36Sopenharmony_ci}; 550