/dts-v1/; / { model = "Amlogic"; compatible = "amlogic, Gxm"; amlogic-dt-id = "gxm_q201_1g"; interrupt-parent = <0x1>; #address-cells = <0x2>; #size-cells = <0x2>; t82x { compatible = "arm,malit602", "arm,malit60x", "arm,malit6xx", "arm,mali-midgard"; #cooling-cells = <0x2>; reg = <0x0 0xd00c0000 0x0 0x100000 0x0 0xc1104440 0x0 0x1000 0x0 0xc8100000 0x0 0x1000 0x0 0xc883c000 0x0 0x1000 0x0 0xc1104440 0x0 0x1000>; interrupt-parent = <0x1>; interrupts = <0x0 0xa0 0x4 0x0 0xa1 0x4 0x0 0xa2 0x4>; interrupt-names = "GPU", "MMU", "JOB"; num_of_pp = <0x3>; sc_mpp = <0x1>; operating-points = <0xa2c2a 0xf4240 0x7a120 0xf4240 0x61a80 0xf4240 0x45c12 0xf4240 0x3d090 0xf4240 0x1e848 0xf4240>; tbl = <0x2 0x3 0x4 0x5 0x5>; clocks = <0x6 0x8 0x6 0x9 0x6 0x11 0x6 0x12 0x6 0x1e 0x6 0x15 0x6 0x13 0x6 0x14>; clock-names = "fclk_div3", "fclk_div4", "fclk_div5", "fclk_div7", "gp0_pll", "clk_gpu", "clk_gpu_0", "clk_gpu_1"; linux,phandle = <0x83>; phandle = <0x83>; clk125_cfg { clk_freq = <0x7735940>; clk_parent = "fclk_div4"; clkp_freq = <0x1dcd6500>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0x1e 0x78>; }; dvfs250_cfg { clk_freq = <0xee6b280>; clk_parent = "fclk_div4"; clkp_freq = <0x1dcd6500>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0x50 0xaa>; }; dvfs285_cfg { clk_freq = <0x1107a650>; clk_parent = "fclk_div7"; clkp_freq = <0x1107a650>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0x64 0xbe>; linux,phandle = <0x2>; phandle = <0x2>; }; dvfs400_cfg { clk_freq = <0x17d78400>; clk_parent = "fclk_div5"; clkp_freq = <0x17d78400>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0x98 0xcf>; linux,phandle = <0x3>; phandle = <0x3>; }; dvfs500_cfg { clk_freq = <0x1dcd6500>; clk_parent = "fclk_div4"; clkp_freq = <0x1dcd6500>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0xb4 0xdc>; linux,phandle = <0x4>; phandle = <0x4>; }; dvfs666_cfg { clk_freq = <0x27b25a80>; clk_parent = "fclk_div3"; clkp_freq = <0x27b25a80>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0xd2 0xec>; linux,phandle = <0x5>; phandle = <0x5>; }; dvfs800_cfg { clk_freq = <0x2f34f600>; clk_parent = "gp0_pll"; clkp_freq = <0x2f34f600>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0xe6 0xff>; }; }; gpu_clk@c883c00 { compatible = "meson, gpu-clkgen-1.00.a"; #clock-cells = <0x0>; reg = <0x0 0xc883c000 0x0 0x1000>; clocks = <0x6 0x8 0x6 0x9 0x6 0x11 0x6 0x12 0x6 0x1e 0x6 0x15 0x6 0x13 0x6 0x14>; clock-names = "fclk_div3", "fclk_div4", "fclk_div5", "fclk_div7", "gp0_pll", "clk_gpu", "clk_gpu_0", "clk_gpu_1"; clock-output-names = "clk_mali"; tbl = <0x7 0x8 0x9 0xa 0xb 0xc>; clk125_cfg { clk_freq = <0x7735940>; clk_parent = "fclk_div4"; clkp_freq = <0x1dcd6500>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0x1e 0x78>; linux,phandle = <0x7>; phandle = <0x7>; }; clk250_cfg { clk_freq = <0xee6b280>; clk_parent = "fclk_div4"; clkp_freq = <0x1dcd6500>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0x50 0xaa>; linux,phandle = <0x8>; phandle = <0x8>; }; clk285_cfg { clk_freq = <0x1107a650>; clk_parent = "fclk_div7"; clkp_freq = <0x1107a650>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0x64 0xbe>; linux,phandle = <0x9>; phandle = <0x9>; }; clk400_cfg { clk_freq = <0x17d78400>; clk_parent = "fclk_div5"; clkp_freq = <0x17d78400>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0x98 0xcf>; linux,phandle = <0xa>; phandle = <0xa>; }; clk500_cfg { clk_freq = <0x1dcd6500>; clk_parent = "fclk_div4"; clkp_freq = <0x1dcd6500>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0xb4 0xdc>; linux,phandle = <0xb>; phandle = <0xb>; }; clk666_cfg { clk_freq = <0x27bc8410>; clk_parent = "fclk_div3"; clkp_freq = <0x27bc8410>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0xd2 0xec>; linux,phandle = <0xc>; phandle = <0xc>; }; clk720_cfg { clk_freq = <0x2aea5400>; clk_parent = "gp0_pll"; clkp_freq = <0x2aea5400>; voltage = <0x47e>; keep_count = <0x5>; threshold = <0xe6 0xff>; }; }; cpus { #address-cells = <0x2>; #size-cells = <0x0>; cpu-map { cluster0 { #cooling-cells = <0x2>; linux,phandle = <0x7f>; phandle = <0x7f>; core0 { cpu = <0xd>; }; core1 { cpu = <0xe>; }; core2 { cpu = <0xf>; }; core3 { cpu = <0x10>; }; }; cluster1 { #cooling-cells = <0x2>; linux,phandle = <0x80>; phandle = <0x80>; core0 { cpu = <0x11>; }; core1 { cpu = <0x12>; }; core2 { cpu = <0x13>; }; core3 { cpu = <0x14>; }; }; }; cpu@0 { device_type = "cpu"; compatible = "arm,cortex-a53", "arm,armv8"; reg = <0x0 0x0>; enable-method = "psci"; clocks = <0x15 0x0>; clock-names = "cpu-cluster.0"; cpu-idle-states = <0x16 0x17>; linux,phandle = <0xd>; phandle = <0xd>; }; cpu@1 { device_type = "cpu"; compatible = "arm,cortex-a53", "arm,armv8"; reg = <0x0 0x1>; enable-method = "psci"; clocks = <0x15 0x0>; clock-names = "cpu-cluster.0"; cpu-idle-states = <0x16 0x17>; linux,phandle = <0xe>; phandle = <0xe>; }; cpu@2 { device_type = "cpu"; compatible = "arm,cortex-a53", "arm,armv8"; reg = <0x0 0x2>; enable-method = "psci"; clocks = <0x15 0x0>; clock-names = "cpu-cluster.0"; cpu-idle-states = <0x16 0x17>; linux,phandle = <0xf>; phandle = <0xf>; }; cpu@3 { device_type = "cpu"; compatible = "arm,cortex-a53", "arm,armv8"; reg = <0x0 0x3>; enable-method = "psci"; clocks = <0x15 0x0>; clock-names = "cpu-cluster.0"; cpu-idle-states = <0x16 0x17>; linux,phandle = <0x10>; phandle = <0x10>; }; cpu@100 { device_type = "cpu"; compatible = "arm,cortex-a53", "arm,armv8"; reg = <0x0 0x100>; enable-method = "psci"; clocks = <0x15 0x1>; clock-names = "cpu-cluster.1"; cpu-idle-states = <0x16 0x17>; linux,phandle = <0x11>; phandle = <0x11>; }; cpu@101 { device_type = "cpu"; compatible = "arm,cortex-a53", "arm,armv8"; reg = <0x0 0x101>; enable-method = "psci"; clocks = <0x15 0x1>; clock-names = "cpu-cluster.1"; cpu-idle-states = <0x16 0x17>; linux,phandle = <0x12>; phandle = <0x12>; }; cpu@102 { device_type = "cpu"; compatible = "arm,cortex-a53", "arm,armv8"; reg = <0x0 0x102>; enable-method = "psci"; clocks = <0x15 0x1>; clock-names = "cpu-cluster.1"; cpu-idle-states = <0x16 0x17>; linux,phandle = <0x13>; phandle = <0x13>; }; cpu@103 { device_type = "cpu"; compatible = "arm,cortex-a53", "arm,armv8"; reg = <0x0 0x103>; enable-method = "psci"; clocks = <0x15 0x1>; clock-names = "cpu-cluster.1"; cpu-idle-states = <0x16 0x17>; linux,phandle = <0x14>; phandle = <0x14>; }; idle-states { entry-method = "arm,psci"; cpu-sleep-0 { compatible = "arm, idle-state"; arm,psci-suspend-param = <0x10000>; local-timer-stop; entry-latency-us = <0x1f40>; exit-latency-us = <0x1f40>; min-residency-us = <0x4e20>; linux,phandle = <0x16>; phandle = <0x16>; }; cluster-sleep-0 { compatible = "arm, idle-state"; arm,psci-suspend-param = <0x1010000>; local-timer-stop; entry-latency-us = <0x1f40>; exit-latency-us = <0x1f40>; min-residency-us = <0x61a8>; linux,phandle = <0x17>; phandle = <0x17>; }; }; }; timer { compatible = "arm,armv8-timer"; interrupts = <0x1 0xd 0xff01 0x1 0xe 0xff01 0x1 0xb 0xff01 0x1 0xa 0xff01>; }; timer_bc { compatible = "arm, meson-bc-timer"; reg = <0x0 0xc1109990 0x0 0x4 0x0 0xc1109994 0x0 0x4>; timer_name = "Meson TimerF"; clockevent-rating = <0x12c>; clockevent-shift = <0x14>; clockevent-features = <0x23>; interrupts = <0x0 0x3c 0x1>; bit_enable = <0x10>; bit_mode = <0xc>; bit_resolution = <0x0>; }; arm_pmu { compatible = "arm,armv8-pmuv3"; interrupts = <0x0 0x89 0x4 0x0 0x8a 0x4 0x0 0x99 0x4 0x0 0x9a 0x4>; }; pm { compatible = "amlogic, pm"; device_name = "aml_pm"; gxbaby-suspend; reg = <0x0 0xc81000a8 0x0 0x4 0x0 0xc810023c 0x0 0x4>; }; interrupt-controller@2c001000 { compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; #interrupt-cells = <0x3>; #address-cells = <0x0>; interrupt-controller; reg = <0x0 0xc4301000 0x0 0x1000 0x0 0xc4302000 0x0 0x100>; interrupts = <0x1 0x9 0xf04>; linux,phandle = <0x1>; phandle = <0x1>; }; aml_restart { compatible = "aml, restart"; sys_reset = <0x84000009>; sys_poweroff = <0x84000008>; }; psci { compatible = "arm,psci"; method = "smc"; cpu_suspend = <0xc4000001>; cpu_off = <0x84000002>; cpu_on = <0xc4000003>; migrate = <0xc4000005>; }; secmon { compatible = "amlogic, secmon"; memory-region = <0x18>; in_base_func = <0x82000020>; out_base_func = <0x82000021>; }; securitykey { compatible = "aml, securitykey"; storage_query = <0x82000060>; storage_read = <0x82000061>; storage_write = <0x82000062>; storage_tell = <0x82000063>; storage_verify = <0x82000064>; storage_status = <0x82000065>; storage_list = <0x82000067>; storage_remove = <0x82000068>; storage_in_func = <0x82000023>; storage_out_func = <0x82000024>; storage_block_func = <0x82000025>; storage_size_func = <0x82000027>; storage_set_enctype = <0x8200006a>; storage_get_enctype = <0x8200006b>; storage_version = <0x8200006c>; }; cpu_iomap { compatible = "amlogic, iomap"; #address-cells = <0x2>; #size-cells = <0x2>; ranges; io_cbus_base { reg = <0x0 0xc1100000 0x0 0x100000>; }; io_apb_base { reg = <0x0 0xd0000000 0x0 0x200000>; }; io_aobus_base { reg = <0x0 0xc8100000 0x0 0x100000>; }; }; cpufreq { compatible = "arm, scpi-cpufreq"; }; amlogic-watchdog { compatible = "amlogic, gx-wdt"; status = "disable"; default_timeout = <0xa>; reset_watchdog_method = <0x1>; reset_watchdog_time = <0x2>; shutdown_timeout = <0xa>; firmware_timeout = <0x6>; suspend_timeout = <0x6>; reg = <0x0 0xc11098d0 0x0 0x10>; clocks = <0x6 0x2>; }; amlogic-jtag { compatible = "amlogic, jtag"; status = "okay"; pinctrl-names = "jtag_apao_pins", "jtag_apee_pins"; pinctrl-0 = <0x19>; pinctrl-1 = <0x1a>; }; meson_clock { compatible = "amlogic, gxl-clock"; reg = <0x0 0xc883c000 0x0 0x1000 0x0 0xc8100000 0x0 0x1000>; #clock-cells = <0x1>; #reset-cells = <0x1>; sys_max = <0x5b8d8000>; linux,phandle = <0x6>; phandle = <0x6>; }; cpu_info { compatible = "amlogic, cpuinfo"; cpuinfo_cmd = <0x82000044>; }; pinmux { compatible = "amlogic, pinmux-gxl"; dev_name = "pinmux"; #pinmux-cells = <0x2>; #address-cells = <0x2>; #size-cells = <0x2>; reg = <0x0 0xc1109880 0x0 0x10>; ranges; banks@c11080b0 { reg = <0x0 0xc88344b0 0x0 0x28 0x0 0xc88344e8 0x0 0x14 0x0 0xc8834520 0x0 0x14 0x0 0xc8834430 0x0 0x40>; reg-names = "mux", "pull", "pull-enable", "gpio"; gpio-controller; #gpio-cells = <0x2>; linux,phandle = <0x35>; phandle = <0x35>; }; ao-bank@c1108030 { reg = <0x0 0xc8100014 0x0 0x8 0x0 0xc810002c 0x0 0x4 0x0 0xc8100024 0x0 0x8>; reg-names = "mux", "pull", "gpio"; gpio-controller; #gpio-cells = <0x2>; linux,phandle = <0x7c>; phandle = <0x7c>; }; external_eth_pins { amlogic,setmask = <0x4 0xfffc00>; amlogic,clrmask = <0x4 0x3fc 0x3 0xffcff800>; amlogic,pins = "GPIOZ_0", "GPIOZ_1", "GPIOZ_2", "GPIOZ_3", "GPIOZ_4", "GPIOZ_5", "GPIOZ_6", "GPIOZ_7", "GPIOZ_8", "GPIOZ_9", "GPIOZ_10", "GPIOZ_11", "GPIOZ_12", "GPIOZ_13"; linux,phandle = <0x38>; phandle = <0x38>; }; internal_eth_pins { amlogic,setmask = <0x4 0x3000000>; amlogic,clrmask = <0x3 0x300000>; amlogic,pins = "GPIOZ_14", "GPIOZ_15"; }; jtag_apao_pin { amlogic,clrmask = <0x6 0x7fe0000>; amlogic,pins = "GPIOH_6", "GPIOH_7", "GPIOH_8", "GPIOH_9"; linux,phandle = <0x19>; phandle = <0x19>; }; jtag_apee_pin { amlogic,clrmask = <0x6 0x3c>; amlogic,pins = "CARD_0", "CARD_1", "CARD_2", "CARD_3"; linux,phandle = <0x1a>; phandle = <0x1a>; }; remote_pin { amlogic,setmask = <0x10 0x1>; amlogic,pins = "GPIOAO_7"; linux,phandle = <0x26>; phandle = <0x26>; }; ao_uart { amlogic,setmask = <0x10 0x1800>; amlogic,pins = "GPIOAO_0", "GPIOAO_1"; }; ao_b_uart { amlogic,setmask = <0x10 0x1800000>; amlogic,pins = "GPIOAO_4", "GPIOAO_5"; linux,phandle = <0x68>; phandle = <0x68>; }; a_uart { amlogic,setmask = <0x5 0xf0000>; amlogic,clrmask = <0x5 0x3c0>; amlogic,pins = "GPIOX_12", "GPIOX_13", "GPIOX_14", "GPIOX_15"; linux,phandle = <0x65>; phandle = <0x65>; }; b_uart { amlogic,setmask = <0x2 0x18000>; amlogic,pins = "GPIODV_24", "GPIODV_25"; linux,phandle = <0x66>; phandle = <0x66>; }; c_uart { amlogic,setmask = <0x5 0x3000>; amlogic,pins = "GPIOX_8", "GPIOX_9"; linux,phandle = <0x67>; phandle = <0x67>; }; wifi_32k_pins { amlogic,setmask = <0x5 0x8000>; amlogic,pins = "GPIOX_16"; linux,phandle = <0x3e>; phandle = <0x3e>; }; sd_clk_cmd_pins { amlogic,setmask = <0x6 0xc 0x10 0x1800>; amlogic,pins = "CARD_2", "CARD_3"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x44>; phandle = <0x44>; }; sd_all_pins { amlogic,setmask = <0x6 0x3f 0x10 0x1800>; amlogic,clrmask = <0x6 0xfc0>; amlogic,pins = "CARD_0", "CARD_1", "CARD_2", "CARD_3", "CARD_4", "CARD_5"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x45>; phandle = <0x45>; }; sd_1bit_pins { amlogic,setmask = <0x6 0x1c 0x10 0x1800>; amlogic,clrmask = <0x6 0xcc3>; amlogic,pins = "CARD_1", "CARD_2", "CARD_3"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x46>; phandle = <0x46>; }; sd_clk_cmd_uart_pins { amlogic,setmask = <0x6 0x30c>; amlogic,clrmask = <0x6 0xcc3 0x10 0x1800>; amlogic,pins = "CARD_2", "CARD_3"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x47>; phandle = <0x47>; }; sd_1bit_uart_pins { amlogic,setmask = <0x6 0x31c>; amlogic,clrmask = <0x6 0xcc3 0x10 0x1800>; amlogic,pins = "CARD_1", "CARD_2", "CARD_3"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x48>; phandle = <0x48>; }; sd_to_ao_uart_pins { amlogic,setmask = <0x10 0x1800>; amlogic,clrmask = <0x6 0x300>; amlogic,pins = "GPIOAO_0", "GPIOAO_1"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x49>; phandle = <0x49>; }; ao_to_sd_uart_pins { amlogic,setmask = <0x6 0x300>; amlogic,clrmask = <0x10 0x1800 0x6 0xcc3>; amlogic,pins = "CARD_4", "CARD_5"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x4a>; phandle = <0x4a>; }; ao_to_sd_jtag_pins { amlogic,setmask = <0x6 0x300>; amlogic,clrmask = <0x6 0xcff 0x10 0x1800>; amlogic,pins = "CARD_4", "CARD_5"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x4b>; phandle = <0x4b>; }; sd_to_ao_jtag_pins { amlogic,setmask = <0x10 0x1800>; amlogic,clrmask = <0x6 0xfc0>; amlogic,pins = "GPIOAO_0", "GPIOAO_1"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x4c>; phandle = <0x4c>; }; emmc_clk_cmd_pins { amlogic,setmask = <0x7 0x60000000>; amlogic,clrmask = <0x7 0xe0>; amlogic,pins = "BOOT_8", "BOOT_10"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x40>; phandle = <0x40>; }; emmc_conf_pull_up { amlogic,pins = "BOOT_0", "BOOT_1", "BOOT_2", "BOOT_3", "BOOT_4", "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_8", "BOOT_10"; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x41>; phandle = <0x41>; }; emmc_conf_pull_done { amlogic,pins = "BOOT_15"; amlogic,pullup = <0x0>; amlogic,pullupen = <0x1>; linux,phandle = <0x42>; phandle = <0x42>; }; emmc_all_pins { amlogic,setmask = <0x7 0xf0000000>; amlogic,clrmask = <0x7 0xe0>; amlogic,pins = "BOOT_0", "BOOT_1", "BOOT_2", "BOOT_3", "BOOT_4", "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_8", "BOOT_10", "BOOT_15"; amlogic,enable-output = <0x1>; linux,phandle = <0x43>; phandle = <0x43>; }; sdio_clk_cmd_pins { amlogic,setmask = <0x5 0xc000000>; amlogic,pins = "GPIOX_4", "GPIOX_5"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x4d>; phandle = <0x4d>; }; sdio_all_pins { amlogic,setmask = <0x5 0xfc000000>; amlogic,pins = "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3", "GPIOX_4", "GPIOX_5"; amlogic,enable-output = <0x1>; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x4e>; phandle = <0x4e>; }; conf_nand_pulldown { amlogic,pins = "BOOT_0", "BOOT_1", "BOOT_2", "BOOT_3", "BOOT_4", "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_15"; amlogic,pullup = <0x0>; amlogic,pullupen = <0x1>; linux,phandle = <0x4f>; phandle = <0x4f>; }; conf_nand_pullup { amlogic,pins = "BOOT_8", "BOOT_10"; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; linux,phandle = <0x50>; phandle = <0x50>; }; all_nand_pins { amlogic,setmask = <0x7 0x800000ff>; amlogic,clrmask = <0x7 0x70ffbc00>; amlogic,pins = "BOOT_0", "BOOT_1", "BOOT_2", "BOOT_3", "BOOT_4", "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_8", "BOOT_9", "BOOT_10", "BOOT_11", "BOOT_12", "BOOT_13", "BOOT_14", "BOOT_15"; amlogic,enable-output = <0x1>; linux,phandle = <0x51>; phandle = <0x51>; }; nand_cs { amlogic,setmask = <0x7 0xc0>; amlogic,clrmask = <0x7 0x40040000>; amlogic,pins = "BOOT_8", "BOOT_9"; linux,phandle = <0x52>; phandle = <0x52>; }; hdmitx_hpd { amlogic,setmask = <0x6 0x80000000>; amlogic,pins = "GPIOH_0"; linux,phandle = <0x62>; phandle = <0x62>; }; hdmitx_ddc { amlogic,setmask = <0x6 0x30000000>; amlogic,pins = "GPIOH_1", "GPIOH_2"; linux,phandle = <0x63>; phandle = <0x63>; }; hdmitx_aocec { amlogic,setmask = <0x10 0x8000>; amlogic,clrmask = <0x10 0x24000 0x11 0x1>; amlogic,pins = "GPIOAO_8"; linux,phandle = <0x64>; phandle = <0x64>; }; hdmitx_eecec { amlogic,setmask = <0x10 0x4000>; amlogic,clrmask = <0x10 0x28000 0x11 0x1>; amlogic,pins = "GPIOAO_8"; }; ao_i2c { amlogic,setmask = <0x10 0x60>; amlogic,clrmask = <0x10 0x1800006>; amlogic,pins = "GPIOAO_4", "GPIOAO_5"; linux,phandle = <0x1b>; phandle = <0x1b>; }; a_i2c { amlogic,setmask = <0x1 0xc000>; amlogic,clrmask = <0x3 0x18 0x2 0x18000 0x2 0xc0 0x1 0x600000>; amlogic,pins = "GPIODV_24", "GPIODV_25"; linux,phandle = <0x1c>; phandle = <0x1c>; }; b_i2c { amlogic,setmask = <0x1 0x3000>; amlogic,clrmask = <0x2 0x6000 0x1 0x1c0000>; amlogic,pins = "GPIODV_26", "GPIODV_27"; linux,phandle = <0x1d>; phandle = <0x1d>; }; c_i2c { amlogic,setmask = <0x1 0x30000>; amlogic,clrmask = <0x3 0x20 0x1 0x2000000>; amlogic,pins = "GPIODV_18", "GPIODV_19"; linux,phandle = <0x1e>; phandle = <0x1e>; }; d_i2c { amlogic,setmask = <0x5 0x30>; amlogic,clrmask = <0x5 0x300c03 0x6 0x3>; amlogic,pins = "GPIOX_10", "GPIOX_11"; linux,phandle = <0x1f>; phandle = <0x1f>; }; spicc_pins_z11z12z13 { amlogic,setmask = <0x4 0x1c>; amlogic,clrmask = <0x3 0x800 0x4 0x1c00>; amlogic,pins = "GPIOZ_11", "GPIOZ_12", "GPIOZ_13"; }; spicc_pulldown_z11z12z13 { amlogic,pins = "GPIOZ_11", "GPIOZ_12", "GPIOZ_13"; amlogic,pullup = <0x0>; amlogic,pullupen = <0x1>; }; spicc_pullup_z11z12z13 { amlogic,pins = "GPIOZ_11", "GPIOZ_12", "GPIOZ_13"; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; }; spicc_pins_x8x9x11 { amlogic,setmask = <0x5 0xd>; amlogic,clrmask = <0x5 0xd03430 0x6 0xd>; amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_11"; }; spicc_pulldown_x8x9x11 { amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_11"; amlogic,pullup = <0x0>; amlogic,pullupen = <0x1>; }; spicc_pullup_x8x9x11 { amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_11"; amlogic,pullup = <0x1>; amlogic,pullupen = <0x1>; }; audio_pin { amlogic,setmask = <0x6 0x7800000>; amlogic,clrmask = <0x6 0x7e0000>; amlogic,pins = "GPIOH_6", "GPIOH_7", "GPIOH_8", "GPIOH_9"; linux,phandle = <0x6d>; phandle = <0x6d>; }; audio_pin1 { amlogic,setmask = <0x6 0x10000000>; amlogic,clrmask = <0x6 0x8000000>; amlogic,pins = "GPIOH_4"; linux,phandle = <0x6c>; phandle = <0x6c>; }; audio_btpcm_pins { amlogic,setmask = <0x5 0xf00000>; amlogic,clrmask = <0x5 0x3c33>; amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_10", "GPIOX_11"; linux,phandle = <0x6b>; phandle = <0x6b>; }; }; cpu_version { reg = <0x0 0xc8100220 0x0 0x4>; }; meson_clk_msr { compatible = "amlogic, gxl_measure"; reg = <0x0 0xc110875c 0x0 0x4 0x0 0xc1108764 0x0 0x4>; }; i2c@c8100500 { compatible = "amlogic, meson-i2c"; dev_name = "i2c-AO"; status = "disabled"; reg = <0x0 0xc8100500 0x0 0x1d>; device_id = <0x0>; pinctrl-names = "default"; pinctrl-0 = <0x1b>; #address-cells = <0x1>; #size-cells = <0x0>; use_pio = <0x0>; master_i2c_speed = <0x493e0>; clocks = <0x6 0xa>; clock-names = "clk_i2c"; resets = <0x6 0x9>; }; i2c@c1108500 { compatible = "amlogic, meson-i2c"; dev_name = "i2c-A"; status = "disabled"; reg = <0x0 0xc1108500 0x0 0x20>; device_id = <0x1>; pinctrl-names = "default"; pinctrl-0 = <0x1c>; #address-cells = <0x1>; #size-cells = <0x0>; use_pio = <0x0>; master_i2c_speed = <0x493e0>; clocks = <0x6 0xa>; clock-names = "clk_i2c"; resets = <0x6 0x9>; }; i2c@c11087c0 { compatible = "amlogic, meson-i2c"; dev_name = "i2c-B"; status = "disabled"; reg = <0x0 0xc11087c0 0x0 0x20>; device_id = <0x2>; pinctrl-names = "default"; pinctrl-0 = <0x1d>; #address-cells = <0x1>; #size-cells = <0x0>; use_pio = <0x0>; master_i2c_speed = <0x493e0>; clocks = <0x6 0xa>; clock-names = "clk_i2c"; resets = <0x6 0x9>; }; i2c@c11087e0 { compatible = "amlogic, meson-i2c"; dev_name = "i2c-C"; status = "okay"; reg = <0x0 0xc11087e0 0x0 0x20>; device_id = <0x3>; pinctrl-names = "default"; pinctrl-0 = <0x1e>; #address-cells = <0x1>; #size-cells = <0x0>; use_pio = <0x0>; master_i2c_speed = <0xc350>; clocks = <0x6 0xa>; clock-names = "clk_i2c"; resets = <0x6 0x9>; }; i2c@c1108d20 { compatible = "amlogic, meson-i2c"; dev_name = "i2c-D"; status = "disabled"; reg = <0x0 0xc1108d20 0x0 0x20>; device_id = <0x4>; pinctrl-names = "default"; pinctrl-0 = <0x1f>; #address-cells = <0x1>; #size-cells = <0x0>; use_pio = <0x0>; master_i2c_speed = <0x493e0>; clocks = <0x6 0xa>; clock-names = "clk_i2c"; resets = <0x6 0x9>; }; efuse { compatible = "amlogic, efuse"; read_cmd = <0x82000030>; write_cmd = <0x82000031>; get_max_cmd = <0x82000033>; key = <0x20>; resets = <0x6 0x3e>; reset-names = "efuse_clk"; status = "ok"; }; efusekey { keynum = <0x4>; key0 = <0x21>; key1 = <0x22>; key2 = <0x23>; key3 = <0x24>; linux,phandle = <0x20>; phandle = <0x20>; key_0 { keyname = "mac"; offset = <0x0>; size = <0x6>; linux,phandle = <0x21>; phandle = <0x21>; }; key_1 { keyname = "mac_bt"; offset = <0x6>; size = <0x6>; linux,phandle = <0x22>; phandle = <0x22>; }; key_2 { keyname = "mac_wifi"; offset = <0xc>; size = <0x6>; linux,phandle = <0x23>; phandle = <0x23>; }; key_3 { keyname = "usid"; offset = <0x12>; size = <0x10>; linux,phandle = <0x24>; phandle = <0x24>; }; }; mhu@c883c400 { compatible = "amlogic, meson_mhu"; reg = <0x0 0xc883c400 0x0 0x4c 0x0 0xc8013000 0x0 0x800>; interrupts = <0x0 0xd1 0x8 0x0 0xd2 0x8>; #mbox-cells = <0x1>; mbox-names = "cpu_to_scp_low", "cpu_to_scp_high"; mboxes = <0x25 0x0 0x25 0x1>; linux,phandle = <0x25>; phandle = <0x25>; }; scpi_clocks { compatible = "arm,scpi-clks"; scpi_clocks@0 { compatible = "arm,scpi-clk-indexed"; #clock-cells = <0x1>; clock-indices = <0x0 0x1>; clock-output-names = "vbig", "vlittle"; linux,phandle = <0x15>; phandle = <0x15>; }; }; rc@c8100580 { compatible = "amlogic, aml_remote"; dev_name = "meson-remote"; reg = <0x0 0xc8100580 0x0 0x44 0x0 0xc8100480 0x0 0x20>; status = "okay"; protocol = <0x1>; interrupts = <0x0 0xc4 0x1>; pinctrl-names = "default"; pinctrl-0 = <0x26>; map = <0x27>; max_frame_time = <0xc8>; }; custom_maps { mapnum = <0x3>; map0 = <0x28>; map1 = <0x29>; map2 = <0x2a>; linux,phandle = <0x27>; phandle = <0x27>; map_0 { mapname = "amlogic-remote-1"; customcode = <0x4040>; release_delay = <0x50>; size = <0x3>; keymap = <0xb0067 0xe006c 0xd0061>; linux,phandle = <0x28>; phandle = <0x28>; }; map_1 { mapname = "amlogic-remote-2"; customcode = <0xfe01>; release_delay = <0x50>; size = <0x35>; keymap = <0x10002 0x20003 0x30004 0x40005 0x50006 0x60007 0x70008 0x80009 0x9000a 0xa000b 0x1f01d2 0x15008b 0x16000f 0xc0192 0xd0193 0xe0073 0xf0072 0x110066 0x1c006a 0x1b0069 0x190067 0x1a006c 0x1d001c 0x170071 0x4900db 0x43009e 0x1201d5 0x1401d6 0x1801d7 0x590166 0x5a00a6 0x100074 0x4200a5 0x4400a3 0x1e00a8 0x4b00d0 0x5800a4 0x460082 0x400083 0x380046 0x5701d0 0x5b01d1 0x54018e 0x4c018f 0x4e0190 0x550191 0x5300ed 0x5200ee 0x3900d4 0x4100d5 0xb00d6 0xd8 0x1300d9>; linux,phandle = <0x29>; phandle = <0x29>; }; map_2 { mapname = "amlogic-remote-3"; customcode = <0xbd02>; release_delay = <0x50>; size = <0x11>; keymap = <0xca0067 0xd2006c 0x990069 0xc1006a 0xce0061 0x450074 0xc50085 0x800071 0xd0000f 0xd6007d 0x950066 0xdd0068 0x8c006d 0x890083 0x9c0082 0x9a0078 0xcd0079>; linux,phandle = <0x2a>; phandle = <0x2a>; }; }; rng { compatible = "amlogic,meson-rng"; reg = <0x0 0xc8834000 0x0 0x4>; }; audio_data { compatible = "amlogic, audio_data"; query_licence_cmd = <0x82000050>; status = "okay"; }; saradc { compatible = "amlogic, saradc"; status = "okay"; interrupts = <0x0 0x9 0x1>; interrupt-names = "saradc_int"; clocks = <0x6 0x2>; clock-names = "saradc_clk"; resets = <0x6 0x56>; reg = <0x0 0xc1108680 0x0 0x30 0x0 0xc883c3d8 0x0 0x8>; }; defendkey { compatible = "amlogic, defendkey"; reg = <0x0 0xc8834500 0x0 0x4>; mem_size = <0x0 0x100000>; status = "okay"; }; spicc { compatible = "amlogic, spicc"; status = "disabled"; reg = <0x0 0xc1108d80 0x0 0x28>; resets = <0x6 0x8>; reset-names = "spicc_clk"; clocks = <0x6 0xa>; clock-names = "clk81"; interrupts = <0x0 0x51 0x1>; device_id = <0x0>; }; aml_aes { compatible = "amlogic,aes_dma"; dev_name = "aml_aes_dma"; interrupts = <0x0 0xbc 0x1 0x0 0xbd 0x1>; reg = <0x0 0xc883e000 0x0 0x28>; }; aml_tdes { compatible = "amlogic,des_dma,tdes_dma"; dev_name = "aml_tdes_dma"; interrupts = <0x0 0xbc 0x1 0x0 0xbd 0x1>; reg = <0x0 0xc883e000 0x0 0x28>; }; aml_sha { compatible = "amlogic,sha_dma"; dev_name = "aml_sha_dma"; interrupts = <0x0 0xbc 0x1 0x0 0xbd 0x1>; reg = <0x0 0xc883e000 0x0 0x28>; }; meson-pwm { compatible = "amlogic, meson-pwm"; status = "okay"; #pwm-cells = <0x2>; pwm-outputs = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf>; reg = <0x0 0xc1108550 0x0 0x1c 0x0 0xc1108640 0x0 0x1c 0x0 0xc11086c0 0x0 0x1c 0x0 0xc8100550 0x0 0x1c>; clocks = <0x6 0x2 0x6 0x5 0x6 0x9 0x6 0x8>; clock-names = "xtal", "vid_pll_clk", "fclk_div4", "fclk_div3"; clock-select = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>; }; partitions { parts = <0xa>; part-0 = <0x2b>; part-1 = <0x2c>; part-2 = <0x2d>; part-3 = <0x2e>; part-4 = <0x2f>; part-5 = <0x30>; part-6 = <0x31>; part-7 = <0x32>; part-8 = <0x33>; part-9 = <0x34>; logo { pname = "logo"; size = <0x0 0x2000000>; mask = <0x1>; linux,phandle = <0x2b>; phandle = <0x2b>; }; recovery { pname = "recovery"; size = <0x0 0x2000000>; mask = <0x1>; linux,phandle = <0x2c>; phandle = <0x2c>; }; rsv { pname = "rsv"; size = <0x0 0x800000>; mask = <0x1>; linux,phandle = <0x2d>; phandle = <0x2d>; }; tee { pname = "tee"; size = <0x0 0x800000>; mask = <0x1>; linux,phandle = <0x2e>; phandle = <0x2e>; }; crypt { pname = "crypt"; size = <0x0 0x2000000>; mask = <0x1>; linux,phandle = <0x2f>; phandle = <0x2f>; }; misc { pname = "misc"; size = <0x0 0x2000000>; mask = <0x1>; linux,phandle = <0x30>; phandle = <0x30>; }; boot { pname = "boot"; size = <0x0 0x2000000>; mask = <0x1>; linux,phandle = <0x31>; phandle = <0x31>; }; system { pname = "system"; size = <0x0 0x80000000>; mask = <0x1>; linux,phandle = <0x32>; phandle = <0x32>; }; cache { pname = "cache"; size = <0x0 0x30000000>; mask = <0x2>; linux,phandle = <0x33>; phandle = <0x33>; }; data { pname = "data"; size = <0xffffffff 0xffffffff>; mask = <0x4>; linux,phandle = <0x34>; phandle = <0x34>; }; }; aliases { serial0 = "/serial@c81004c0"; serial1 = "/serial@c11084c0"; serial2 = "/serial@c11084dc"; serial3 = "/serial@c1108700"; serial4 = "/serial@c81004e0"; }; memory@00000000 { device_type = "memory"; linux,usable-memory = <0x0 0x100000 0x0 0x3ff00000>; }; reserved-memory { #address-cells = <0x2>; #size-cells = <0x2>; ranges; linux,secmon { compatible = "amlogic, aml_secmon_memory"; reg = <0x0 0x10000000 0x0 0x200000>; no-map; linux,phandle = <0x18>; phandle = <0x18>; }; linux,secos { status = "disable"; compatible = "amlogic, aml_secos_memory"; reg = <0x0 0x5300000 0x0 0x2000000>; no-map; }; aml_pstore { compatible = "amlogic, pstore"; reg = <0x0 0x7300000 0x0 0x100000>; no-map; }; linux,di { compatible = "amlogic, di-mem"; size = <0x0 0x1e00000>; linux,phandle = <0x3c>; phandle = <0x3c>; }; linux,ion-dev { compatible = "amlogic, idev-mem"; size = <0x0 0x4000000>; linux,phandle = <0x39>; phandle = <0x39>; }; linux,vdin1_cma { compatible = "shared-dma-pool"; reusable; size = <0x0 0x1000000>; alignment = <0x0 0x400000>; linux,phandle = <0x3d>; phandle = <0x3d>; }; linux,ppmgr { compatible = "shared-dma-pool"; size = <0x0 0x0>; linux,phandle = <0x3b>; phandle = <0x3b>; }; linux,codec_mm_cma { compatible = "shared-dma-pool"; reusable; size = <0x0 0xc000000>; alignment = <0x0 0x400000>; linux,contiguous-region; linux,phandle = <0x36>; phandle = <0x36>; }; linux,picdec { compatible = "shared-dma-pool"; reusable; size = <0x0 0x0>; alignment = <0x0 0x0>; linux,contiguous-region; linux,phandle = <0x3a>; phandle = <0x3a>; }; linux,codec_mm_reserved { compatible = "amlogic, codec-mm-reserved"; size = <0x0 0x4100000>; alignment = <0x0 0x100000>; linux,phandle = <0x37>; phandle = <0x37>; }; }; sysled { compatible = "amlogic, sysled"; dev_name = "sysled"; status = "okay"; led_gpio = <0x35 0x49 0x0>; led_active_low = <0x1>; }; meson-vout { compatible = "amlogic, meson-vout"; dev_name = "meson-vout"; status = "okay"; }; meson-fb { compatible = "amlogic, meson-fb"; dev_name = "meson-fb"; status = "okay"; interrupts = <0x0 0x3 0x1 0x0 0x59 0x1>; interrupt-names = "viu-vsync", "rdma"; mem_size = <0x1851000 0x100000>; display_mode_default = "1080p60hz"; scale_mode = <0x1>; display_size_default = <0x780 0x438 0x780 0xca8 0x20>; logo_addr = "0x3f851000"; }; ge2d { compatible = "amlogic, ge2d"; dev_name = "ge2d"; status = "okay"; interrupts = <0x0 0x96 0x1>; interrupt-names = "ge2d"; clocks = <0x6 0x17 0x6 0x19>; clock-names = "clk_vapb_0", "clk_ge2d"; resets = <0x6 0x34>; reset-names = "ge2d"; }; codec_io { compatible = "amlogic, codec_io"; #address-cells = <0x2>; #size-cells = <0x2>; ranges; io_cbus_base { reg = <0x0 0xc1100000 0x0 0x100000>; }; io_dos_base { reg = <0x0 0xc8820000 0x0 0x10000>; }; io_hiubus_base { reg = <0x0 0xc883c000 0x0 0x2000>; }; io_aobus_base { reg = <0x0 0xc8100000 0x0 0x100000>; }; io_vcbus_base { reg = <0x0 0xd0100000 0x0 0x40000>; }; io_dmc_base { reg = <0x0 0xc8838000 0x0 0x400>; }; }; codec_mm { compatible = "amlogic, codec, mm"; memory-region = <0x36 0x37>; dev_name = "codec_mm"; status = "okay"; }; ethernet@0xc9410000 { compatible = "amlogic, gxbb-rgmii-dwmac"; reg = <0x0 0xc9410000 0x0 0x10000 0x0 0xc8834540 0x0 0x8 0x0 0xc8834558 0x0 0xc>; interrupts = <0x0 0x8 0x1>; phy-mode = "rgmii"; pinctrl-names = "external_eth_pins"; pinctrl-0 = <0x38>; rst_pin-gpios = <0x35 0xe 0x0>; GPIOZ4_pin-gpios = <0x35 0x4 0x0>; GPIOZ5_pin-gpios = <0x35 0x5 0x0>; mc_val = <0x1621>; cali_val = <0x20000>; resets = <0x6 0x23>; reset-names = "ethpower"; interrupt-names = "macirq"; clocks = <0x6 0xa>; clock-names = "ethclk81"; internal_phy = <0x0>; }; mesonstream { compatible = "amlogic, codec, streambuf"; dev_name = "mesonstream"; status = "okay"; resets = <0x6 0x39 0x6 0x59 0x6 0x24 0x6 0x1>; reset-names = "parser_top", "vpu_intr", "demux", "vdec"; }; amvideocap { compatible = "amlogic, amvideocap"; dev_name = "amvideocap.0"; status = "okay"; max_size = <0x8>; }; ion_dev { compatible = "amlogic, ion_dev"; memory-region = <0x39>; }; vdec { compatible = "amlogic, vdec"; dev_name = "vdec.0"; status = "okay"; interrupts = <0x0 0x3 0x1 0x0 0x17 0x1 0x0 0x20 0x1 0x0 0x2b 0x1 0x0 0x2c 0x1 0x0 0x2d 0x1>; interrupt-names = "vsync", "demux", "parser", "mailbox_0", "mailbox_1", "mailbox_2"; }; m1-vfd { compatible = "amlogic,m1-vfd"; dev_name = "m1-vfd.0"; status = "okay"; vfd_stb_pin = <0x35 0x49 0x0>; vfd_clk_pin = <0x35 0x47 0x0>; vfd_data_pin = <0x35 0x48 0x0>; }; ZK_ZK888 { compatible = "amlogic,ZK_ZK888"; dev_name = "ZK_ZK888"; status = "okay"; address = <0xc0>; i2c_bus = "i2c_bus_c"; }; picdec { compatible = "amlogic, picdec"; memory-region = <0x3a>; dev_name = "picdec"; status = "okay"; }; ppmgr { compatible = "amlogic, ppmgr"; memory-region = <0x3b>; dev_name = "ppmgr"; status = "okay"; }; deinterlace { compatible = "amlogic, deinterlace"; status = "okay"; memory-region = <0x3c>; interrupts = <0x0 0x2e 0x1 0x0 0x6 0x1>; interrupt-names = "de_irq", "timerc"; buffer-size = <0x2fd000>; hw-version = <0x2>; }; vdin0 { compatible = "amlogic, vdin"; dev_name = "vdin0"; status = "ok"; reserve-iomap = "true"; flag_cma = <0x1>; cma_size = <0x10>; interrupts = <0x0 0x53 0x1>; rdma-irq = <0x2>; clocks = <0x6 0x11 0x6 0x29>; clock-names = "fclk_div5", "cts_vdin_meas_clk"; vdin_id = <0x0>; tv_bit_mode = <0x1>; }; vdin1 { compatible = "amlogic, vdin"; memory-region = <0x3d>; dev_name = "vdin1"; status = "ok"; reserve-iomap = "true"; flag_cma = <0x0>; interrupts = <0x0 0x55 0x1>; rdma-irq = <0x4>; clocks = <0x6 0x11 0x6 0x29>; clock-names = "fclk_div5", "cts_vdin_meas_clk"; vdin_id = <0x1>; tv_bit_mode = <0x1>; }; amvdec_656in0 { compatible = "amlogic, amvdec_656in"; dev_name = "amvdec_656in0"; status = "ok"; reg = <0x0 0xd0048000 0x0 0x7c>; clocks = <0x6 0x7 0x6 0x26>; clock-names = "fclk_div2", "cts_bt656_clk0"; bt656_id = <0x0>; }; amvdec_656in1 { compatible = "amlogic, amvdec_656in"; dev_name = "amvdec_656in1"; status = "ok"; reg = <0x0 0xd0050000 0x0 0x7c>; clocks = <0x6 0x7 0x6 0x27>; clock-names = "fclk_div2", "cts_bt656_clk1"; bt656_id = <0x1>; }; amlvecm { compatible = "amlogic, vecm"; dev_name = "aml_vecm"; status = "okay"; gamma_en = <0x0>; wb_en = <0x0>; cm_en = <0x0>; }; amvenc_avc { compatible = "amlogic, amvenc_avc"; dev_name = "amvenc_avc"; status = "okay"; interrupts = <0x0 0x2d 0x1>; interrupt-names = "mailbox_2"; }; hevc_enc { compatible = "cnm, HevcEnc"; dev_name = "HevcEnc"; status = "okay"; interrupts = <0x0 0xbb 0x1>; interrupt-names = "wave420l_irq"; #address-cells = <0x2>; #size-cells = <0x2>; ranges; io_reg_base { reg = <0x0 0xc8810000 0x0 0x4000>; }; }; vpu { compatible = "amlogic, vpu"; dev_name = "vpu"; status = "ok"; clk_level = <0x7>; }; bt-dev { compatible = "amlogic, bt-dev"; dev_name = "bt-dev"; status = "okay"; gpio_reset = <0x35 0x60 0x0>; }; rtc { compatible = "amlogic, aml_vrtc"; alarm_reg_addr = <0xc81000a8>; timer_e_addr = <0xc1109988>; init_date = "2015/01/01"; status = "okay"; }; wifi { compatible = "amlogic, aml_wifi"; dev_name = "aml_wifi"; status = "okay"; interrupt_pin = <0x35 0x56 0x0>; interrupts = <0x0 0x44 0x4>; irq_trigger_type = "GPIO_IRQ_LOW"; power_on_pin = <0x35 0x55 0x0>; dhd_static_buf; pinctrl-names = "wifi_32k_pins"; pinctrl-0 = <0x3e>; pwm_config = <0x3f>; }; wifi_pwm_conf { pwm_channel1 = <0x4>; pwm_channel2 = <0xc>; pwm_channel1_conf = <0x774d 0x3ba6 0x6>; pwm_channel2_conf = <0x7736 0x3b9b 0x9>; linux,phandle = <0x3f>; phandle = <0x3f>; }; emmc { compatible = "amlogic, aml_sd_emmc"; dev_name = "aml_newsd.0"; status = "okay"; reg = <0x0 0xd0074000 0x0 0x2000>; interrupts = <0x0 0xda 0x1>; pinctrl-names = "emmc_clk_cmd_pins", "emmc_all_pins"; pinctrl-0 = <0x40>; pinctrl-1 = <0x41 0x42 0x43>; emmc { status = "disabled"; pinname = "emmc"; ocr_avail = <0x200080>; caps = "MMC_CAP_8_BIT_DATA", "MMC_CAP_MMC_HIGHSPEED", "MMC_CAP_SD_HIGHSPEED", "MMC_CAP_NONREMOVABLE", "MMC_CAP_1_8V_DDR", "MMC_CAP_HW_RESET", "MMC_CAP_ERASE", "MMC_CAP_CMD23"; caps2 = "MMC_CAP2_HS200", "MMC_CAP2_HS400"; f_min = <0x493e0>; f_max = <0x5f5e100>; max_req_size = <0x20000>; gpio_dat3 = <0x35 0x1d 0x0>; hw_reset = <0x35 0x23 0x0>; card_type = <0x1>; }; }; sd { compatible = "amlogic, aml_sd_emmc"; dev_name = "aml_newsd.0"; status = "okay"; reg = <0x0 0xd0072000 0x0 0x2000>; interrupts = <0x0 0xd9 0x1 0x0 0x43 0x1 0x0 0x45 0x1>; pinctrl-names = "sd_clk_cmd_pins", "sd_all_pins", "sd_1bit_pins", "sd_clk_cmd_uart_pins", "sd_1bit_uart_pins", "sd_to_ao_uart_pins", "ao_to_sd_uart_pins", "ao_to_sd_jtag_pins", "sd_to_ao_jtag_pins"; pinctrl-0 = <0x44>; pinctrl-1 = <0x45>; pinctrl-2 = <0x46>; pinctrl-3 = <0x47>; pinctrl-4 = <0x48>; pinctrl-5 = <0x49>; pinctrl-6 = <0x4a>; pinctrl-7 = <0x4b>; pinctrl-8 = <0x4c>; sd { status = "okay"; pinname = "sd"; ocr_avail = <0x200080>; caps = "MMC_CAP_4_BIT_DATA", "MMC_CAP_MMC_HIGHSPEED", "MMC_CAP_SD_HIGHSPEED"; f_min = <0x61a80>; f_max = <0x5f5e100>; max_req_size = <0x20000>; gpio_dat3 = <0x35 0x2e 0x0>; jtag_pin = <0x35 0x2a 0x0>; gpio_cd = <0x35 0x30 0x0>; irq_in = <0x3>; irq_out = <0x5>; card_type = <0x5>; }; }; sdio { compatible = "amlogic, aml_sd_emmc"; dev_name = "aml_newsd.0"; status = "okay"; reg = <0x0 0xd0070000 0x0 0x2000>; interrupts = <0x0 0xd8 0x4>; pinctrl-names = "sdio_clk_cmd_pins", "sdio_all_pins"; pinctrl-0 = <0x4d>; pinctrl-1 = <0x4e>; sdio { status = "okay"; pinname = "sdio"; ocr_avail = <0x200080>; caps = "MMC_CAP_4_BIT_DATA", "MMC_CAP_MMC_HIGHSPEED", "MMC_CAP_SD_HIGHSPEED", "MMC_CAP_NONREMOVABLE", "MMC_CAP_UHS_SDR12", "MMC_CAP_UHS_SDR25", "MMC_CAP_UHS_SDR50", "MMC_CAP_UHS_SDR104", "MMC_PM_KEEP_POWER", "MMC_CAP_SDIO_IRQ"; f_min = <0x61a80>; f_max = <0xbebc200>; max_req_size = <0x20000>; card_type = <0x3>; }; }; nand { compatible = "amlogic, aml_nand"; dev_name = "nand"; status = "disabled"; reg = <0x0 0xd0074800 0x0 0x200>; interrupts = <0x0 0x22 0x1>; pinctrl-names = "nand_rb_mod", "nand_norb_mod", "nand_cs_pins_only"; pinctrl-0 = <0x4f 0x50 0x51>; pinctrl-1 = <0x4f 0x50 0x51>; pinctrl-2 = <0x52>; device_id = <0x0>; plat-names = "nandnormal"; plat-num = <0x1>; plat-part-0 = <0x53>; normal { enable_pad = "ce0", "ce1", "ce2", "ce3"; busy_pad = "rb0"; linux,phandle = <0x53>; phandle = <0x53>; }; }; aml_nftl { compatible = "amlogic, nftl"; }; unifykey { compatible = "amlogic, unifykey"; status = "ok"; unifykey-num = <0xe>; unifykey-index-0 = <0x54>; unifykey-index-1 = <0x55>; unifykey-index-2 = <0x56>; unifykey-index-3 = <0x57>; unifykey-index-4 = <0x58>; unifykey-index-5 = <0x59>; unifykey-index-6 = <0x5a>; unifykey-index-7 = <0x5b>; unifykey-index-8 = <0x5c>; unifykey-index-9 = <0x5d>; unifykey-index-10 = <0x5e>; unifykey-index-11 = <0x5f>; unifykey-index-12 = <0x60>; unifykey-index-13 = <0x61>; key_0 { key-name = "usid"; key-device = "normal"; key-permit = "read", "write", "del"; linux,phandle = <0x54>; phandle = <0x54>; }; key_1 { key-name = "mac"; key-device = "normal"; key-permit = "read", "write", "del"; linux,phandle = <0x55>; phandle = <0x55>; }; key_2 { key-name = "hdcp"; key-device = "secure"; key-type = "sha1"; key-permit = "read", "write", "del"; linux,phandle = <0x56>; phandle = <0x56>; }; key_3 { key-name = "secure_boot_set"; key-device = "efuse"; key-permit = "write"; linux,phandle = <0x57>; phandle = <0x57>; }; key_4 { key-name = "mac_bt"; key-device = "normal"; key-permit = "read", "write", "del"; key-type = "mac"; linux,phandle = <0x58>; phandle = <0x58>; }; key_5 { key-name = "mac_wifi"; key-device = "normal"; key-permit = "read", "write", "del"; key-type = "mac"; linux,phandle = <0x59>; phandle = <0x59>; }; key_6 { key-name = "hdcp2_tx"; key-device = "normal"; key-permit = "read", "write", "del"; linux,phandle = <0x5a>; phandle = <0x5a>; }; key_7 { key-name = "hdcp2_rx"; key-device = "normal"; key-permit = "read", "write", "del"; linux,phandle = <0x5b>; phandle = <0x5b>; }; key_8 { key-name = "widevinekeybox"; key-device = "secure"; key-permit = "read", "write", "del"; linux,phandle = <0x5c>; phandle = <0x5c>; }; key_9 { key-name = "deviceid"; key-device = "normal"; key-permit = "read", "write", "del"; linux,phandle = <0x5d>; phandle = <0x5d>; }; key_10 { key-name = "hdcp22_fw_private"; key-device = "secure"; key-permit = "read", "write", "del"; linux,phandle = <0x5e>; phandle = <0x5e>; }; key_11 { key-name = "PlayReadykeybox25"; key-device = "secure"; key-permit = "read", "write", "del"; linux,phandle = <0x5f>; phandle = <0x5f>; }; key_12 { key-name = "prpubkeybox"; key-device = "secure"; key-permit = "read", "write", "del"; linux,phandle = <0x60>; phandle = <0x60>; }; key_13 { key-name = "prprivkeybox"; key-device = "secure"; key-permit = "read", "write", "del"; linux,phandle = <0x61>; phandle = <0x61>; }; }; amhdmitx { compatible = "amlogic, amhdmitx"; dev_name = "amhdmitx"; status = "okay"; pinctrl-names = "hdmitx_hpd", "hdmitx_ddc"; pinctrl-0 = <0x62>; pinctrl-1 = <0x63>; interrupts = <0x0 0x39 0x1>; interrupt-names = "hdmitx_hpd"; clocks = <0x6 0xb 0x6 0xc 0x6 0xd 0x6 0xe 0x6 0xf 0x6 0x16>; clock-names = "hdmitx_clk_sys", "hdmitx_clk_encp", "hdmitx_clk_enci", "hdmitx_clk_pixel", "hdmitx_clk_phy", "hdmitx_clk_vid"; gpio_i2c_en = <0x1>; #address-cells = <0x2>; #size-cells = <0x2>; ranges; }; aocec { compatible = "amlogic, amlogic-aocec"; device_name = "aocec"; status = "okay"; vendor_name = "Amlogic"; vendor_id = <0x0>; product_desc = "GXBB Mbox"; cec_osd_string = "MBox"; port_num = <0x1>; arc_port_mask = <0x0>; interrupts = <0x0 0xc7 0x1>; interrupt-names = "hdmi_aocec"; pinctrl-names = "hdmitx_aocec"; pinctrl-0 = <0x64>; reg = <0x0 0xc810023c 0x0 0x4 0x0 0xc8100000 0x0 0x200>; }; tvout { compatible = "amlogic, tvout"; dev_name = "tvout"; status = "okay"; }; i2c_gpio { compatible = "i2c-gpio"; status = "okay"; dev_name = "i2c-gpio"; i2c-gpio,delay-us = <0xa>; gpios = <0x35 0x11 0x0 0x35 0x12 0x0>; #address-cells = <0x2>; #size-cells = <0x2>; i2c-gpio,timeout-ms = <0xa>; i2c_gpio_edid { compatible = "i2c-gpio-edid"; reg = <0x50 0x0 0x0 0x0>; }; }; serial@c81004c0 { compatible = "amlogic, meson-uart"; reg = <0x0 0xc81004c0 0x0 0x18>; interrupts = <0x0 0xc1 0x1>; status = "okay"; clocks = <0x6 0x2>; clock-names = "clk_uart"; xtal_tick_en = <0x1>; fifosize = <0x40>; pinctrl-names = "default"; support-sysrq = <0x0>; }; serial@c11084c0 { compatible = "amlogic, meson-uart"; reg = <0x0 0xc11084c0 0x0 0x18>; interrupts = <0x0 0x1a 0x1>; status = "okay"; clocks = <0x6 0x2>; clock-names = "clk_uart"; fifosize = <0x80>; pinctrl-names = "default"; pinctrl-0 = <0x65>; resets = <0x6 0xd>; }; serial@c11084dc { compatible = "amlogic, meson-uart"; reg = <0x0 0xc11084dc 0x0 0x18>; interrupts = <0x0 0x4b 0x1>; status = "disable"; clocks = <0x6 0x2>; clock-names = "clk_uart"; fifosize = <0x40>; pinctrl-names = "default"; pinctrl-0 = <0x66>; resets = <0x6 0x30>; }; serial@c1108700 { compatible = "amlogic, meson-uart"; reg = <0x0 0xc1108700 0x0 0x18>; interrupts = <0x0 0x5d 0x1>; status = "disable"; clocks = <0x6 0x2>; clock-names = "clk_uart"; fifosize = <0x40>; pinctrl-names = "default"; pinctrl-0 = <0x67>; resets = <0x6 0x4f>; }; serial@c81004e0 { compatible = "amlogic, meson-uart"; reg = <0x0 0xc81004e0 0x0 0x18>; interrupts = <0x0 0xc5 0x1>; status = "disable"; clocks = <0x6 0x2>; clock-names = "clk_uart"; fifosize = <0x40>; pinctrl-names = "default"; pinctrl-0 = <0x68>; }; canvas { compatible = "amlogic, meson, canvas"; dev_name = "amlogic-canvas"; status = "ok"; reg = <0x0 0xc8838000 0x0 0x400>; }; rdma { compatible = "amlogic, meson, rdma"; dev_name = "amlogic-rdma"; status = "ok"; interrupts = <0x0 0x59 0x1>; interrupt-names = "rdma"; }; dwc3@c9000000 { compatible = "synopsys, dwc3"; reg = <0x0 0xc9000000 0x0 0x100000>; interrupts = <0x0 0x1e 0x4>; usb-phy = <0x69 0x6a>; cpu-type = "gxl"; clock-src = "usb3.0"; }; usb2phy@d0078000 { compatible = "amlogic, amlogic-new-usb2"; portnum = <0x3>; reg = <0x0 0xd0078000 0x0 0x80>; linux,phandle = <0x69>; phandle = <0x69>; }; usb3phy@d0078080 { compatible = "amlogic, amlogic-new-usb3"; portnum = <0x0>; reg = <0x0 0xd0078080 0x0 0x20>; linux,phandle = <0x6a>; phandle = <0x6a>; }; dwc2_a { compatible = "amlogic,dwc2"; device_name = "dwc2_a"; reg = <0x0 0xc9100000 0x0 0x40000>; status = "okay"; interrupts = <0x0 0x1f 0x4>; pl-periph-id = <0x0>; clock-src = "usb0"; port-id = <0x0>; port-type = <0x2>; port-speed = <0x0>; port-config = <0x0>; port-dma = <0x0>; port-id-mode = <0x0>; usb-fifo = <0x2d8>; cpu-type = "gxl"; controller-type = <0x1>; phy-reg = <0xd0078000>; phy-reg-size = <0xa0>; resets = <0x6 0x3a 0x6 0x48 0x6 0x36>; reset-names = "usb_general", "usb1", "usb1_to_ddr"; }; I2S { #sound-dai-cells = <0x0>; resets = <0x6 0x26 0x6 0x12 0x6 0x28 0x6 0x29 0x6 0x2a 0x6 0x2b 0x6 0x2c 0x6 0x2d 0x6 0x2f 0x6 0x8e 0x6 0x22>; reset-names = "top_glue", "aud_buf", "i2s_out", "amclk_measure", "aififo2", "aud_mixer", "mixer_reg", "adc", "top_level", "aoclk", "aud_in"; clocks = <0x6 0x21 0x6 0x22>; clock-names = "mpll2", "mclk"; compatible = "amlogic, aml-i2s-dai"; linux,phandle = <0x76>; phandle = <0x76>; }; SPDIF { #sound-dai-cells = <0x0>; compatible = "amlogic, aml-spdif-dai"; resets = <0x6 0x27 0x6 0x90>; reset-names = "iec958", "iec958_amclk"; clocks = <0x6 0x20 0x6 0x24 0x6 0x22 0x6 0x25 0x6 0xa>; clock-names = "mpll1", "i958", "mclk", "spdif", "clk_81"; linux,phandle = <0x77>; phandle = <0x77>; }; PCM { #sound-dai-cells = <0x0>; compatible = "amlogic, aml-pcm-dai"; pinctrl-names = "aml_audio_btpcm"; pinctrl-0 = <0x6b>; clocks = <0x6 0x1f 0x6 0x2a 0x6 0x2b>; clock-names = "mpll0", "pcm_mclk", "pcm_sclk"; pcm_mode = <0x1>; linux,phandle = <0x78>; phandle = <0x78>; }; i2s_platform { compatible = "amlogic, aml-i2s"; interrupts = <0x0 0x1d 0x1>; linux,phandle = <0x74>; phandle = <0x74>; }; pcm_platform { compatible = "amlogic, aml-pcm"; linux,phandle = <0x75>; phandle = <0x75>; }; spdif_codec { #sound-dai-cells = <0x0>; compatible = "amlogic, aml-spdif-codec"; pinctrl-names = "aml_audio_spdif"; pinctrl-0 = <0x6c>; linux,phandle = <0x7a>; phandle = <0x7a>; }; pcm_codec { #sound-dai-cells = <0x0>; compatible = "amlogic, pcm2BT-codec"; linux,phandle = <0x7b>; phandle = <0x7b>; }; dummy { #sound-dai-cells = <0x0>; compatible = "amlogic, aml_dummy_codec"; status = "disable"; }; t9015 { #sound-dai-cells = <0x0>; compatible = "amlogic, aml_codec_T9015"; reg = <0x0 0xc8832000 0x0 0x14>; status = "okay"; linux,phandle = <0x79>; phandle = <0x79>; }; aml_m8_snd { compatible = "aml, aml_snd_m8"; status = "okay"; aml-sound-card,format = "i2s"; aml_sound_card,name = "AML-M8AUDIO"; aml,audio-routing = "Ext Spk", "LOUTL", "Ext Spk", "LOUTR"; mute_gpio-gpios = <0x35 0x15 0x0>; mute_inv; hp_disable; hp_paraments = <0x320 0x12c 0x0 0x5 0x1>; pinctrl-names = "aml_snd_m8"; pinctrl-0 = <0x6d>; cpu_list = <0x6e 0x6f 0x70>; codec_list = <0x71 0x72 0x73>; plat_list = <0x74 0x74 0x75>; cpudai0 { sound-dai = <0x76>; linux,phandle = <0x6e>; phandle = <0x6e>; }; cpudai1 { sound-dai = <0x77>; linux,phandle = <0x6f>; phandle = <0x6f>; }; cpudai2 { sound-dai = <0x78>; linux,phandle = <0x70>; phandle = <0x70>; }; codec0 { sound-dai = <0x79>; linux,phandle = <0x71>; phandle = <0x71>; }; codec1 { sound-dai = <0x7a>; linux,phandle = <0x72>; phandle = <0x72>; }; codec2 { sound-dai = <0x7b>; linux,phandle = <0x73>; phandle = <0x73>; }; }; gpio_keypad { compatible = "amlogic, gpio_keypad"; status = "okay"; scan_period = <0x14>; key_num = <0x1>; key_name = "power"; key_code = <0x74>; key_pin = <0x7c 0x2 0x0>; irq_keyup = <0x6>; irq_keydown = <0x7>; }; aml-sensor@0 { compatible = "amlogic, aml-thermal"; device_name = "thermal"; #thermal-sensor-cells = <0x1>; linux,phandle = <0x7d>; phandle = <0x7d>; cooling_devices { cpufreq_cool_cluster0 { min_state = <0xf4240>; dyn_coeff = <0x8c>; cluster_id = <0x0>; node_name = "cluster0"; device_type = "cpufreq"; }; cpufreq_cool_cluster1 { min_state = <0x7a120>; dyn_coeff = <0x8c>; cluster_id = <0x1>; node_name = "cluster1"; device_type = "cpufreq"; }; cpucore_cool_cluster0 { min_state = <0x1>; dyn_coeff = <0x0>; cluster_id = <0x0>; node_name = "cpu_core_cluster0"; device_type = "cpucore"; }; cpucore_cool_cluster1 { min_state = <0x1>; dyn_coeff = <0x0>; cluster_id = <0x1>; node_name = "cpu_core_cluster1"; device_type = "cpucore"; }; gpufreq_cool { min_state = <0x190>; dyn_coeff = <0x1b5>; cluster_id = <0x0>; node_name = "t82x"; device_type = "gpufreq"; }; gpucore_cool { min_state = <0x1>; dyn_coeff = <0x0>; cluster_id = <0x0>; node_name = "thermal_gpu_cores"; device_type = "gpucore"; }; }; cpu_core_cluster0 { #cooling-cells = <0x2>; linux,phandle = <0x81>; phandle = <0x81>; }; cpu_core_cluster1 { #cooling-cells = <0x2>; linux,phandle = <0x82>; phandle = <0x82>; }; thermal_gpu_cores { #cooling-cells = <0x2>; linux,phandle = <0x84>; phandle = <0x84>; }; }; thermal-zones { soc_thermal { polling-delay = <0x3e8>; polling-delay-passive = <0x64>; sustainable-power = <0x992>; thermal-sensors = <0x7d 0x3>; trips { trip-point@0 { temperature = <0x11170>; hysteresis = <0x3e8>; type = "passive"; }; trip-point@1 { temperature = <0x13880>; hysteresis = <0x3e8>; type = "passive"; linux,phandle = <0x7e>; phandle = <0x7e>; }; trip-point@2 { temperature = <0x14c08>; hysteresis = <0x1388>; type = "hot"; }; trip-point@3 { temperature = <0x3f7a0>; hysteresis = <0x3e8>; type = "critical"; }; }; cooling-maps { cpufreq_cooling_map0 { trip = <0x7e>; cooling-device = <0x7f 0x0 0x4>; contribution = <0x400>; }; cpufreq_cooling_map1 { trip = <0x7e>; cooling-device = <0x80 0x0 0x4>; contribution = <0x400>; }; cpucore_cooling_map0 { trip = <0x7e>; cooling-device = <0x81 0x0 0x3>; contribution = <0x400>; }; cpucore_cooling_map1 { trip = <0x7e>; cooling-device = <0x82 0x0 0x3>; contribution = <0x400>; }; gpufreq_cooling_map { trip = <0x7e>; cooling-device = <0x83 0x0 0x4>; contribution = <0x400>; }; gpucore_cooling_map { trip = <0x7e>; cooling-device = <0x84 0x0 0x2>; contribution = <0x400>; }; }; }; }; };