From 241d3afd34754ef4d7e550c35529bc1e35ad32be Mon Sep 17 00:00:00 2001 From: penghubingzhou <57178266+startpenghubingzhou@users.noreply.github.com> Date: Fri, 1 Mar 2024 21:16:28 +0800 Subject: [PATCH] Add p261 dts file This dtb is the dts file of p261 for s905l2. --- gxlx_p261_1g_e900v21e.dts | 2061 +++++++++++++++++++++++++++++++++++++ 1 file changed, 2061 insertions(+) create mode 100644 gxlx_p261_1g_e900v21e.dts diff --git a/gxlx_p261_1g_e900v21e.dts b/gxlx_p261_1g_e900v21e.dts new file mode 100644 index 0000000..e83b211 --- /dev/null +++ b/gxlx_p261_1g_e900v21e.dts @@ -0,0 +1,2061 @@ +/dts-v1/; + +/ { + model = "Amlogic"; + compatible = "amlogic, gxl"; + amlogic-dt-id = "gxlx_p261_1g"; + interrupt-parent = <0x2>; + #address-cells = <0x2>; + #size-cells = <0x2>; + + mali@d00c0000 { + #cooling-cells = <0x2>; + compatible = "arm,mali-450"; + interrupt-parent = <0x2>; + reg = <0x0 0xd00c0000 0x0 0x40000 0x0 0xc883c000 0x0 0x4 0x0 0xc8100000 0x0 0x4 0x0 0xc883c000 0x0 0x100 0x0 0xc1104440 0x0 0x100>; + interrupts = <0x0 0xa0 0x4 0x0 0xa1 0x4 0x0 0xa2 0x4 0x0 0xa3 0x4 0x0 0xa4 0x4 0x0 0xa5 0x4 0x0 0xa6 0x4 0x0 0xa7 0x4>; + interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP", "IRQPMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1"; + pmu_domain_config = <0x1 0x2 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x2 0x0>; + pmu_switch_delay = <0xffff>; + num_of_pp = <0x2>; + def_clock = <0x3>; + sc_mpp = <0x2>; + tbl = <0x3 0x4 0x5 0x7 0x8 0x8>; + clocks = <0x9 0x8 0x9 0x9 0x9 0x11 0x9 0x12 0x9 0x1e 0x9 0x15 0x9 0x13 0x9 0x14>; + clock-names = "fclk_div3", "fclk_div4", "fclk_div5", "fclk_div7", "gp0_pll", "clk_mali", "clk_mali_0", "clk_mali_1"; + control_interval = <0xc8>; + + clk125_cfg { + clk_freq = <0x7735940>; + clk_parent = "fclk_div4"; + clkp_freq = <0x1dcd6500>; + voltage = <0x47e>; + keep_count = <0x5>; + threshold = <0x1e 0x78>; + linux,phandle = <0x3>; + phandle = <0x3>; + }; + + clk250_cfg { + clk_freq = <0xee6b280>; + clk_parent = "fclk_div4"; + clkp_freq = <0x1dcd6500>; + voltage = <0x47e>; + keep_count = <0x5>; + threshold = <0x50 0xaa>; + }; + + clk285_cfg { + clk_freq = <0x10fcc140>; + clk_parent = "fclk_div7"; + clkp_freq = <0x10fcc140>; + voltage = <0x47e>; + keep_count = <0x5>; + threshold = <0x64 0xbe>; + linux,phandle = <0x4>; + phandle = <0x4>; + }; + + clk400_cfg { + clk_freq = <0x17d78400>; + clk_parent = "fclk_div5"; + clkp_freq = <0x17d78400>; + voltage = <0x47e>; + keep_count = <0x5>; + threshold = <0x98 0xcf>; + linux,phandle = <0x5>; + phandle = <0x5>; + }; + + clk500_cfg { + clk_freq = <0x1dcd6500>; + clk_parent = "fclk_div4"; + clkp_freq = <0x1dcd6500>; + voltage = <0x47e>; + keep_count = <0x5>; + threshold = <0xb4 0xdc>; + linux,phandle = <0x7>; + phandle = <0x7>; + }; + + clk666_cfg { + clk_freq = <0x27b25a80>; + clk_parent = "fclk_div3"; + clkp_freq = <0x27b25a80>; + voltage = <0x47e>; + keep_count = <0x5>; + threshold = <0xd2 0xec>; + linux,phandle = <0x8>; + phandle = <0x8>; + }; + + clk750_cfg { + clk_freq = <0x2c588a00>; + clk_parent = "gp0_pll"; + clkp_freq = <0x2c588a00>; + voltage = <0x47e>; + keep_count = <0x5>; + threshold = <0xe6 0xff>; + }; + + clk800_cfg { + clk_freq = <0x2f34f600>; + clk_parent = "gp0_pll"; + clkp_freq = <0x2f34f600>; + voltage = <0x47e>; + keep_count = <0x5>; + threshold = <0xe6 0xff>; + }; + }; + + cpus { + #address-cells = <0x2>; + #size-cells = <0x0>; + #cooling-cells = <0x2>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x0>; + enable-method = "psci"; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x1>; + enable-method = "psci"; + }; + + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x2>; + enable-method = "psci"; + }; + + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x3>; + enable-method = "psci"; + }; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xff01 0x1 0xe 0xff01 0x1 0xb 0xff01 0x1 0xa 0xff01>; + }; + + 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 = <0x2>; + phandle = <0x2>; + }; + + 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 = <0xa>; + 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>; + }; + + 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-meson { + compatible = "amlogic, cpufreq-scpi"; + status = "okay"; + clocks = <0xb 0x0>; + clock-names = "cpu_clk"; + }; + + 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 = <0x9 0x2>; + }; + + amlogic-jtag { + compatible = "amlogic, jtag"; + status = "okay"; + pinctrl-names = "jtag_apao_pins", "jtag_apee_pins"; + pinctrl-0 = <0xc>; + pinctrl-1 = <0xd>; + }; + + 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 = <0x9>; + phandle = <0x9>; + }; + + 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 = <0x1b>; + phandle = <0x1b>; + }; + + 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 = <0x10>; + phandle = <0x10>; + }; + + eth_pins { + amlogic,setmask = <0x4 0x3000000>; + amlogic,clrmask = <0x3 0x300000>; + amlogic,pins = "GPIOZ_14", "GPIOZ_15"; + linux,phandle = <0x1f>; + phandle = <0x1f>; + }; + + jtag_apao_pin { + amlogic,clrmask = <0x6 0x7fe0000>; + amlogic,pins = "GPIOH_6", "GPIOH_7", "GPIOH_8", "GPIOH_9"; + linux,phandle = <0xc>; + phandle = <0xc>; + }; + + jtag_apee_pin { + amlogic,clrmask = <0x6 0x3c>; + amlogic,pins = "CARD_0", "CARD_1", "CARD_2", "CARD_3"; + linux,phandle = <0xd>; + phandle = <0xd>; + }; + + remote_pin { + amlogic,setmask = <0x10 0x1>; + amlogic,pins = "GPIOAO_7"; + linux,phandle = <0x19>; + phandle = <0x19>; + }; + + 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 = <0x5d>; + phandle = <0x5d>; + }; + + a_uart { + amlogic,setmask = <0x5 0xf0000>; + amlogic,clrmask = <0x5 0x3c0>; + amlogic,pins = "GPIOX_12", "GPIOX_13", "GPIOX_14", "GPIOX_15"; + linux,phandle = <0x5a>; + phandle = <0x5a>; + }; + + b_uart { + amlogic,setmask = <0x2 0x18000>; + amlogic,pins = "GPIODV_24", "GPIODV_25"; + linux,phandle = <0x5b>; + phandle = <0x5b>; + }; + + c_uart { + amlogic,setmask = <0x5 0x3000>; + amlogic,pins = "GPIOX_8", "GPIOX_9"; + linux,phandle = <0x5c>; + phandle = <0x5c>; + }; + + wifi_32k_pins { + amlogic,setmask = <0x5 0x8000>; + amlogic,pins = "GPIOX_16"; + linux,phandle = <0x25>; + phandle = <0x25>; + }; + + 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 = <0x2a>; + phandle = <0x2a>; + }; + + 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 = <0x2b>; + phandle = <0x2b>; + }; + + sd_clear_all_pin { + amlogic,setmask = <0x10 0x1800>; + amlogic,clrmask = <0x6 0x3f 0x6 0xfc0>; + amlogic,pins = "GPIOAO_0", "GPIOAO_1"; + amlogic,enable-output = <0x1>; + amlogic,pullup = <0x1>; + amlogic,pullupen = <0x1>; + linux,phandle = <0x33>; + phandle = <0x33>; + }; + + 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 = <0x2c>; + phandle = <0x2c>; + }; + + 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 = <0x2d>; + phandle = <0x2d>; + }; + + 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 = <0x2e>; + phandle = <0x2e>; + }; + + 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 = <0x2f>; + phandle = <0x2f>; + }; + + 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 = <0x30>; + phandle = <0x30>; + }; + + 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 = <0x31>; + phandle = <0x31>; + }; + + 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 = <0x32>; + phandle = <0x32>; + }; + + 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 = <0x27>; + phandle = <0x27>; + }; + + emmc_conf_pull_done { + amlogic,pins = "BOOT_15"; + amlogic,pullup = <0x0>; + amlogic,pullupen = <0x1>; + linux,phandle = <0x28>; + phandle = <0x28>; + }; + + 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 = <0x26>; + phandle = <0x26>; + }; + + 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 = <0x29>; + phandle = <0x29>; + }; + + 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 = <0x34>; + phandle = <0x34>; + }; + + 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 = <0x35>; + phandle = <0x35>; + }; + + 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 = <0x36>; + phandle = <0x36>; + }; + + conf_nand_pullup { + amlogic,pins = "BOOT_8", "BOOT_10"; + amlogic,pullup = <0x1>; + amlogic,pullupen = <0x1>; + linux,phandle = <0x37>; + phandle = <0x37>; + }; + + 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 = <0x38>; + phandle = <0x38>; + }; + + nand_cs { + amlogic,setmask = <0x7 0xc0>; + amlogic,clrmask = <0x7 0x40040000>; + amlogic,pins = "BOOT_8", "BOOT_9"; + linux,phandle = <0x39>; + phandle = <0x39>; + }; + + hdmitx_hpd { + amlogic,setmask = <0x6 0x80000000>; + amlogic,pins = "GPIOH_0"; + linux,phandle = <0x56>; + phandle = <0x56>; + }; + + hdmitx_ddc { + amlogic,setmask = <0x6 0x30000000>; + amlogic,pins = "GPIOH_1", "GPIOH_2"; + linux,phandle = <0x57>; + phandle = <0x57>; + }; + + hdmitx_aocec { + amlogic,setmask = <0x10 0x8000>; + amlogic,clrmask = <0x10 0x24000 0x11 0x1>; + amlogic,pins = "GPIOAO_8"; + linux,phandle = <0x59>; + phandle = <0x59>; + }; + + hdmitx_eecec { + amlogic,setmask = <0x10 0x4000>; + amlogic,clrmask = <0x10 0x28000 0x11 0x1>; + amlogic,pins = "GPIOAO_8"; + }; + + a_i2c { + amlogic,setmask = <0x1 0xc000>; + amlogic,clrmask = <0x3 0x18 0x2 0x18000 0x2 0xc0 0x1 0x600000>; + amlogic,pins = "GPIODV_24", "GPIODV_25"; + linux,phandle = <0xe>; + phandle = <0xe>; + }; + + b_i2c { + amlogic,setmask = <0x1 0x3000>; + amlogic,clrmask = <0x2 0x6000 0x1 0x1c0000>; + amlogic,pins = "GPIODV_26", "GPIODV_27"; + linux,phandle = <0xf>; + phandle = <0xf>; + }; + + c_i2c { + amlogic,setmask = <0x1 0xc00>; + amlogic,clrmask = <0x2 0x1800 0x1 0x200 0x2 0x20>; + amlogic,pins = "GPIODV_28", "GPIODV_29"; + linux,phandle = <0x11>; + phandle = <0x11>; + }; + + d_i2c { + amlogic,setmask = <0x5 0x30>; + amlogic,clrmask = <0x5 0x300c03>; + amlogic,pins = "GPIOX_10", "GPIOX_11"; + linux,phandle = <0x12>; + phandle = <0x12>; + }; + + 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 = <0x62>; + phandle = <0x62>; + }; + + audio_pin1 { + amlogic,setmask = <0x6 0x10000000>; + amlogic,clrmask = <0x6 0x8000000>; + amlogic,pins = "GPIOH_4"; + linux,phandle = <0x61>; + phandle = <0x61>; + }; + + audio_btpcm_pins { + amlogic,setmask = <0x5 0xf00000>; + amlogic,clrmask = <0x5 0x3c33>; + amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_10", "GPIOX_11"; + linux,phandle = <0x60>; + phandle = <0x60>; + }; + }; + + cpu_version { + reg = <0x0 0xc8100220 0x0 0x4>; + }; + + meson_clk_msr { + compatible = "amlogic, gxl_measure"; + reg = <0x0 0xc110875c 0x0 0x4 0x0 0xc1108764 0x0 0x4>; + }; + + 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 = <0xe>; + #address-cells = <0x1>; + #size-cells = <0x0>; + use_pio = <0x0>; + master_i2c_speed = <0x493e0>; + clocks = <0x9 0xa>; + clock-names = "clk_i2c"; + resets = <0x9 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 = <0xf>; + #address-cells = <0x1>; + #size-cells = <0x0>; + use_pio = <0x0>; + master_i2c_speed = <0x493e0>; + clocks = <0x9 0xa>; + clock-names = "clk_i2c"; + resets = <0x9 0x9>; + + ntag_i2c@55 { + compatible = "nxp,ntag_i2c"; + reg = <0x55>; + clock-frequency = <0x61a80>; + interrupt-gpios = <0x10 0x2 0x0>; + irq_fall = <0x1>; + irq_rise = <0x2>; + interrupts = <0x0 0x41 0x1 0x0 0x42 0x1>; + }; + + pn547@28 { + compatible = "nxp,pn547"; + reg = <0x28>; + clock-frequency = <0x61a80>; + interrupt-gpios = <0x10 0x6 0x0>; + enable-gpios = <0x10 0x5 0x0>; + switch-gpios = <0x10 0x9 0x0>; + gpioirq = <0x0>; + interrupts = <0x0 0x40 0x1>; + }; + }; + + i2c@c11087e0 { + compatible = "amlogic, meson-i2c"; + dev_name = "i2c-C"; + status = "disabled"; + reg = <0x0 0xc11087e0 0x0 0x20>; + device_id = <0x3>; + pinctrl-names = "default"; + pinctrl-0 = <0x11>; + #address-cells = <0x1>; + #size-cells = <0x0>; + use_pio = <0x0>; + master_i2c_speed = <0x493e0>; + clocks = <0x9 0xa>; + clock-names = "clk_i2c"; + resets = <0x9 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 = <0x12>; + #address-cells = <0x1>; + #size-cells = <0x0>; + use_pio = <0x0>; + master_i2c_speed = <0x493e0>; + clocks = <0x9 0xa>; + clock-names = "clk_i2c"; + resets = <0x9 0x9>; + }; + + efuse { + compatible = "amlogic, efuse"; + read_cmd = <0x82000030>; + write_cmd = <0x82000031>; + get_max_cmd = <0x82000033>; + key = <0x13>; + resets = <0x9 0x3e>; + reset-names = "efuse_clk"; + status = "okay"; + }; + + efusekey { + keynum = <0x4>; + key0 = <0x14>; + key1 = <0x15>; + key2 = <0x16>; + key3 = <0x17>; + linux,phandle = <0x13>; + phandle = <0x13>; + + key0 { + keyname = "mac"; + offset = <0x0>; + size = <0x6>; + linux,phandle = <0x14>; + phandle = <0x14>; + }; + + key1 { + keyname = "mac_bt"; + offset = <0x6>; + size = <0x6>; + linux,phandle = <0x15>; + phandle = <0x15>; + }; + + key2 { + keyname = "mac_wifi"; + offset = <0xc>; + size = <0x6>; + linux,phandle = <0x16>; + phandle = <0x16>; + }; + + key3 { + keyname = "usid"; + offset = <0x12>; + size = <0x10>; + linux,phandle = <0x17>; + phandle = <0x17>; + }; + }; + + 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 = <0x18 0x0 0x18 0x1>; + linux,phandle = <0x18>; + phandle = <0x18>; + }; + + scpi_clocks { + compatible = "arm,scpi-clks"; + + scpi_clocks@0 { + compatible = "arm,scpi-clk-indexed"; + #clock-cells = <0x1>; + clock-indices = <0x0>; + clock-output-names = "vcpu"; + linux,phandle = <0xb>; + phandle = <0xb>; + }; + }; + + meson_remote { + compatible = "amlogic, aml_remote"; + dev_name = "meson-remote"; + status = "ok"; + remote_ao_offset = <0x580>; + interrupts = <0x0 0xc4 0x1>; + pinctrl-names = "default"; + pinctrl-0 = <0x19>; + led-gpios = <0x10 0x6 0x0>; + led_status_on = <0x1>; + }; + + 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 = <0x9 0x2>; + clock-names = "saradc_clk"; + resets = <0x9 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 = <0x9 0x8>; + clocks = <0x9 0xa>; + clock-names = "spicc_clk"; + interrupts = <0x0 0x51 0x1>; + device_id = <0x0>; + }; + + 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 = <0xa>; + phandle = <0xa>; + }; + + linux,secos { + status = "disabled"; + 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,secchk { + compatible = "shared-dma-pool"; + status = "disabled"; + reusable; + size = <0x0 0x2000000>; + alignment = <0x0 0x400000>; + linux,contiguous-region; + }; + + linux,meson-fb { + compatible = "shared-dma-pool"; + reusable; + size = <0x0 0x2400000>; + alignment = <0x0 0x40000>; + alloc-ranges = <0x0 0x3dc00000 0x0 0x2400000>; + linux,phandle = <0x1c>; + phandle = <0x1c>; + }; + + linux,di_cma { + compatible = "shared-dma-pool"; + reusable; + size = <0x0 0x2800000>; + alignment = <0x0 0x400000>; + linux,phandle = <0x24>; + phandle = <0x24>; + }; + + linux,ion-dev { + compatible = "amlogic, idev-mem"; + size = <0x0 0x2000000>; + linux,phandle = <0x20>; + phandle = <0x20>; + }; + + linux,vdin1_cma { + compatible = "shared-dma-pool"; + linux,phandle = <0x6>; + reusable; + size = <0x0 0x1400000>; + alignment = <0x0 0x400000>; + }; + + linux,ppmgr { + compatible = "shared-dma-pool"; + size = <0x0 0x0>; + linux,phandle = <0x22>; + phandle = <0x22>; + }; + + linux,amlvideo2 { + compatible = "shared-dma-pool"; + reusable; + size = <0x0 0x1800000>; + alignment = <0x0 0x400000>; + linux,phandle = <0x23>; + phandle = <0x23>; + }; + + linux,hevc_cma { + compatible = "shared-dma-pool"; + linux,phandle = <0x1>; + reusable; + size = <0x0 0x4000000>; + alignment = <0x0 0x400000>; + linux,contiguous-region; + }; + + linux,codec_mm_cma { + compatible = "shared-dma-pool"; + reusable; + size = <0x0 0xf000000>; + alignment = <0x0 0x400000>; + linux,contiguous-region; + linux,phandle = <0x1d>; + phandle = <0x1d>; + }; + + linux,picdec { + compatible = "shared-dma-pool"; + reusable; + size = <0x0 0x0>; + alignment = <0x0 0x0>; + linux,contiguous-region; + linux,phandle = <0x21>; + phandle = <0x21>; + }; + + linux,codec_mm_reserved { + compatible = "amlogic, codec-mm-reserved"; + size = <0x0 0x8000000>; + alignment = <0x0 0x100000>; + linux,phandle = <0x1e>; + phandle = <0x1e>; + }; + }; + + ledlight { + compatible = "amlogic, ledlight"; + dev_name = "ledlight"; + status = "okay"; + power_gpio_0 = <0x1a>; + + power_gpio_rg { + led_name = "power_led"; + led_gpio = <0x1b 0x49 0x0>; + led_active = <0x1>; + led_type = "R&G"; + linux,phandle = <0x1a>; + phandle = <0x1a>; + }; + + net_gpio_rg { + led_name = "net_led"; + led_gpio = <0x10 0x5 0x0>; + led_active = <0x1>; + led_type = "R&G"; + }; + }; + + meson-vout { + compatible = "amlogic, meson-vout"; + dev_name = "meson-vout"; + status = "okay"; + }; + + meson-fb { + compatible = "amlogic, meson-fb"; + memory-region = <0x1c>; + dev_name = "meson-fb"; + status = "okay"; + interrupts = <0x0 0x3 0x1 0x0 0x59 0x1>; + interrupt-names = "viu-vsync", "rdma"; + mem_size = <0x800000 0x1800000 0x100000>; + display_mode_default = "720p50hz"; + scale_mode = <0x1>; + display_size_default = <0x780 0x438 0x780 0xca8 0x20>; + logo_addr = "0x3dc00000"; + }; + + ge2d { + compatible = "amlogic, ge2d"; + dev_name = "ge2d"; + status = "okay"; + interrupts = <0x0 0x96 0x1>; + interrupt-names = "ge2d"; + clocks = <0x9 0x17 0x9 0x19>; + clock-names = "clk_vapb_0", "clk_ge2d"; + resets = <0x9 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 = <0x1d 0x1e>; + dev_name = "codec_mm"; + status = "okay"; + }; + + ethernet@0xc9410000 { + compatible = "amlogic, gxbb-rmii-dwmac"; + reg = <0x0 0xc9410000 0x0 0x10000 0x0 0xc8834540 0x0 0x8 0x0 0xc8834558 0x0 0xc>; + interrupts = <0x0 0x8 0x1 0x0 0x9 0x1>; + phy-mode = "rmii"; + pinctrl-names = "eth_pins"; + pinctrl-0 = <0x1f>; + mc_val = <0x1800>; + resets = <0x9 0x23>; + reset-names = "ethpower"; + interrupt-names = "macirq", "phyirq"; + clocks = <0x9 0xa>; + clock-names = "ethclk81"; + internal_phy = <0x1>; + }; + + mesonstream { + compatible = "amlogic, codec, streambuf"; + dev_name = "mesonstream"; + status = "okay"; + resets = <0x9 0x39 0x9 0x59 0x9 0x24 0x9 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 = <0x20>; + }; + + 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"; + }; + + picdec { + compatible = "amlogic, picdec"; + memory-region = <0x21>; + dev_name = "picdec"; + status = "okay"; + }; + + ppmgr { + compatible = "amlogic, ppmgr"; + memory-region = <0x22>; + dev_name = "ppmgr"; + status = "okay"; + }; + + amlvideo2 { + compatible = "amlogic, amlvideo2"; + memory-region = <0x23>; + dev_name = "amlvideo2"; + status = "okay"; + }; + + deinterlace { + compatible = "amlogic, deinterlace"; + status = "okay"; + flag_cma = <0x2>; + memory-region = <0x24>; + interrupts = <0x0 0x2e 0x1 0x0 0x6 0x1>; + interrupt-names = "de_irq", "timerc"; + buffer-size = <0x3e2c40>; + nr10bit-surpport = <0x1>; + hw-version = <0x2>; + }; + + vdin0 { + compatible = "amlogic, vdin"; + dev_name = "vdin0"; + status = "okay"; + reserve-iomap = "true"; + flag_cma = <0x1>; + cma_size = <0x18>; + interrupts = <0x0 0x53 0x1>; + rdma-irq = <0x2>; + clocks = <0x9 0x11 0x9 0x29>; + clock-names = "fclk_div5", "cts_vdin_meas_clk"; + vdin_id = <0x0>; + tv_bit_mode = <0x15>; + }; + + vdin1 { + compatible = "amlogic, vdin"; + memory-region = <0x6>; + dev_name = "vdin1"; + status = "okay"; + reserve-iomap = "true"; + flag_cma = <0x0>; + interrupts = <0x0 0x55 0x1>; + rdma-irq = <0x4>; + clocks = <0x9 0x11 0x9 0x29>; + clock-names = "fclk_div5", "cts_vdin_meas_clk"; + vdin_id = <0x1>; + }; + + amvdec_656in0 { + compatible = "amlogic, amvdec_656in"; + dev_name = "amvdec_656in0"; + status = "ok"; + reg = <0x0 0xd0048000 0x0 0x7c>; + clocks = <0x9 0x7 0x9 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 = <0x9 0x7 0x9 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"; + memory-region = <0x1>; + 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 = <0x1b 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 = <0x1b 0x56 0x0>; + interrupts = <0x0 0x44 0x4>; + irq_trigger_type = "GPIO_IRQ_LOW"; + power_on_pin = <0x1b 0x55 0x0>; + dhd_static_buf; + pinctrl-names = "wifi_32k_pins"; + pinctrl-0 = <0x25>; + }; + + 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 = <0x26>; + pinctrl-1 = <0x27 0x28 0x29>; + + 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"; + f_min = <0x493e0>; + f_max = <0x2faf080>; + tx_phase = <0x0>; + max_req_size = <0x20000>; + gpio_dat3 = <0x1b 0x1d 0x0>; + hw_reset = <0x1b 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", "sd_clear_all_pin"; + pinctrl-0 = <0x2a>; + pinctrl-1 = <0x2b>; + pinctrl-2 = <0x2c>; + pinctrl-3 = <0x2d>; + pinctrl-4 = <0x2e>; + pinctrl-5 = <0x2f>; + pinctrl-6 = <0x30>; + pinctrl-7 = <0x31>; + pinctrl-8 = <0x32>; + pinctrl-9 = <0x33>; + + 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_card5 = <0x1b 0x2f 0x0>; + gpio_dat3 = <0x1b 0x2e 0x0>; + gpio_card3 = <0x1b 0x2d 0x0>; + gpio_card2 = <0x1b 0x2c 0x0>; + gpio_card1 = <0x1b 0x2b 0x0>; + jtag_pin = <0x1b 0x2a 0x0>; + gpio_cd = <0x1b 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 = <0x34>; + pinctrl-1 = <0x35>; + + 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>; + tx_delay = <0x6>; + 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 = <0x36 0x37 0x38>; + pinctrl-1 = <0x36 0x37 0x38>; + pinctrl-2 = <0x39>; + device_id = <0x0>; + plat-names = "nandnormal"; + plat-num = <0x1>; + plat-part-0 = <0x3a>; + + normal { + enable_pad = "ce0", "ce1", "ce2", "ce3"; + busy_pad = "rb0"; + linux,phandle = <0x3a>; + phandle = <0x3a>; + }; + }; + + aml_nftl { + compatible = "amlogic, nftl"; + }; + + partitions { + parts = <0x10>; + part-0 = <0x3b>; + part-1 = <0x3c>; + part-2 = <0x3d>; + part-3 = <0x3e>; + part-4 = <0x3f>; + part-5 = <0x40>; + part-6 = <0x41>; + part-7 = <0x42>; + part-8 = <0x43>; + part-9 = <0x44>; + part-10 = <0x45>; + part-11 = <0x46>; + part-12 = <0x47>; + part-13 = <0x48>; + part-14 = <0x49>; + part-15 = <0x4a>; + + logo { + pname = "logo"; + size = <0x0 0x2000000>; + mask = <0x1>; + linux,phandle = <0x3b>; + phandle = <0x3b>; + }; + + recovery { + pname = "recovery"; + size = <0x0 0x2000000>; + mask = <0x1>; + linux,phandle = <0x3c>; + phandle = <0x3c>; + }; + + rsv { + pname = "rsv"; + size = <0x0 0x400000>; + mask = <0x1>; + linux,phandle = <0x3d>; + phandle = <0x3d>; + }; + + tee { + pname = "tee"; + size = <0x0 0x800000>; + mask = <0x1>; + linux,phandle = <0x3e>; + phandle = <0x3e>; + }; + + crypt { + pname = "crypt"; + size = <0x0 0x2000000>; + mask = <0x1>; + linux,phandle = <0x3f>; + phandle = <0x3f>; + }; + + misc { + pname = "misc"; + size = <0x0 0x400000>; + mask = <0x1>; + linux,phandle = <0x40>; + phandle = <0x40>; + }; + + instaboot { + pname = "instaboot"; + size = <0x0 0x400000>; + mask = <0x1>; + linux,phandle = <0x41>; + phandle = <0x41>; + }; + + boot { + pname = "boot"; + size = <0x0 0x2000000>; + mask = <0x1>; + linux,phandle = <0x42>; + phandle = <0x42>; + }; + + params { + pname = "params"; + size = <0x0 0x4000000>; + mask = <0x2>; + linux,phandle = <0x43>; + phandle = <0x43>; + }; + + skmac { + pname = "skmac"; + size = <0x0 0x400000>; + mask = <0x1>; + linux,phandle = <0x44>; + phandle = <0x44>; + }; + + skparam { + pname = "skparam"; + size = <0x0 0x4000000>; + mask = <0x1>; + linux,phandle = <0x45>; + phandle = <0x45>; + }; + + skbackup { + pname = "skbackup"; + size = <0x0 0x30000000>; + mask = <0x1>; + linux,phandle = <0x46>; + phandle = <0x46>; + }; + + system { + pname = "system"; + size = <0x0 0x40000000>; + mask = <0x1>; + linux,phandle = <0x47>; + phandle = <0x47>; + }; + + cache { + pname = "cache"; + size = <0x0 0x30000000>; + mask = <0x2>; + linux,phandle = <0x48>; + phandle = <0x48>; + }; + + cobargs { + pname = "cobargs"; + size = <0x0 0x800000>; + mask = <0x1>; + linux,phandle = <0x49>; + phandle = <0x49>; + }; + + data { + pname = "data"; + size = <0xffffffff 0xffffffff>; + mask = <0x4>; + linux,phandle = <0x4a>; + phandle = <0x4a>; + }; + }; + + unifykey { + compatible = "amlogic, unifykey"; + status = "ok"; + unifykey-num = <0xb>; + unifykey-index-0 = <0x4b>; + unifykey-index-1 = <0x4c>; + unifykey-index-2 = <0x4d>; + unifykey-index-3 = <0x4e>; + unifykey-index-4 = <0x4f>; + unifykey-index-5 = <0x50>; + unifykey-index-6 = <0x51>; + unifykey-index-7 = <0x52>; + unifykey-index-8 = <0x53>; + unifykey-index-9 = <0x54>; + unifykey-index-10 = <0x55>; + + key_0 { + key-name = "usid"; + key-device = "normal"; + key-permit = "read", "write", "del"; + linux,phandle = <0x4b>; + phandle = <0x4b>; + }; + + key_1 { + key-name = "mac"; + key-device = "normal"; + key-permit = "read", "write", "del"; + linux,phandle = <0x4c>; + phandle = <0x4c>; + }; + + key_2 { + key-name = "hdcp"; + key-device = "secure"; + key-type = "sha1"; + key-permit = "read", "write", "del"; + linux,phandle = <0x4d>; + phandle = <0x4d>; + }; + + key_3 { + key-name = "secure_boot_set"; + key-device = "efuse"; + key-permit = "write"; + linux,phandle = <0x4e>; + phandle = <0x4e>; + }; + + key_4 { + key-name = "mac_bt"; + key-device = "normal"; + key-permit = "read", "write", "del"; + key-type = "mac"; + linux,phandle = <0x4f>; + phandle = <0x4f>; + }; + + key_5 { + key-name = "mac_wifi"; + key-device = "normal"; + key-permit = "read", "write", "del"; + key-type = "mac"; + linux,phandle = <0x50>; + phandle = <0x50>; + }; + + key_6 { + key-name = "hdcp2_tx"; + key-device = "normal"; + key-permit = "read", "write", "del"; + linux,phandle = <0x51>; + phandle = <0x51>; + }; + + key_7 { + key-name = "hdcp2_rx"; + key-device = "normal"; + key-permit = "read", "write", "del"; + linux,phandle = <0x52>; + phandle = <0x52>; + }; + + key_8 { + key-name = "widevinekeybox"; + key-device = "secure"; + key-type = "sha1"; + key-permit = "read", "write", "del"; + linux,phandle = <0x53>; + phandle = <0x53>; + }; + + key_9 { + key-name = "deviceid"; + key-device = "normal"; + key-permit = "read", "write", "del"; + linux,phandle = <0x54>; + phandle = <0x54>; + }; + + key_10 { + key-name = "hdcp22_fw_private"; + key-device = "secure"; + key-permit = "read", "write", "del"; + linux,phandle = <0x55>; + phandle = <0x55>; + }; + }; + + tfsec { + compatible = "amlogic, tfsec"; + tap_get_sn = <0xb000ff01>; + tap_decrypt_cloud_challenge = <0xb000ff02>; + tap_decrypt_terminal_challenge = <0xb000ff03>; + tap_burn_in = <0xb000ff04>; + tap_burn_sn = <0xb000ff05>; + tap_burn_ci = <0xb000ff06>; + tap_burn_mac = <0xb000ff07>; + tap_get_mac = <0xb000ff08>; + tap_get_ci = <0xb000ff09>; + tap_query_in = <0xb000ff0a>; + }; + + amhdmitx { + compatible = "amlogic, amhdmitx"; + dev_name = "amhdmitx"; + status = "okay"; + pinctrl-names = "hdmitx_hpd", "hdmitx_ddc"; + pinctrl-0 = <0x56>; + pinctrl-1 = <0x57>; + vend-data = <0x58>; + interrupts = <0x0 0x39 0x1>; + interrupt-names = "hdmitx_hpd"; + clocks = <0x9 0xb 0x9 0xc 0x9 0xd 0x9 0xe 0x9 0xf 0x9 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; + + vend_data { + compatible = "amlogic, amlogic-cec"; + status = "okay"; + vendor_name = "Amlogic"; + vendor_id = <0x0>; + product_desc = "GXBB Mbox"; + cec_osd_string = "MBox"; + interrupts = <0x0 0xc7 0x1>; + interrupt-names = "hdmitx_cec"; + pinctrl-names = "hdmitx_aocec"; + pinctrl-0 = <0x59>; + reg = <0x0 0xc810023c 0x0 0x4 0x0 0xc8100000 0x0 0x200>; + linux,phandle = <0x58>; + phandle = <0x58>; + }; + }; + + 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 = <0x1b 0x11 0x0 0x1b 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 = <0x9 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 = <0x9 0x2>; + clock-names = "clk_uart"; + fifosize = <0x80>; + pinctrl-names = "default"; + pinctrl-0 = <0x5a>; + resets = <0x9 0xd>; + }; + + serial@c11084dc { + compatible = "amlogic, meson-uart"; + reg = <0x0 0xc11084dc 0x0 0x18>; + interrupts = <0x0 0x4b 0x1>; + status = "disable"; + clocks = <0x9 0x2>; + clock-names = "clk_uart"; + fifosize = <0x40>; + pinctrl-names = "default"; + pinctrl-0 = <0x5b>; + resets = <0x9 0x30>; + }; + + serial@c1108700 { + compatible = "amlogic, meson-uart"; + reg = <0x0 0xc1108700 0x0 0x18>; + interrupts = <0x0 0x5d 0x1>; + status = "disable"; + clocks = <0x9 0x2>; + clock-names = "clk_uart"; + fifosize = <0x40>; + pinctrl-names = "default"; + pinctrl-0 = <0x5c>; + resets = <0x9 0x4f>; + }; + + serial@c81004e0 { + compatible = "amlogic, meson-uart"; + reg = <0x0 0xc81004e0 0x0 0x18>; + interrupts = <0x0 0xc5 0x1>; + status = "disable"; + clocks = <0x9 0x2>; + clock-names = "clk_uart"; + fifosize = <0x40>; + pinctrl-names = "default"; + pinctrl-0 = <0x5d>; + }; + + 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 = <0x5e 0x5f>; + cpu-type = "gxl"; + clock-src = "usb3.0"; + }; + + usb2phy@d0078000 { + compatible = "amlogic, amlogic-new-usb2"; + portnum = <0x2>; + reg = <0x0 0xd0078000 0x0 0x80>; + linux,phandle = <0x5e>; + phandle = <0x5e>; + }; + + usb3phy@d0078080 { + compatible = "amlogic, amlogic-new-usb3"; + portnum = <0x0>; + reg = <0x0 0xd0078080 0x0 0x20>; + linux,phandle = <0x5f>; + phandle = <0x5f>; + }; + + 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 = <0x9 0x3a 0x9 0x48 0x9 0x36>; + reset-names = "usb_general", "usb1", "usb1_to_ddr"; + }; + + I2S { + #sound-dai-cells = <0x0>; + resets = <0x9 0x26 0x9 0x12 0x9 0x28 0x9 0x29 0x9 0x2a 0x9 0x2b 0x9 0x2c 0x9 0x2d 0x9 0x2f 0x9 0x8e 0x9 0x22>; + reset-names = "top_glue", "aud_buf", "i2s_out", "amclk_measure", "aififo2", "aud_mixer", "mixer_reg", "adc", "top_level", "aoclk", "aud_in"; + clocks = <0x9 0x1f 0x9 0x22>; + clock-names = "mpll0", "mclk"; + compatible = "amlogic, aml-i2s-dai"; + linux,phandle = <0x6b>; + phandle = <0x6b>; + }; + + SPDIF { + #sound-dai-cells = <0x0>; + compatible = "amlogic, aml-spdif-dai"; + resets = <0x9 0x27 0x9 0x90>; + reset-names = "iec958", "iec958_amclk"; + clocks = <0x9 0x20 0x9 0x24 0x9 0x22 0x9 0x25 0x9 0xa>; + clock-names = "mpll1", "i958", "mclk", "spdif", "clk_81"; + linux,phandle = <0x6c>; + phandle = <0x6c>; + }; + + PCM { + #sound-dai-cells = <0x0>; + compatible = "amlogic, aml-pcm-dai"; + pinctrl-names = "aml_audio_btpcm"; + pinctrl-0 = <0x60>; + linux,phandle = <0x6d>; + phandle = <0x6d>; + }; + + i2s_platform { + compatible = "amlogic, aml-i2s"; + interrupts = <0x0 0x30 0x1 0x0 0x1d 0x1>; + linux,phandle = <0x69>; + phandle = <0x69>; + }; + + pcm_platform { + compatible = "amlogic, aml-pcm"; + linux,phandle = <0x6a>; + phandle = <0x6a>; + }; + + spdif_codec { + #sound-dai-cells = <0x0>; + compatible = "amlogic, aml-spdif-codec"; + pinctrl-names = "aml_audio_spdif"; + pinctrl-0 = <0x61>; + linux,phandle = <0x6f>; + phandle = <0x6f>; + }; + + pcm_codec { + #sound-dai-cells = <0x0>; + compatible = "amlogic, pcm2BT-codec"; + linux,phandle = <0x70>; + phandle = <0x70>; + }; + + 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 = <0x6e>; + phandle = <0x6e>; + }; + + 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 = <0x1b 0x15 0x0>; + mute_inv; + hp_disable; + sleep_time = <0x12c>; + hp_paraments = <0x320 0x12c 0x0 0x5 0x1>; + pinctrl-names = "aml_snd_m8"; + pinctrl-0 = <0x62>; + cpu_list = <0x63 0x64 0x65>; + codec_list = <0x66 0x67 0x68>; + plat_list = <0x69 0x69 0x6a>; + + cpudai0 { + sound-dai = <0x6b>; + linux,phandle = <0x63>; + phandle = <0x63>; + }; + + cpudai1 { + sound-dai = <0x6c>; + linux,phandle = <0x64>; + phandle = <0x64>; + }; + + cpudai2 { + sound-dai = <0x6d>; + linux,phandle = <0x65>; + phandle = <0x65>; + }; + + codec0 { + sound-dai = <0x6e>; + linux,phandle = <0x66>; + phandle = <0x66>; + }; + + codec1 { + sound-dai = <0x6f>; + linux,phandle = <0x67>; + phandle = <0x67>; + }; + + codec2 { + sound-dai = <0x70>; + linux,phandle = <0x68>; + phandle = <0x68>; + }; + }; + + gpio_keypad { + compatible = "amlogic, gpio_keypad"; + status = "okay"; + scan_period = <0x14>; + key_num = <0x1>; + key_name = "power"; + key_code = <0x74>; + key_pin = <0x10 0x2 0x0>; + irq_keyup = <0x6>; + irq_keydown = <0x7>; + }; + + amlogic_thermals { + compatible = "amlogic, amlogic-thermal"; + #thermal-cells = <0x7>; + dev_name = "aml_thermal"; + status = "okay"; + trip_point = <0x46 0x177001 0x177001 0x1ff 0x1ff 0x3 0x2 0x50 0x13c681 0x13c681 0x1b3 0x1b3 0x2 0x1 0x5a 0xfbf41 0xfbf41 0x148 0x148 0x2 0x1 0x104 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff>; + cpu_cali_a = <0x0>; + idle_interval = <0x3e8>; + keep_mode; + keep_mode_threshold = <0x55>; + keep_mode_max_range = <0x1ec300 0x29a 0x4 0x2>; + keep_mode_min_range = <0xf4240 0x190 0x2 0x1 0xa2d78 0x190 0x1 0x1>; + }; +};