162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * DTS File for HiSilicon Hi3798cv200 SoC. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2016-2017 HiSilicon Technologies Co., Ltd. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <dt-bindings/clock/histb-clock.h> 962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1062306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 1162306a36Sopenharmony_ci#include <dt-bindings/phy/phy.h> 1262306a36Sopenharmony_ci#include <dt-bindings/reset/ti-syscon.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/ { 1562306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200"; 1662306a36Sopenharmony_ci interrupt-parent = <&gic>; 1762306a36Sopenharmony_ci #address-cells = <2>; 1862306a36Sopenharmony_ci #size-cells = <2>; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci psci { 2162306a36Sopenharmony_ci compatible = "arm,psci-0.2"; 2262306a36Sopenharmony_ci method = "smc"; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci cpus { 2662306a36Sopenharmony_ci #address-cells = <2>; 2762306a36Sopenharmony_ci #size-cells = <0>; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci cpu@0 { 3062306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 3162306a36Sopenharmony_ci device_type = "cpu"; 3262306a36Sopenharmony_ci reg = <0x0 0x0>; 3362306a36Sopenharmony_ci enable-method = "psci"; 3462306a36Sopenharmony_ci }; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci cpu@1 { 3762306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 3862306a36Sopenharmony_ci device_type = "cpu"; 3962306a36Sopenharmony_ci reg = <0x0 0x1>; 4062306a36Sopenharmony_ci enable-method = "psci"; 4162306a36Sopenharmony_ci }; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci cpu@2 { 4462306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 4562306a36Sopenharmony_ci device_type = "cpu"; 4662306a36Sopenharmony_ci reg = <0x0 0x2>; 4762306a36Sopenharmony_ci enable-method = "psci"; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci cpu@3 { 5162306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 5262306a36Sopenharmony_ci device_type = "cpu"; 5362306a36Sopenharmony_ci reg = <0x0 0x3>; 5462306a36Sopenharmony_ci enable-method = "psci"; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci }; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci gic: interrupt-controller@f1001000 { 5962306a36Sopenharmony_ci compatible = "arm,gic-400"; 6062306a36Sopenharmony_ci reg = <0x0 0xf1001000 0x0 0x1000>, /* GICD */ 6162306a36Sopenharmony_ci <0x0 0xf1002000 0x0 0x100>; /* GICC */ 6262306a36Sopenharmony_ci #address-cells = <0>; 6362306a36Sopenharmony_ci #interrupt-cells = <3>; 6462306a36Sopenharmony_ci interrupt-controller; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci timer { 6862306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 6962306a36Sopenharmony_ci interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | 7062306a36Sopenharmony_ci IRQ_TYPE_LEVEL_LOW)>, 7162306a36Sopenharmony_ci <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | 7262306a36Sopenharmony_ci IRQ_TYPE_LEVEL_LOW)>, 7362306a36Sopenharmony_ci <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | 7462306a36Sopenharmony_ci IRQ_TYPE_LEVEL_LOW)>, 7562306a36Sopenharmony_ci <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | 7662306a36Sopenharmony_ci IRQ_TYPE_LEVEL_LOW)>; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci soc: soc@f0000000 { 8062306a36Sopenharmony_ci compatible = "simple-bus"; 8162306a36Sopenharmony_ci #address-cells = <1>; 8262306a36Sopenharmony_ci #size-cells = <1>; 8362306a36Sopenharmony_ci ranges = <0x0 0x0 0xf0000000 0x10000000>; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci crg: clock-reset-controller@8a22000 { 8662306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-crg", "syscon", "simple-mfd"; 8762306a36Sopenharmony_ci reg = <0x8a22000 0x1000>; 8862306a36Sopenharmony_ci #clock-cells = <1>; 8962306a36Sopenharmony_ci #reset-cells = <2>; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci gmacphyrst: reset-controller { 9262306a36Sopenharmony_ci compatible = "ti,syscon-reset"; 9362306a36Sopenharmony_ci #reset-cells = <1>; 9462306a36Sopenharmony_ci ti,reset-bits = < 9562306a36Sopenharmony_ci 0xcc 12 0xcc 12 0 0 (ASSERT_CLEAR | DEASSERT_SET | STATUS_NONE) 9662306a36Sopenharmony_ci 0xcc 13 0xcc 13 0 0 (ASSERT_CLEAR | DEASSERT_SET | STATUS_NONE) 9762306a36Sopenharmony_ci >; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci }; 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci sysctrl: system-controller@8000000 { 10262306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-sysctrl", "syscon"; 10362306a36Sopenharmony_ci reg = <0x8000000 0x1000>; 10462306a36Sopenharmony_ci #clock-cells = <1>; 10562306a36Sopenharmony_ci #reset-cells = <2>; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci perictrl: peripheral-controller@8a20000 { 10962306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-perictrl", "syscon", 11062306a36Sopenharmony_ci "simple-mfd"; 11162306a36Sopenharmony_ci reg = <0x8a20000 0x1000>; 11262306a36Sopenharmony_ci #address-cells = <1>; 11362306a36Sopenharmony_ci #size-cells = <1>; 11462306a36Sopenharmony_ci ranges = <0x0 0x8a20000 0x1000>; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci usb2_phy1: usb2_phy@120 { 11762306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-usb2-phy"; 11862306a36Sopenharmony_ci reg = <0x120 0x4>; 11962306a36Sopenharmony_ci clocks = <&crg HISTB_USB2_PHY1_REF_CLK>; 12062306a36Sopenharmony_ci resets = <&crg 0xbc 4>; 12162306a36Sopenharmony_ci #address-cells = <1>; 12262306a36Sopenharmony_ci #size-cells = <0>; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci usb2_phy1_port0: phy@0 { 12562306a36Sopenharmony_ci reg = <0>; 12662306a36Sopenharmony_ci #phy-cells = <0>; 12762306a36Sopenharmony_ci resets = <&crg 0xbc 8>; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci usb2_phy1_port1: phy@1 { 13162306a36Sopenharmony_ci reg = <1>; 13262306a36Sopenharmony_ci #phy-cells = <0>; 13362306a36Sopenharmony_ci resets = <&crg 0xbc 9>; 13462306a36Sopenharmony_ci }; 13562306a36Sopenharmony_ci }; 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci usb2_phy2: usb2_phy@124 { 13862306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-usb2-phy"; 13962306a36Sopenharmony_ci reg = <0x124 0x4>; 14062306a36Sopenharmony_ci clocks = <&crg HISTB_USB2_PHY2_REF_CLK>; 14162306a36Sopenharmony_ci resets = <&crg 0xbc 6>; 14262306a36Sopenharmony_ci #address-cells = <1>; 14362306a36Sopenharmony_ci #size-cells = <0>; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci usb2_phy2_port0: phy@0 { 14662306a36Sopenharmony_ci reg = <0>; 14762306a36Sopenharmony_ci #phy-cells = <0>; 14862306a36Sopenharmony_ci resets = <&crg 0xbc 10>; 14962306a36Sopenharmony_ci }; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci combphy0: phy@850 { 15362306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-combphy"; 15462306a36Sopenharmony_ci reg = <0x850 0x8>; 15562306a36Sopenharmony_ci #phy-cells = <1>; 15662306a36Sopenharmony_ci clocks = <&crg HISTB_COMBPHY0_CLK>; 15762306a36Sopenharmony_ci resets = <&crg 0x188 4>; 15862306a36Sopenharmony_ci assigned-clocks = <&crg HISTB_COMBPHY0_CLK>; 15962306a36Sopenharmony_ci assigned-clock-rates = <100000000>; 16062306a36Sopenharmony_ci hisilicon,fixed-mode = <PHY_TYPE_USB3>; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci combphy1: phy@858 { 16462306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-combphy"; 16562306a36Sopenharmony_ci reg = <0x858 0x8>; 16662306a36Sopenharmony_ci #phy-cells = <1>; 16762306a36Sopenharmony_ci clocks = <&crg HISTB_COMBPHY1_CLK>; 16862306a36Sopenharmony_ci resets = <&crg 0x188 12>; 16962306a36Sopenharmony_ci assigned-clocks = <&crg HISTB_COMBPHY1_CLK>; 17062306a36Sopenharmony_ci assigned-clock-rates = <100000000>; 17162306a36Sopenharmony_ci hisilicon,mode-select-bits = <0x0008 11 (0x3 << 11)>; 17262306a36Sopenharmony_ci }; 17362306a36Sopenharmony_ci }; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci pmx0: pinconf@8a21000 { 17662306a36Sopenharmony_ci compatible = "pinconf-single"; 17762306a36Sopenharmony_ci reg = <0x8a21000 0x180>; 17862306a36Sopenharmony_ci pinctrl-single,register-width = <32>; 17962306a36Sopenharmony_ci pinctrl-single,function-mask = <7>; 18062306a36Sopenharmony_ci pinctrl-single,gpio-range = < 18162306a36Sopenharmony_ci &range 0 8 2 /* GPIO 0 */ 18262306a36Sopenharmony_ci &range 8 1 0 /* GPIO 1 */ 18362306a36Sopenharmony_ci &range 9 4 2 18462306a36Sopenharmony_ci &range 13 1 0 18562306a36Sopenharmony_ci &range 14 1 1 18662306a36Sopenharmony_ci &range 15 1 0 18762306a36Sopenharmony_ci &range 16 5 0 /* GPIO 2 */ 18862306a36Sopenharmony_ci &range 21 3 1 18962306a36Sopenharmony_ci &range 24 4 1 /* GPIO 3 */ 19062306a36Sopenharmony_ci &range 28 2 2 19162306a36Sopenharmony_ci &range 86 1 1 19262306a36Sopenharmony_ci &range 87 1 0 19362306a36Sopenharmony_ci &range 30 4 2 /* GPIO 4 */ 19462306a36Sopenharmony_ci &range 34 3 0 19562306a36Sopenharmony_ci &range 37 1 2 19662306a36Sopenharmony_ci &range 38 3 2 /* GPIO 6 */ 19762306a36Sopenharmony_ci &range 41 5 0 19862306a36Sopenharmony_ci &range 46 8 1 /* GPIO 7 */ 19962306a36Sopenharmony_ci &range 54 8 1 /* GPIO 8 */ 20062306a36Sopenharmony_ci &range 64 7 1 /* GPIO 9 */ 20162306a36Sopenharmony_ci &range 71 1 0 20262306a36Sopenharmony_ci &range 72 6 1 /* GPIO 10 */ 20362306a36Sopenharmony_ci &range 78 1 0 20462306a36Sopenharmony_ci &range 79 1 1 20562306a36Sopenharmony_ci &range 80 6 1 /* GPIO 11 */ 20662306a36Sopenharmony_ci &range 70 2 1 20762306a36Sopenharmony_ci &range 88 8 0 /* GPIO 12 */ 20862306a36Sopenharmony_ci >; 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci range: gpio-range { 21162306a36Sopenharmony_ci #pinctrl-single,gpio-range-cells = <3>; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci uart0: serial@8b00000 { 21662306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 21762306a36Sopenharmony_ci reg = <0x8b00000 0x1000>; 21862306a36Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 21962306a36Sopenharmony_ci clocks = <&sysctrl HISTB_UART0_CLK>, <&sysctrl HISTB_UART0_CLK>; 22062306a36Sopenharmony_ci clock-names = "uartclk", "apb_pclk"; 22162306a36Sopenharmony_ci status = "disabled"; 22262306a36Sopenharmony_ci }; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci uart2: serial@8b02000 { 22562306a36Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 22662306a36Sopenharmony_ci reg = <0x8b02000 0x1000>; 22762306a36Sopenharmony_ci interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 22862306a36Sopenharmony_ci clocks = <&crg HISTB_UART2_CLK>, <&crg HISTB_UART2_CLK>; 22962306a36Sopenharmony_ci clock-names = "uartclk", "apb_pclk"; 23062306a36Sopenharmony_ci status = "disabled"; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci i2c0: i2c@8b10000 { 23462306a36Sopenharmony_ci compatible = "hisilicon,hix5hd2-i2c"; 23562306a36Sopenharmony_ci reg = <0x8b10000 0x1000>; 23662306a36Sopenharmony_ci #address-cells = <1>; 23762306a36Sopenharmony_ci #size-cells = <0>; 23862306a36Sopenharmony_ci interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 23962306a36Sopenharmony_ci clock-frequency = <400000>; 24062306a36Sopenharmony_ci clocks = <&crg HISTB_I2C0_CLK>; 24162306a36Sopenharmony_ci status = "disabled"; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci i2c1: i2c@8b11000 { 24562306a36Sopenharmony_ci compatible = "hisilicon,hix5hd2-i2c"; 24662306a36Sopenharmony_ci reg = <0x8b11000 0x1000>; 24762306a36Sopenharmony_ci #address-cells = <1>; 24862306a36Sopenharmony_ci #size-cells = <0>; 24962306a36Sopenharmony_ci interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 25062306a36Sopenharmony_ci clock-frequency = <400000>; 25162306a36Sopenharmony_ci clocks = <&crg HISTB_I2C1_CLK>; 25262306a36Sopenharmony_ci status = "disabled"; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci i2c2: i2c@8b12000 { 25662306a36Sopenharmony_ci compatible = "hisilicon,hix5hd2-i2c"; 25762306a36Sopenharmony_ci reg = <0x8b12000 0x1000>; 25862306a36Sopenharmony_ci #address-cells = <1>; 25962306a36Sopenharmony_ci #size-cells = <0>; 26062306a36Sopenharmony_ci interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 26162306a36Sopenharmony_ci clock-frequency = <400000>; 26262306a36Sopenharmony_ci clocks = <&crg HISTB_I2C2_CLK>; 26362306a36Sopenharmony_ci status = "disabled"; 26462306a36Sopenharmony_ci }; 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci i2c3: i2c@8b13000 { 26762306a36Sopenharmony_ci compatible = "hisilicon,hix5hd2-i2c"; 26862306a36Sopenharmony_ci reg = <0x8b13000 0x1000>; 26962306a36Sopenharmony_ci #address-cells = <1>; 27062306a36Sopenharmony_ci #size-cells = <0>; 27162306a36Sopenharmony_ci interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 27262306a36Sopenharmony_ci clock-frequency = <400000>; 27362306a36Sopenharmony_ci clocks = <&crg HISTB_I2C3_CLK>; 27462306a36Sopenharmony_ci status = "disabled"; 27562306a36Sopenharmony_ci }; 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci i2c4: i2c@8b14000 { 27862306a36Sopenharmony_ci compatible = "hisilicon,hix5hd2-i2c"; 27962306a36Sopenharmony_ci reg = <0x8b14000 0x1000>; 28062306a36Sopenharmony_ci #address-cells = <1>; 28162306a36Sopenharmony_ci #size-cells = <0>; 28262306a36Sopenharmony_ci interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 28362306a36Sopenharmony_ci clock-frequency = <400000>; 28462306a36Sopenharmony_ci clocks = <&crg HISTB_I2C4_CLK>; 28562306a36Sopenharmony_ci status = "disabled"; 28662306a36Sopenharmony_ci }; 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_ci spi0: spi@8b1a000 { 28962306a36Sopenharmony_ci compatible = "arm,pl022", "arm,primecell"; 29062306a36Sopenharmony_ci reg = <0x8b1a000 0x1000>; 29162306a36Sopenharmony_ci interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 29262306a36Sopenharmony_ci num-cs = <1>; 29362306a36Sopenharmony_ci cs-gpios = <&gpio7 1 0>; 29462306a36Sopenharmony_ci clocks = <&crg HISTB_SPI0_CLK>, <&crg HISTB_SPI0_CLK>; 29562306a36Sopenharmony_ci clock-names = "sspclk", "apb_pclk"; 29662306a36Sopenharmony_ci #address-cells = <1>; 29762306a36Sopenharmony_ci #size-cells = <0>; 29862306a36Sopenharmony_ci status = "disabled"; 29962306a36Sopenharmony_ci }; 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ci sd0: mmc@9820000 { 30262306a36Sopenharmony_ci compatible = "snps,dw-mshc"; 30362306a36Sopenharmony_ci reg = <0x9820000 0x10000>; 30462306a36Sopenharmony_ci interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 30562306a36Sopenharmony_ci clocks = <&crg HISTB_SDIO0_BIU_CLK>, 30662306a36Sopenharmony_ci <&crg HISTB_SDIO0_CIU_CLK>; 30762306a36Sopenharmony_ci clock-names = "biu", "ciu"; 30862306a36Sopenharmony_ci resets = <&crg 0x9c 4>; 30962306a36Sopenharmony_ci reset-names = "reset"; 31062306a36Sopenharmony_ci status = "disabled"; 31162306a36Sopenharmony_ci }; 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ci emmc: mmc@9830000 { 31462306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-dw-mshc"; 31562306a36Sopenharmony_ci reg = <0x9830000 0x10000>; 31662306a36Sopenharmony_ci interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 31762306a36Sopenharmony_ci clocks = <&crg HISTB_MMC_CIU_CLK>, 31862306a36Sopenharmony_ci <&crg HISTB_MMC_BIU_CLK>, 31962306a36Sopenharmony_ci <&crg HISTB_MMC_SAMPLE_CLK>, 32062306a36Sopenharmony_ci <&crg HISTB_MMC_DRV_CLK>; 32162306a36Sopenharmony_ci clock-names = "ciu", "biu", "ciu-sample", "ciu-drive"; 32262306a36Sopenharmony_ci resets = <&crg 0xa0 4>; 32362306a36Sopenharmony_ci reset-names = "reset"; 32462306a36Sopenharmony_ci status = "disabled"; 32562306a36Sopenharmony_ci }; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci gpio0: gpio@8b20000 { 32862306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 32962306a36Sopenharmony_ci reg = <0x8b20000 0x1000>; 33062306a36Sopenharmony_ci interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 33162306a36Sopenharmony_ci gpio-controller; 33262306a36Sopenharmony_ci #gpio-cells = <2>; 33362306a36Sopenharmony_ci interrupt-controller; 33462306a36Sopenharmony_ci #interrupt-cells = <2>; 33562306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 0 8>; 33662306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 33762306a36Sopenharmony_ci clock-names = "apb_pclk"; 33862306a36Sopenharmony_ci status = "disabled"; 33962306a36Sopenharmony_ci }; 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_ci gpio1: gpio@8b21000 { 34262306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 34362306a36Sopenharmony_ci reg = <0x8b21000 0x1000>; 34462306a36Sopenharmony_ci interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 34562306a36Sopenharmony_ci gpio-controller; 34662306a36Sopenharmony_ci #gpio-cells = <2>; 34762306a36Sopenharmony_ci interrupt-controller; 34862306a36Sopenharmony_ci #interrupt-cells = <2>; 34962306a36Sopenharmony_ci gpio-ranges = < 35062306a36Sopenharmony_ci &pmx0 0 8 1 35162306a36Sopenharmony_ci &pmx0 1 9 4 35262306a36Sopenharmony_ci &pmx0 5 13 1 35362306a36Sopenharmony_ci &pmx0 6 14 1 35462306a36Sopenharmony_ci &pmx0 7 15 1 35562306a36Sopenharmony_ci >; 35662306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 35762306a36Sopenharmony_ci clock-names = "apb_pclk"; 35862306a36Sopenharmony_ci status = "disabled"; 35962306a36Sopenharmony_ci }; 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci gpio2: gpio@8b22000 { 36262306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 36362306a36Sopenharmony_ci reg = <0x8b22000 0x1000>; 36462306a36Sopenharmony_ci interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 36562306a36Sopenharmony_ci gpio-controller; 36662306a36Sopenharmony_ci #gpio-cells = <2>; 36762306a36Sopenharmony_ci interrupt-controller; 36862306a36Sopenharmony_ci #interrupt-cells = <2>; 36962306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 16 5 &pmx0 5 21 3>; 37062306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 37162306a36Sopenharmony_ci clock-names = "apb_pclk"; 37262306a36Sopenharmony_ci status = "disabled"; 37362306a36Sopenharmony_ci }; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci gpio3: gpio@8b23000 { 37662306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 37762306a36Sopenharmony_ci reg = <0x8b23000 0x1000>; 37862306a36Sopenharmony_ci interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 37962306a36Sopenharmony_ci gpio-controller; 38062306a36Sopenharmony_ci #gpio-cells = <2>; 38162306a36Sopenharmony_ci interrupt-controller; 38262306a36Sopenharmony_ci #interrupt-cells = <2>; 38362306a36Sopenharmony_ci gpio-ranges = < 38462306a36Sopenharmony_ci &pmx0 0 24 4 38562306a36Sopenharmony_ci &pmx0 4 28 2 38662306a36Sopenharmony_ci &pmx0 6 86 1 38762306a36Sopenharmony_ci &pmx0 7 87 1 38862306a36Sopenharmony_ci >; 38962306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 39062306a36Sopenharmony_ci clock-names = "apb_pclk"; 39162306a36Sopenharmony_ci status = "disabled"; 39262306a36Sopenharmony_ci }; 39362306a36Sopenharmony_ci 39462306a36Sopenharmony_ci gpio4: gpio@8b24000 { 39562306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 39662306a36Sopenharmony_ci reg = <0x8b24000 0x1000>; 39762306a36Sopenharmony_ci interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 39862306a36Sopenharmony_ci gpio-controller; 39962306a36Sopenharmony_ci #gpio-cells = <2>; 40062306a36Sopenharmony_ci interrupt-controller; 40162306a36Sopenharmony_ci #interrupt-cells = <2>; 40262306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 30 4 &pmx0 4 34 3 &pmx0 7 37 1>; 40362306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 40462306a36Sopenharmony_ci clock-names = "apb_pclk"; 40562306a36Sopenharmony_ci status = "disabled"; 40662306a36Sopenharmony_ci }; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci gpio5: gpio@8004000 { 40962306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 41062306a36Sopenharmony_ci reg = <0x8004000 0x1000>; 41162306a36Sopenharmony_ci interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 41262306a36Sopenharmony_ci gpio-controller; 41362306a36Sopenharmony_ci #gpio-cells = <2>; 41462306a36Sopenharmony_ci interrupt-controller; 41562306a36Sopenharmony_ci #interrupt-cells = <2>; 41662306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 41762306a36Sopenharmony_ci clock-names = "apb_pclk"; 41862306a36Sopenharmony_ci status = "disabled"; 41962306a36Sopenharmony_ci }; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci gpio6: gpio@8b26000 { 42262306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 42362306a36Sopenharmony_ci reg = <0x8b26000 0x1000>; 42462306a36Sopenharmony_ci interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 42562306a36Sopenharmony_ci gpio-controller; 42662306a36Sopenharmony_ci #gpio-cells = <2>; 42762306a36Sopenharmony_ci interrupt-controller; 42862306a36Sopenharmony_ci #interrupt-cells = <2>; 42962306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 38 3 &pmx0 0 41 5>; 43062306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 43162306a36Sopenharmony_ci clock-names = "apb_pclk"; 43262306a36Sopenharmony_ci status = "disabled"; 43362306a36Sopenharmony_ci }; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci gpio7: gpio@8b27000 { 43662306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 43762306a36Sopenharmony_ci reg = <0x8b27000 0x1000>; 43862306a36Sopenharmony_ci interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 43962306a36Sopenharmony_ci gpio-controller; 44062306a36Sopenharmony_ci #gpio-cells = <2>; 44162306a36Sopenharmony_ci interrupt-controller; 44262306a36Sopenharmony_ci #interrupt-cells = <2>; 44362306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 46 8>; 44462306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 44562306a36Sopenharmony_ci clock-names = "apb_pclk"; 44662306a36Sopenharmony_ci status = "disabled"; 44762306a36Sopenharmony_ci }; 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci gpio8: gpio@8b28000 { 45062306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 45162306a36Sopenharmony_ci reg = <0x8b28000 0x1000>; 45262306a36Sopenharmony_ci interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 45362306a36Sopenharmony_ci gpio-controller; 45462306a36Sopenharmony_ci #gpio-cells = <2>; 45562306a36Sopenharmony_ci interrupt-controller; 45662306a36Sopenharmony_ci #interrupt-cells = <2>; 45762306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 54 8>; 45862306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 45962306a36Sopenharmony_ci clock-names = "apb_pclk"; 46062306a36Sopenharmony_ci status = "disabled"; 46162306a36Sopenharmony_ci }; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci gpio9: gpio@8b29000 { 46462306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 46562306a36Sopenharmony_ci reg = <0x8b29000 0x1000>; 46662306a36Sopenharmony_ci interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 46762306a36Sopenharmony_ci gpio-controller; 46862306a36Sopenharmony_ci #gpio-cells = <2>; 46962306a36Sopenharmony_ci interrupt-controller; 47062306a36Sopenharmony_ci #interrupt-cells = <2>; 47162306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 64 7 &pmx0 71 1>; 47262306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 47362306a36Sopenharmony_ci clock-names = "apb_pclk"; 47462306a36Sopenharmony_ci status = "disabled"; 47562306a36Sopenharmony_ci }; 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ci gpio10: gpio@8b2a000 { 47862306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 47962306a36Sopenharmony_ci reg = <0x8b2a000 0x1000>; 48062306a36Sopenharmony_ci interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 48162306a36Sopenharmony_ci gpio-controller; 48262306a36Sopenharmony_ci #gpio-cells = <2>; 48362306a36Sopenharmony_ci interrupt-controller; 48462306a36Sopenharmony_ci #interrupt-cells = <2>; 48562306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 72 6 &pmx0 6 78 1 &pmx0 7 79 1>; 48662306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 48762306a36Sopenharmony_ci clock-names = "apb_pclk"; 48862306a36Sopenharmony_ci status = "disabled"; 48962306a36Sopenharmony_ci }; 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci gpio11: gpio@8b2b000 { 49262306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 49362306a36Sopenharmony_ci reg = <0x8b2b000 0x1000>; 49462306a36Sopenharmony_ci interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 49562306a36Sopenharmony_ci gpio-controller; 49662306a36Sopenharmony_ci #gpio-cells = <2>; 49762306a36Sopenharmony_ci interrupt-controller; 49862306a36Sopenharmony_ci #interrupt-cells = <2>; 49962306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 80 6 &pmx0 6 70 2>; 50062306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 50162306a36Sopenharmony_ci clock-names = "apb_pclk"; 50262306a36Sopenharmony_ci status = "disabled"; 50362306a36Sopenharmony_ci }; 50462306a36Sopenharmony_ci 50562306a36Sopenharmony_ci gpio12: gpio@8b2c000 { 50662306a36Sopenharmony_ci compatible = "arm,pl061", "arm,primecell"; 50762306a36Sopenharmony_ci reg = <0x8b2c000 0x1000>; 50862306a36Sopenharmony_ci interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 50962306a36Sopenharmony_ci gpio-controller; 51062306a36Sopenharmony_ci #gpio-cells = <2>; 51162306a36Sopenharmony_ci interrupt-controller; 51262306a36Sopenharmony_ci #interrupt-cells = <2>; 51362306a36Sopenharmony_ci gpio-ranges = <&pmx0 0 88 8>; 51462306a36Sopenharmony_ci clocks = <&crg HISTB_APB_CLK>; 51562306a36Sopenharmony_ci clock-names = "apb_pclk"; 51662306a36Sopenharmony_ci status = "disabled"; 51762306a36Sopenharmony_ci }; 51862306a36Sopenharmony_ci 51962306a36Sopenharmony_ci gmac0: ethernet@9840000 { 52062306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-gmac", "hisilicon,hisi-gmac-v2"; 52162306a36Sopenharmony_ci reg = <0x9840000 0x1000>, 52262306a36Sopenharmony_ci <0x984300c 0x4>; 52362306a36Sopenharmony_ci interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 52462306a36Sopenharmony_ci clocks = <&crg HISTB_ETH0_MAC_CLK>, 52562306a36Sopenharmony_ci <&crg HISTB_ETH0_MACIF_CLK>; 52662306a36Sopenharmony_ci clock-names = "mac_core", "mac_ifc"; 52762306a36Sopenharmony_ci resets = <&crg 0xcc 8>, 52862306a36Sopenharmony_ci <&crg 0xcc 10>, 52962306a36Sopenharmony_ci <&gmacphyrst 0>; 53062306a36Sopenharmony_ci reset-names = "mac_core", "mac_ifc", "phy"; 53162306a36Sopenharmony_ci status = "disabled"; 53262306a36Sopenharmony_ci }; 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ci gmac1: ethernet@9841000 { 53562306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-gmac", "hisilicon,hisi-gmac-v2"; 53662306a36Sopenharmony_ci reg = <0x9841000 0x1000>, 53762306a36Sopenharmony_ci <0x9843010 0x4>; 53862306a36Sopenharmony_ci interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 53962306a36Sopenharmony_ci clocks = <&crg HISTB_ETH1_MAC_CLK>, 54062306a36Sopenharmony_ci <&crg HISTB_ETH1_MACIF_CLK>; 54162306a36Sopenharmony_ci clock-names = "mac_core", "mac_ifc"; 54262306a36Sopenharmony_ci resets = <&crg 0xcc 9>, 54362306a36Sopenharmony_ci <&crg 0xcc 11>, 54462306a36Sopenharmony_ci <&gmacphyrst 1>; 54562306a36Sopenharmony_ci reset-names = "mac_core", "mac_ifc", "phy"; 54662306a36Sopenharmony_ci status = "disabled"; 54762306a36Sopenharmony_ci }; 54862306a36Sopenharmony_ci 54962306a36Sopenharmony_ci ir: ir@8001000 { 55062306a36Sopenharmony_ci compatible = "hisilicon,hix5hd2-ir"; 55162306a36Sopenharmony_ci reg = <0x8001000 0x1000>; 55262306a36Sopenharmony_ci interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 55362306a36Sopenharmony_ci clocks = <&sysctrl HISTB_IR_CLK>; 55462306a36Sopenharmony_ci status = "disabled"; 55562306a36Sopenharmony_ci }; 55662306a36Sopenharmony_ci 55762306a36Sopenharmony_ci pcie: pcie@9860000 { 55862306a36Sopenharmony_ci compatible = "hisilicon,hi3798cv200-pcie"; 55962306a36Sopenharmony_ci reg = <0x9860000 0x1000>, 56062306a36Sopenharmony_ci <0x0 0x2000>, 56162306a36Sopenharmony_ci <0x2000000 0x01000000>; 56262306a36Sopenharmony_ci reg-names = "control", "rc-dbi", "config"; 56362306a36Sopenharmony_ci #address-cells = <3>; 56462306a36Sopenharmony_ci #size-cells = <2>; 56562306a36Sopenharmony_ci device_type = "pci"; 56662306a36Sopenharmony_ci bus-range = <0x00 0xff>; 56762306a36Sopenharmony_ci num-lanes = <1>; 56862306a36Sopenharmony_ci ranges = <0x81000000 0x0 0x00000000 0x4f00000 0x0 0x100000>, 56962306a36Sopenharmony_ci <0x82000000 0x0 0x3000000 0x3000000 0x0 0x01f00000>; 57062306a36Sopenharmony_ci interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; 57162306a36Sopenharmony_ci interrupt-names = "msi"; 57262306a36Sopenharmony_ci #interrupt-cells = <1>; 57362306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0>; 57462306a36Sopenharmony_ci interrupt-map = <0 0 0 0 &gic 0 131 IRQ_TYPE_LEVEL_HIGH>; 57562306a36Sopenharmony_ci clocks = <&crg HISTB_PCIE_AUX_CLK>, 57662306a36Sopenharmony_ci <&crg HISTB_PCIE_PIPE_CLK>, 57762306a36Sopenharmony_ci <&crg HISTB_PCIE_SYS_CLK>, 57862306a36Sopenharmony_ci <&crg HISTB_PCIE_BUS_CLK>; 57962306a36Sopenharmony_ci clock-names = "aux", "pipe", "sys", "bus"; 58062306a36Sopenharmony_ci resets = <&crg 0x18c 6>, <&crg 0x18c 5>, <&crg 0x18c 4>; 58162306a36Sopenharmony_ci reset-names = "soft", "sys", "bus"; 58262306a36Sopenharmony_ci phys = <&combphy1 PHY_TYPE_PCIE>; 58362306a36Sopenharmony_ci phy-names = "phy"; 58462306a36Sopenharmony_ci status = "disabled"; 58562306a36Sopenharmony_ci }; 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_ci ohci: usb@9880000 { 58862306a36Sopenharmony_ci compatible = "generic-ohci"; 58962306a36Sopenharmony_ci reg = <0x9880000 0x10000>; 59062306a36Sopenharmony_ci interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 59162306a36Sopenharmony_ci clocks = <&crg HISTB_USB2_BUS_CLK>, 59262306a36Sopenharmony_ci <&crg HISTB_USB2_12M_CLK>, 59362306a36Sopenharmony_ci <&crg HISTB_USB2_48M_CLK>; 59462306a36Sopenharmony_ci clock-names = "bus", "clk12", "clk48"; 59562306a36Sopenharmony_ci resets = <&crg 0xb8 12>; 59662306a36Sopenharmony_ci reset-names = "bus"; 59762306a36Sopenharmony_ci phys = <&usb2_phy1_port0>; 59862306a36Sopenharmony_ci phy-names = "usb"; 59962306a36Sopenharmony_ci status = "disabled"; 60062306a36Sopenharmony_ci }; 60162306a36Sopenharmony_ci 60262306a36Sopenharmony_ci ehci: usb@9890000 { 60362306a36Sopenharmony_ci compatible = "generic-ehci"; 60462306a36Sopenharmony_ci reg = <0x9890000 0x10000>; 60562306a36Sopenharmony_ci interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 60662306a36Sopenharmony_ci clocks = <&crg HISTB_USB2_BUS_CLK>, 60762306a36Sopenharmony_ci <&crg HISTB_USB2_PHY_CLK>, 60862306a36Sopenharmony_ci <&crg HISTB_USB2_UTMI_CLK>; 60962306a36Sopenharmony_ci clock-names = "bus", "phy", "utmi"; 61062306a36Sopenharmony_ci resets = <&crg 0xb8 12>, 61162306a36Sopenharmony_ci <&crg 0xb8 16>, 61262306a36Sopenharmony_ci <&crg 0xb8 13>; 61362306a36Sopenharmony_ci reset-names = "bus", "phy", "utmi"; 61462306a36Sopenharmony_ci phys = <&usb2_phy1_port0>; 61562306a36Sopenharmony_ci phy-names = "usb"; 61662306a36Sopenharmony_ci status = "disabled"; 61762306a36Sopenharmony_ci }; 61862306a36Sopenharmony_ci }; 61962306a36Sopenharmony_ci}; 620