/dts-v1/; / { compatible = "hisilicon,hi3670-hikey970\0hisilicon,hi3670"; interrupt-parent = <0x01>; #address-cells = <0x02>; #size-cells = <0x02>; model = "HiKey970"; psci { compatible = "arm,psci-0.2"; method = "smc"; }; cpus { #address-cells = <0x02>; #size-cells = <0x00>; cpu-map { cluster0 { core0 { cpu = <0x02>; }; core1 { cpu = <0x03>; }; core2 { cpu = <0x04>; }; core3 { cpu = <0x05>; }; }; cluster1 { core0 { cpu = <0x06>; }; core1 { cpu = <0x07>; }; core2 { cpu = <0x08>; }; core3 { cpu = <0x09>; }; }; }; cpu@0 { compatible = "arm,cortex-a53"; device_type = "cpu"; reg = <0x00 0x00>; enable-method = "psci"; phandle = <0x02>; }; cpu@1 { compatible = "arm,cortex-a53"; device_type = "cpu"; reg = <0x00 0x01>; enable-method = "psci"; phandle = <0x03>; }; cpu@2 { compatible = "arm,cortex-a53"; device_type = "cpu"; reg = <0x00 0x02>; enable-method = "psci"; phandle = <0x04>; }; cpu@3 { compatible = "arm,cortex-a53"; device_type = "cpu"; reg = <0x00 0x03>; enable-method = "psci"; phandle = <0x05>; }; cpu@100 { compatible = "arm,cortex-a73"; device_type = "cpu"; reg = <0x00 0x100>; enable-method = "psci"; phandle = <0x06>; }; cpu@101 { compatible = "arm,cortex-a73"; device_type = "cpu"; reg = <0x00 0x101>; enable-method = "psci"; phandle = <0x07>; }; cpu@102 { compatible = "arm,cortex-a73"; device_type = "cpu"; reg = <0x00 0x102>; enable-method = "psci"; phandle = <0x08>; }; cpu@103 { compatible = "arm,cortex-a73"; device_type = "cpu"; reg = <0x00 0x103>; enable-method = "psci"; phandle = <0x09>; }; }; interrupt-controller@e82b0000 { compatible = "arm,gic-400"; reg = <0x00 0xe82b1000 0x00 0x1000 0x00 0xe82b2000 0x00 0x2000 0x00 0xe82b4000 0x00 0x2000 0x00 0xe82b6000 0x00 0x2000>; #interrupt-cells = <0x03>; #address-cells = <0x00>; interrupts = <0x01 0x09 0xff04>; interrupt-controller; phandle = <0x01>; }; timer { compatible = "arm,armv8-timer"; interrupt-parent = <0x01>; interrupts = <0x01 0x0d 0xff08 0x01 0x0e 0xff08 0x01 0x0b 0xff08 0x01 0x0a 0xff08>; clock-frequency = <0x1d4c00>; }; soc { compatible = "simple-bus"; #address-cells = <0x02>; #size-cells = <0x02>; ranges; crg_ctrl@fff35000 { compatible = "hisilicon,hi3670-crgctrl\0syscon"; reg = <0x00 0xfff35000 0x00 0x1000>; #clock-cells = <0x01>; phandle = <0x0a>; }; crg_rst_controller { compatible = "hisilicon,hi3670-reset\0hisilicon,hi3660-reset"; #reset-cells = <0x02>; hisi,rst-syscon = <0x0a>; phandle = <0x1a>; }; pctrl@e8a09000 { compatible = "hisilicon,hi3670-pctrl\0syscon"; reg = <0x00 0xe8a09000 0x00 0x1000>; #clock-cells = <0x01>; phandle = <0x28>; }; crg_ctrl@fff34000 { compatible = "hisilicon,hi3670-pmuctrl\0syscon"; reg = <0x00 0xfff34000 0x00 0x1000>; #clock-cells = <0x01>; phandle = <0x29>; }; sctrl@fff0a000 { compatible = "hisilicon,hi3670-sctrl\0syscon"; reg = <0x00 0xfff0a000 0x00 0x1000>; #clock-cells = <0x01>; phandle = <0x18>; }; iomcu@ffd7e000 { compatible = "hisilicon,hi3670-iomcu\0syscon"; reg = <0x00 0xffd7e000 0x00 0x1000>; #clock-cells = <0x01>; phandle = <0x2a>; }; media1_crgctrl@e87ff000 { compatible = "hisilicon,hi3670-media1-crg\0syscon"; reg = <0x00 0xe87ff000 0x00 0x1000>; #clock-cells = <0x01>; phandle = <0x2b>; }; media2_crgctrl@e8900000 { compatible = "hisilicon,hi3670-media2-crg\0syscon"; reg = <0x00 0xe8900000 0x00 0x1000>; #clock-cells = <0x01>; phandle = <0x2c>; }; serial@fdf02000 { compatible = "arm,pl011\0arm,primecell"; reg = <0x00 0xfdf02000 0x00 0x1000>; interrupts = <0x00 0x4a 0x04>; clocks = <0x0a 0xb2 0x0a 0x0d>; clock-names = "uartclk\0apb_pclk"; pinctrl-names = "default"; pinctrl-0 = <0x0b 0x0c>; status = "okay"; label = "HS-UART0"; phandle = <0x2d>; }; serial@fdf00000 { compatible = "arm,pl011\0arm,primecell"; reg = <0x00 0xfdf00000 0x00 0x1000>; interrupts = <0x00 0x4b 0x04>; clocks = <0x0a 0xaa 0x0a 0x0d>; clock-names = "uartclk\0apb_pclk"; pinctrl-names = "default"; status = "disabled"; phandle = <0x2e>; }; serial@fdf03000 { compatible = "arm,pl011\0arm,primecell"; reg = <0x00 0xfdf03000 0x00 0x1000>; interrupts = <0x00 0x4c 0x04>; clocks = <0x0a 0xae 0x0a 0x0d>; clock-names = "uartclk\0apb_pclk"; pinctrl-names = "default"; pinctrl-0 = <0x0d 0x0e>; status = "okay"; label = "LS-UART0"; phandle = <0x2f>; }; serial@ffd74000 { compatible = "arm,pl011\0arm,primecell"; reg = <0x00 0xffd74000 0x00 0x1000>; interrupts = <0x00 0x72 0x04>; clocks = <0x0a 0x05 0x0a 0x0d>; clock-names = "uartclk\0apb_pclk"; pinctrl-names = "default"; pinctrl-0 = <0x0f 0x10>; status = "disabled"; phandle = <0x30>; }; serial@fdf01000 { compatible = "arm,pl011\0arm,primecell"; reg = <0x00 0xfdf01000 0x00 0x1000>; interrupts = <0x00 0x4d 0x04>; clocks = <0x0a 0xab 0x0a 0x0d>; clock-names = "uartclk\0apb_pclk"; pinctrl-names = "default"; pinctrl-0 = <0x11 0x12>; status = "disabled"; phandle = <0x31>; }; serial@fdf05000 { compatible = "arm,pl011\0arm,primecell"; reg = <0x00 0xfdf05000 0x00 0x1000>; interrupts = <0x00 0x4e 0x04>; clocks = <0x0a 0xaf 0x0a 0x0d>; clock-names = "uartclk\0apb_pclk"; pinctrl-names = "default"; status = "disabled"; phandle = <0x32>; }; serial@fff32000 { compatible = "arm,pl011\0arm,primecell"; reg = <0x00 0xfff32000 0x00 0x1000>; interrupts = <0x00 0x4f 0x04>; clocks = <0x0a 0x0f 0x0a 0x0d>; clock-names = "uartclk\0apb_pclk"; pinctrl-names = "default"; pinctrl-0 = <0x13 0x14>; status = "okay"; label = "LS-UART1"; phandle = <0x33>; }; gpio@e8a0b000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a0b000 0x00 0x1000>; interrupts = <0x00 0x54 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x01 0x00 0x01 0x15 0x03 0x01 0x05>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x7d>; clock-names = "apb_pclk"; gpio-line-names = "\0TP901\0\0GPIO_003_USB_HUB_RESET_N\0NC\0[AP_GPS_REF_CLK]\0[I2C3_SCL]\0[I2C3_SDA]"; phandle = <0x34>; }; gpio@e8a0c000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a0c000 0x00 0x1000>; interrupts = <0x00 0x55 0x04>; gpio-controller; #gpio-cells = <0x02>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x7e>; clock-names = "apb_pclk"; gpio-line-names = "[UART0_CTS]\0[UART0_RTS]\0[UART0_TXD]\0[UART0_RXD]\0[USER_LED5]\0GPIO-I\0[USER_LED3]\0[USER_LED4]"; phandle = <0x35>; }; gpio@e8a0d000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a0d000 0x00 0x1000>; interrupts = <0x00 0x56 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x01 0x06 0x07>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x7f>; clock-names = "apb_pclk"; gpio-line-names = "GPIO-G\0[CSI0_MCLK]\0[CSI1_MCLK]\0GPIO_019_BT_ACTIVE\0[I2C2_SCL]\0[I2C2_SDA]\0[I2C3_SCL]\0[I2C3_SDA]"; phandle = <0x36>; }; gpio@e8a0e000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a0e000 0x00 0x1000>; interrupts = <0x00 0x57 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x00 0x0d 0x04 0x15 0x07 0x11 0x01>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x80>; clock-names = "apb_pclk"; gpio-line-names = "GPIO_024_WIFI_ACTIVE\0GPIO_025_PERST_M.2\0[I2C4_SCL]\0[I2C4_SDA]\0NC\0GPIO-H\0[USER_LED1]\0GPIO-L"; phandle = <0x37>; }; gpio@e8a0f000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a0f000 0x00 0x1000>; interrupts = <0x00 0x58 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x00 0x12 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x81>; clock-names = "apb_pclk"; gpio-line-names = "GPIO-K\0GPIO_033_PMU1_EN\0GPIO_034_USBSW_SEL\0[SD_DAT1]\0[SD_DAT2]\0[UART1_RXD]\0[UART1_TXD]\0[SOC_GPS_UART3_CTS_N]"; phandle = <0x38>; }; gpio@e8a10000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a10000 0x00 0x1000>; interrupts = <0x00 0x59 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x00 0x1a 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x82>; clock-names = "apb_pclk"; gpio-line-names = "[SOC_GPS_UART3_RTS_N]\0[SOC_GPS_UART3_RXD]\0[SOC_GPS_UART3_TXD]\0[SOC_BT_UART4_CTS_N]\0[SOC_BT_UART4_RTS_N]\0[SOC_BT_UART4_RXD]\0[SOC_BT_UART4_TXD]\0NC"; phandle = <0x39>; }; gpio@e8a11000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a11000 0x00 0x1000>; interrupts = <0x00 0x5a 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x01 0x22 0x07>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x83>; clock-names = "apb_pclk"; gpio-line-names = "NC\0GPIO_049_USER_LED6\0GPIO_050_CAN_RST\0GPIO_051_WIFI_EN\0GPIO-D\0GPIO-J\0GPIO_054_BT_EN\0[GPIO_055_SEL]"; phandle = <0x27>; }; gpio@e8a12000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a12000 0x00 0x1000>; interrupts = <0x00 0x5b 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x00 0x29 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x84>; clock-names = "apb_pclk"; gpio-line-names = "[PCIE_PERST_L]\0NC\0NC\0NC\0NC\0NC\0NC\0NC"; phandle = <0x3a>; }; gpio@e8a13000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a13000 0x00 0x1000>; interrupts = <0x00 0x5c 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x00 0x31 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x85>; clock-names = "apb_pclk"; gpio-line-names = "NC\0NC\0NC\0NC\0NC\0NC\0NC\0NC"; phandle = <0x3b>; }; gpio@e8a14000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a14000 0x00 0x1000>; interrupts = <0x00 0x5d 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x00 0x39 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x86>; clock-names = "apb_pclk"; gpio-line-names = "NC\0NC\0NC\0NC\0NC\0NC\0NC\0NC"; phandle = <0x3c>; }; gpio@e8a15000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a15000 0x00 0x1000>; interrupts = <0x00 0x5e 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x00 0x41 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x87>; clock-names = "apb_pclk"; gpio-line-names = "NC\0NC\0NC\0NC\0NC\0NC\0NC\0NC"; phandle = <0x3d>; }; gpio@e8a16000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a16000 0x00 0x1000>; interrupts = <0x00 0x5f 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x00 0x49 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x88>; clock-names = "apb_pclk"; gpio-line-names = "NC\0NC\0NC\0NC\0NC\0NC\0NC\0NC"; phandle = <0x3e>; }; gpio@e8a17000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a17000 0x00 0x1000>; interrupts = <0x00 0x60 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x15 0x00 0x51 0x01>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x89>; clock-names = "apb_pclk"; gpio-line-names = [4e 43 00 00 00 00 00 00 00 00]; phandle = <0x3f>; }; gpio@e8a18000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a18000 0x00 0x1000>; interrupts = <0x00 0x61 0x04>; gpio-controller; #gpio-cells = <0x02>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x8a>; clock-names = "apb_pclk"; gpio-line-names = <0x00 0x00>; phandle = <0x40>; }; gpio@e8a19000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a19000 0x00 0x1000>; interrupts = <0x00 0x62 0x04>; gpio-controller; #gpio-cells = <0x02>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x8b>; clock-names = "apb_pclk"; gpio-line-names = <0x00 0x00>; phandle = <0x41>; }; gpio@e8a1a000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a1a000 0x00 0x1000>; interrupts = <0x00 0x63 0x04>; gpio-controller; #gpio-cells = <0x02>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x8c>; clock-names = "apb_pclk"; gpio-line-names = <0x00 0x00>; phandle = <0x42>; }; gpio@e8a1b000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a1b000 0x00 0x1000>; interrupts = <0x00 0x64 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x16 0x00 0x00 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x8d>; clock-names = "apb_pclk"; gpio-line-names = "[WL_SDIO_CLK]\0[WL_SDIO_CMD]\0[WL_SDIO_DATA0]\0[WL_SDIO_DATA1]\0[WL_SDIO_DATA2]\0[WL_SDIO_DATA3]\0[ETH_ISOLATE]\0NC"; phandle = <0x43>; }; gpio@e8a1c000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a1c000 0x00 0x1000>; interrupts = <0x00 0x65 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x16 0x00 0x08 0x02>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x8e>; clock-names = "apb_pclk"; gpio-line-names = "[MINI1CLK_EN]\0NC\0\0\0\0\0\0"; phandle = <0x44>; }; gpio@fff28000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xfff28000 0x00 0x1000>; interrupts = <0x00 0x66 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x17 0x04 0x2a 0x04>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x18 0x12>; clock-names = "apb_pclk"; gpio-line-names = "[SPI1_SCLK]\0[SPI1_DIN]\0[SPI1_DOUT]\0[SPI1_CS]\0[POWER_INT_N]\0[CDMA_GPS_SYNC]\0GPIO_150_PEX_INTA\0GPIO_151_CAN_INT"; phandle = <0x45>; }; gpio@fff29000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xfff29000 0x00 0x1000>; interrupts = <0x00 0x67 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x17 0x00 0x3d 0x02>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x18 0x13>; clock-names = "apb_pclk"; gpio-line-names = <0x00 0x00>; phandle = <0x46>; }; gpio@e8a1f000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a1f000 0x00 0x1000>; interrupts = <0x00 0x68 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x19 0x00 0x00 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x8f>; clock-names = "apb_pclk"; gpio-line-names = "[SD_CLK]\0[SD_CMD]\0[SD_DATA0]\0[SD_DATA1]\0[SD_DATA2]\0[SD_DATA3]\0GPIO_166_ETHCLK_EN\0GPIO_167_USER_LED2"; phandle = <0x47>; }; gpio@e8a20000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xe8a20000 0x00 0x1000>; interrupts = <0x00 0x69 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x19 0x00 0x08 0x04>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x0a 0x90>; clock-names = "apb_pclk"; gpio-line-names = "GPIO_168_GPS_EN\0GPIO-C\0GPIO-E\0GPIO-B\0\0\0\0\0"; phandle = <0x48>; }; gpio@fff0b000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xfff0b000 0x00 0x1000>; interrupts = <0x00 0x6a 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x17 0x02 0x00 0x06>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x18 0x18>; clock-names = "apb_pclk"; gpio-line-names = "[PMU_PWR_HOLD]\0GPIO_177_WL_WAKEUP_AP\0[JTAG_TCK]\0[JTAG_TMS]\0[JTAG_TDI]\0[JTAG_TMS]\0GPIO_182_FATAL_ERR\0NC"; phandle = <0x25>; }; gpio@fff0c000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xfff0c000 0x00 0x1000>; interrupts = <0x00 0x6b 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x17 0x00 0x06 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x18 0x19>; clock-names = "apb_pclk"; gpio-line-names = "GPIO_184_JTAG_SEL\0GPIO-F\0[I2C0_SCL]\0[I2C0_SDA]\0[GPIO_188_I2C1_SCL]\0[GPIO_189_I2C1_SDA]\0[I2C1_SCL]\0[I2C2_SDA]"; phandle = <0x49>; }; gpio@fff0d000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xfff0d000 0x00 0x1000>; interrupts = <0x00 0x6c 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x17 0x00 0x0e 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x18 0x1a>; clock-names = "apb_pclk"; gpio-line-names = "[SD_LED]\0NC\0[PCM_DI]\0[PCM_DO]\0[PCM_CLK]\0[PCM_FS]\0\0[I2S2_DO]"; phandle = <0x4a>; }; gpio@fff0e000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xfff0e000 0x00 0x1000>; interrupts = <0x00 0x6d 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x17 0x00 0x16 0x08>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x18 0x1b>; clock-names = "apb_pclk"; gpio-line-names = "[I2S2_XCLK]\0[I2S2_XFS]\0GPIO_202_PERST_ETH\0GPIO_203_PWRON_DET\0GPIO_204_PMU1_IRQ_N\0GPIO_205_SD_DET\0GPIO_206_GPS_MOTION_INT\0GPIO_207_HDMI_SEL"; phandle = <0x1b>; }; gpio@fff0f000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xfff0f000 0x00 0x1000>; interrupts = <0x00 0x6e 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x17 0x00 0x1e 0x01>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x18 0x1c>; clock-names = "apb_pclk"; gpio-line-names = "GPIO-A\0GPIO_209_VBUS_TYPEC\0NC\0NC\0NC\0[SPI0_SCLK]\0[SPI0_DIN]\0[SPI0_DOUT]"; phandle = <0x4b>; }; gpio@fff10000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xfff10000 0x00 0x1000>; interrupts = <0x00 0x6f 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x17 0x04 0x1f 0x04>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x18 0x1d>; clock-names = "apb_pclk"; gpio-line-names = "[SPI0_CS]\0GPIO_217_HDMI_PD\0GPIO_218_GPS_WAKEUP_AP\0GPIO_219_M.2CLK_EN\0GPIO_220_PERST_MINI\0GPIO_221_CC_INT\0[PCIE_CLKREQ_L]\0NC"; phandle = <0x4c>; }; gpio@fff1d000 { compatible = "arm,pl061\0arm,primecell"; reg = <0x00 0xfff1d000 0x00 0x1000>; interrupts = <0x00 0x8d 0x04>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x17 0x01 0x23 0x07>; interrupt-controller; #interrupt-cells = <0x02>; clocks = <0x18 0x1e>; clock-names = "apb_pclk"; gpio-line-names = "[PMU0_INT]\0[SPMI_DATA]\0[SPMI_CLK]\0[CAN_SPI_CLK]\0[CAN_SPI_DI]\0[CAN_SPI_DO]\0[CAN_SPI_CS]\0GPIO_231_HDMI_INT"; phandle = <0x4d>; }; ufs@ff3c0000 { compatible = "hisilicon,hi3670-ufs\0jedec,ufs-2.1"; reg = <0x00 0xff3c0000 0x00 0x1000 0x00 0xff3e0000 0x00 0x1000>; interrupt-parent = <0x01>; interrupts = <0x00 0x116 0x04>; clocks = <0x0a 0x17 0x0a 0x16>; clock-names = "ref_clk\0phy_clk"; freq-table-hz = <0x00 0x00 0x00 0x00>; resets = <0x1a 0x84 0x0c>; reset-names = "rst"; phandle = <0x4e>; }; dwmmc1@ff37f000 { compatible = "hisilicon,hi3670-dw-mshc\0hisilicon,hi3660-dw-mshc"; reg = <0x00 0xff37f000 0x00 0x1000>; #address-cells = <0x01>; #size-cells = <0x00>; interrupts = <0x00 0x8b 0x04>; clocks = <0x0a 0x9f 0x0a 0xa0>; clock-names = "ciu\0biu"; clock-frequency = <0x30d400>; resets = <0x1a 0x94 0x12>; reset-names = "reset"; hisilicon,peripheral-syscon = <0x18>; card-detect-delay = <0xc8>; status = "okay"; bus-width = <0x04>; sd-uhs-sdr12; sd-uhs-sdr25; sd-uhs-sdr50; sd-uhs-sdr104; cap-sd-highspeed; disable-wp; cd-inverted; cd-gpios = <0x1b 0x05 0x00>; pinctrl-names = "default"; pinctrl-0 = <0x1c 0x1d 0x1e>; vmmc-supply = <0x1f>; vqmmc-supply = <0x20>; phandle = <0x4f>; }; dwmmc2@fc183000 { compatible = "hisilicon,hi3670-dw-mshc\0hisilicon,hi3660-dw-mshc"; reg = <0x00 0xfc183000 0x00 0x1000>; #address-cells = <0x01>; #size-cells = <0x00>; interrupts = <0x00 0x8c 0x04>; clocks = <0x0a 0xa1 0x0a 0x95>; clock-names = "ciu\0biu"; clock-frequency = <0x30d400>; resets = <0x1a 0x94 0x14>; reset-names = "reset"; card-detect-delay = <0xc8>; status = "okay"; bus-width = <0x04>; non-removable; broken-cd; cap-power-off-card; pinctrl-names = "default"; pinctrl-0 = <0x21 0x22 0x23>; vmmc-supply = <0x24>; phandle = <0x50>; wlcore@2 { compatible = "ti,wl1837"; reg = <0x02>; interrupt-parent = <0x25>; interrupts = <0x01 0x01>; phandle = <0x51>; }; }; gpio-range { #pinctrl-single,gpio-range-cells = <0x03>; phandle = <0x26>; }; pinmux@e896c000 { compatible = "pinctrl-single"; reg = <0x00 0xe896c000 0x00 0x72c>; #pinctrl-cells = <0x01>; #gpio-range-cells = <0x03>; pinctrl-single,register-width = <0x20>; pinctrl-single,function-mask = <0x07>; pinctrl-single,gpio-range = <0x26 0x00 0x52 0x00>; phandle = <0x15>; uart0_pmx_func { pinctrl-single,pins = <0x54 0x02 0x58 0x02>; phandle = <0x0b>; }; uart2_pmx_func { pinctrl-single,pins = <0x700 0x02 0x704 0x02 0x708 0x02 0x70c 0x02>; phandle = <0x0d>; }; uart3_pmx_func { pinctrl-single,pins = <0x64 0x01 0x68 0x01 0x6c 0x01 0x70 0x01>; phandle = <0x0f>; }; uart4_pmx_func { pinctrl-single,pins = <0x74 0x01 0x78 0x01 0x7c 0x01 0x80 0x01>; phandle = <0x11>; }; uart6_pmx_func { pinctrl-single,pins = <0x5c 0x01 0x60 0x01>; phandle = <0x13>; }; }; pinmux@e896c800 { compatible = "pinconf-single"; reg = <0x00 0xe896c800 0x00 0x72c>; #pinctrl-cells = <0x01>; pinctrl-single,register-width = <0x20>; phandle = <0x52>; uart0_cfg_func { pinctrl-single,pins = <0x58 0x00 0x5c 0x00>; pinctrl-single,bias-pulldown = <0x00 0x02 0x00 0x02>; pinctrl-single,bias-pullup = <0x00 0x01 0x00 0x01>; pinctrl-single,drive-strength = <0x10 0xf0>; phandle = <0x0c>; }; uart2_cfg_func { pinctrl-single,pins = <0x700 0x00 0x704 0x00 0x708 0x00 0x70c 0x00>; pinctrl-single,bias-pulldown = <0x00 0x02 0x00 0x02>; pinctrl-single,bias-pullup = <0x00 0x01 0x00 0x01>; pinctrl-single,drive-strength = <0x10 0xf0>; phandle = <0x0e>; }; uart3_cfg_func { pinctrl-single,pins = <0x68 0x00 0x6c 0x00 0x70 0x00 0x74 0x00>; pinctrl-single,bias-pulldown = <0x00 0x02 0x00 0x02>; pinctrl-single,bias-pullup = <0x00 0x01 0x00 0x01>; pinctrl-single,drive-strength = <0x10 0xf0>; phandle = <0x10>; }; uart4_cfg_func { pinctrl-single,pins = <0x78 0x00 0x7c 0x00 0x80 0x00 0x84 0x00>; pinctrl-single,bias-pulldown = <0x00 0x02 0x00 0x02>; pinctrl-single,bias-pullup = <0x00 0x01 0x00 0x01>; pinctrl-single,drive-strength = <0x10 0xf0>; phandle = <0x12>; }; uart6_cfg_func { pinctrl-single,pins = <0x60 0x00 0x64 0x00>; pinctrl-single,bias-pulldown = <0x00 0x02 0x00 0x02>; pinctrl-single,bias-pullup = <0x00 0x01 0x00 0x01>; pinctrl-single,drive-strength = <0x00 0xf0>; phandle = <0x14>; }; }; pinmux@fc182000 { compatible = "pinctrl-single"; reg = <0x00 0xfc182000 0x00 0x28>; #gpio-range-cells = <0x03>; #pinctrl-cells = <0x01>; pinctrl-single,register-width = <0x20>; pinctrl-single,function-mask = <0x07>; pinctrl-single,gpio-range = <0x26 0x00 0x0a 0x00>; phandle = <0x16>; sdio_pmx_func { pinctrl-single,pins = <0x00 0x01 0x04 0x01 0x08 0x01 0x0c 0x01 0x10 0x01 0x14 0x01>; phandle = <0x21>; }; }; pinmux@fc182800 { compatible = "pinconf-single"; reg = <0x00 0xfc182800 0x00 0x28>; #pinctrl-cells = <0x01>; pinctrl-single,register-width = <0x20>; phandle = <0x53>; sdio_clk_cfg_func { pinctrl-single,pins = <0x00 0x00>; pinctrl-single,bias-pulldown = <0x00 0x02 0x00 0x02>; pinctrl-single,bias-pullup = <0x00 0x01 0x00 0x01>; pinctrl-single,drive-strength = <0xf0 0xf0>; phandle = <0x22>; }; sdio_cfg_func { pinctrl-single,pins = <0x04 0x00 0x08 0x00 0x0c 0x00 0x10 0x00 0x14 0x00>; pinctrl-single,bias-pulldown = <0x00 0x02 0x00 0x02>; pinctrl-single,bias-pullup = <0x01 0x01 0x00 0x01>; pinctrl-single,drive-strength = <0x80 0xf0>; phandle = <0x23>; }; }; pinmux@ff37e000 { compatible = "pinctrl-single"; reg = <0x00 0xff37e000 0x00 0x30>; #gpio-range-cells = <0x03>; #pinctrl-cells = <0x01>; pinctrl-single,register-width = <0x20>; pinctrl-single,function-mask = <0x07>; pinctrl-single,gpio-range = <0x26 0x00 0x0c 0x00>; phandle = <0x19>; sd_pmx_func { pinctrl-single,pins = <0x00 0x01 0x04 0x01 0x08 0x01 0x0c 0x01 0x10 0x01 0x14 0x01>; phandle = <0x1c>; }; }; pinmux@ff37e800 { compatible = "pinconf-single"; reg = <0x00 0xff37e800 0x00 0x30>; #pinctrl-cells = <0x01>; pinctrl-single,register-width = <0x20>; phandle = <0x54>; sd_clk_cfg_func { pinctrl-single,pins = <0x00 0x00>; pinctrl-single,bias-pulldown = <0x00 0x02 0x00 0x02>; pinctrl-single,bias-pullup = <0x00 0x01 0x00 0x01>; pinctrl-single,drive-strength = <0xf0 0xf0>; phandle = <0x1d>; }; sd_cfg_func { pinctrl-single,pins = <0x04 0x00 0x08 0x00 0x0c 0x00 0x10 0x00 0x14 0x00>; pinctrl-single,bias-pulldown = <0x00 0x02 0x00 0x02>; pinctrl-single,bias-pullup = <0x01 0x01 0x00 0x01>; pinctrl-single,drive-strength = <0x80 0xf0>; phandle = <0x1e>; }; }; pinmux@fff11000 { compatible = "pinctrl-single"; reg = <0x00 0xfff11000 0x00 0x73c>; #gpio-range-cells = <0x03>; #pinctrl-cells = <0x01>; pinctrl-single,register-width = <0x20>; pinctrl-single,function-mask = <0x07>; pinctrl-single,gpio-range = <0x26 0x00 0x2e 0x00>; phandle = <0x17>; }; pinmux@fff11800 { compatible = "pinconf-single"; reg = <0x00 0xfff11800 0x00 0x73c>; #pinctrl-cells = <0x01>; pinctrl-single,register-width = <0x20>; phandle = <0x55>; }; }; aliases { mshc1 = "/soc/dwmmc1@ff37f000"; mshc2 = "/soc/dwmmc2@fc183000"; serial0 = "/soc/serial@fdf02000"; serial1 = "/soc/serial@fdf00000"; serial2 = "/soc/serial@fdf03000"; serial3 = "/soc/serial@ffd74000"; serial4 = "/soc/serial@fdf01000"; serial5 = "/soc/serial@fdf05000"; serial6 = "/soc/serial@fff32000"; }; chosen { stdout-path = "serial6:115200n8"; }; memory@0 { device_type = "memory"; reg = <0x00 0x00 0x00 0x00>; }; regulator-1v8 { compatible = "regulator-fixed"; regulator-name = "fixed-1.8V"; regulator-min-microvolt = <0x1b7740>; regulator-max-microvolt = <0x1b7740>; regulator-always-on; phandle = <0x20>; }; regulator-3v3 { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; regulator-boot-on; regulator-always-on; phandle = <0x1f>; }; wlan-en-1-8v { compatible = "regulator-fixed"; regulator-name = "wlan-en-regulator"; regulator-min-microvolt = <0x1b7740>; regulator-max-microvolt = <0x1b7740>; gpio = <0x27 0x03 0x00>; startup-delay-us = <0x11170>; enable-active-high; phandle = <0x24>; }; __symbols__ { cpu0 = "/cpus/cpu@0"; cpu1 = "/cpus/cpu@1"; cpu2 = "/cpus/cpu@2"; cpu3 = "/cpus/cpu@3"; cpu4 = "/cpus/cpu@100"; cpu5 = "/cpus/cpu@101"; cpu6 = "/cpus/cpu@102"; cpu7 = "/cpus/cpu@103"; gic = "/interrupt-controller@e82b0000"; crg_ctrl = "/soc/crg_ctrl@fff35000"; crg_rst = "/soc/crg_rst_controller"; pctrl = "/soc/pctrl@e8a09000"; pmuctrl = "/soc/crg_ctrl@fff34000"; sctrl = "/soc/sctrl@fff0a000"; iomcu = "/soc/iomcu@ffd7e000"; media1_crg = "/soc/media1_crgctrl@e87ff000"; media2_crg = "/soc/media2_crgctrl@e8900000"; uart0 = "/soc/serial@fdf02000"; uart1 = "/soc/serial@fdf00000"; uart2 = "/soc/serial@fdf03000"; uart3 = "/soc/serial@ffd74000"; uart4 = "/soc/serial@fdf01000"; uart5 = "/soc/serial@fdf05000"; uart6 = "/soc/serial@fff32000"; gpio0 = "/soc/gpio@e8a0b000"; gpio1 = "/soc/gpio@e8a0c000"; gpio2 = "/soc/gpio@e8a0d000"; gpio3 = "/soc/gpio@e8a0e000"; gpio4 = "/soc/gpio@e8a0f000"; gpio5 = "/soc/gpio@e8a10000"; gpio6 = "/soc/gpio@e8a11000"; gpio7 = "/soc/gpio@e8a12000"; gpio8 = "/soc/gpio@e8a13000"; gpio9 = "/soc/gpio@e8a14000"; gpio10 = "/soc/gpio@e8a15000"; gpio11 = "/soc/gpio@e8a16000"; gpio12 = "/soc/gpio@e8a17000"; gpio13 = "/soc/gpio@e8a18000"; gpio14 = "/soc/gpio@e8a19000"; gpio15 = "/soc/gpio@e8a1a000"; gpio16 = "/soc/gpio@e8a1b000"; gpio17 = "/soc/gpio@e8a1c000"; gpio18 = "/soc/gpio@fff28000"; gpio19 = "/soc/gpio@fff29000"; gpio20 = "/soc/gpio@e8a1f000"; gpio21 = "/soc/gpio@e8a20000"; gpio22 = "/soc/gpio@fff0b000"; gpio23 = "/soc/gpio@fff0c000"; gpio24 = "/soc/gpio@fff0d000"; gpio25 = "/soc/gpio@fff0e000"; gpio26 = "/soc/gpio@fff0f000"; gpio27 = "/soc/gpio@fff10000"; gpio28 = "/soc/gpio@fff1d000"; ufs = "/soc/ufs@ff3c0000"; dwmmc1 = "/soc/dwmmc1@ff37f000"; dwmmc2 = "/soc/dwmmc2@fc183000"; wlcore = "/soc/dwmmc2@fc183000/wlcore@2"; range = "/soc/gpio-range"; pmx0 = "/soc/pinmux@e896c000"; uart0_pmx_func = "/soc/pinmux@e896c000/uart0_pmx_func"; uart2_pmx_func = "/soc/pinmux@e896c000/uart2_pmx_func"; uart3_pmx_func = "/soc/pinmux@e896c000/uart3_pmx_func"; uart4_pmx_func = "/soc/pinmux@e896c000/uart4_pmx_func"; uart6_pmx_func = "/soc/pinmux@e896c000/uart6_pmx_func"; pmx2 = "/soc/pinmux@e896c800"; uart0_cfg_func = "/soc/pinmux@e896c800/uart0_cfg_func"; uart2_cfg_func = "/soc/pinmux@e896c800/uart2_cfg_func"; uart3_cfg_func = "/soc/pinmux@e896c800/uart3_cfg_func"; uart4_cfg_func = "/soc/pinmux@e896c800/uart4_cfg_func"; uart6_cfg_func = "/soc/pinmux@e896c800/uart6_cfg_func"; pmx5 = "/soc/pinmux@fc182000"; sdio_pmx_func = "/soc/pinmux@fc182000/sdio_pmx_func"; pmx6 = "/soc/pinmux@fc182800"; sdio_clk_cfg_func = "/soc/pinmux@fc182800/sdio_clk_cfg_func"; sdio_cfg_func = "/soc/pinmux@fc182800/sdio_cfg_func"; pmx7 = "/soc/pinmux@ff37e000"; sd_pmx_func = "/soc/pinmux@ff37e000/sd_pmx_func"; pmx8 = "/soc/pinmux@ff37e800"; sd_clk_cfg_func = "/soc/pinmux@ff37e800/sd_clk_cfg_func"; sd_cfg_func = "/soc/pinmux@ff37e800/sd_cfg_func"; pmx1 = "/soc/pinmux@fff11000"; pmx16 = "/soc/pinmux@fff11800"; sd_1v8 = "/regulator-1v8"; sd_3v3 = "/regulator-3v3"; wlan_en = "/wlan-en-1-8v"; }; };