/dts-v1/;

/ {
	model = "Amlogic";
	compatible = "amlogic, Gxbb";
	amlogic-dt-id = "gxl_p231_2g";
	interrupt-parent = <0x1>;
	#address-cells = <0x2>;
	#size-cells = <0x2>;

	mali@d00c0000 {
		#cooling-cells = <0x2>;
		compatible = "arm,mali-450";
		interrupt-parent = <0x1>;
		reg = <0x0 0xd00c0000 0x0 0x40000 0x0 0xc883c000 0x0 0x1000 0x0 0xc8100000 0x0 0x1000 0x0 0xc883c000 0x0 0x1000 0x0 0xc1104440 0x0 0x1000>;
		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 0x0 0xa8 0x4 0x0 0xa9 0x4>;
		interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP", "IRQPMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPP2", "IRQPPMMU2";
		pmu_domain_config = <0x1 0x2 0x4 0x4 0x0 0x0 0x0 0x0 0x0 0x1 0x2 0x0>;
		pmu_switch_delay = <0xffff>;
		num_of_pp = <0x3>;
		def_clock = <0x3>;
		sc_mpp = <0x3>;
		tbl = <0x2 0x3 0x4 0x5 0x6 0x7 0x7>;
		clocks = <0x8 0x8 0x8 0x9 0x8 0x11 0x8 0x12 0x8 0x1e 0x8 0x15 0x8 0x13 0x8 0x14>;
		clock-names = "fclk_div3", "fclk_div4", "fclk_div5", "fclk_div7", "gp0_pll", "clk_mali", "clk_mali_0", "clk_mali_1";
		control_interval = <0xc8>;
		linux,phandle = <0x6f>;
		phandle = <0x6f>;

		clk125_cfg {
			clk_freq = <0x7735940>;
			clk_parent = "fclk_div4";
			clkp_freq = <0x1dcd6500>;
			voltage = <0x47e>;
			keep_count = <0x5>;
			threshold = <0x1e 0xfa>;
			linux,phandle = <0x2>;
			phandle = <0x2>;
		};

		clk250_cfg {
			clk_freq = <0xee6b280>;
			clk_parent = "fclk_div4";
			clkp_freq = <0x1dcd6500>;
			voltage = <0x47e>;
			keep_count = <0x5>;
			threshold = <0x73 0xfa>;
		};

		clk285_cfg {
			clk_freq = <0x10fcc140>;
			clk_parent = "fclk_div7";
			clkp_freq = <0x10fcc140>;
			voltage = <0x47e>;
			keep_count = <0x5>;
			threshold = <0x64 0xfa>;
			linux,phandle = <0x3>;
			phandle = <0x3>;
		};

		clk400_cfg {
			clk_freq = <0x17d78400>;
			clk_parent = "fclk_div5";
			clkp_freq = <0x17d78400>;
			voltage = <0x47e>;
			keep_count = <0x3>;
			threshold = <0xa8 0xfa>;
			linux,phandle = <0x4>;
			phandle = <0x4>;
		};

		clk500_cfg {
			clk_freq = <0x1dcd6500>;
			clk_parent = "fclk_div4";
			clkp_freq = <0x1dcd6500>;
			voltage = <0x47e>;
			keep_count = <0x2>;
			threshold = <0xbe 0xfa>;
			linux,phandle = <0x5>;
			phandle = <0x5>;
		};

		clk666_cfg {
			clk_freq = <0x27b25a80>;
			clk_parent = "fclk_div3";
			clkp_freq = <0x27b25a80>;
			voltage = <0x47e>;
			keep_count = <0x1>;
			threshold = <0xb1 0xfa>;
			linux,phandle = <0x6>;
			phandle = <0x6>;
		};

		clk750_cfg {
			clk_freq = <0x2c588a00>;
			clk_parent = "gp0_pll";
			clkp_freq = <0x2c588a00>;
			voltage = <0x47e>;
			keep_count = <0x1>;
			threshold = <0xd5 0xff>;
			linux,phandle = <0x7>;
			phandle = <0x7>;
		};

		clk800_cfg {
			clk_freq = <0x2f34f600>;
			clk_parent = "gp0_pll";
			clkp_freq = <0x2f34f600>;
			voltage = <0x47e>;
			keep_count = <0x1>;
			threshold = <0xe6 0xff>;
		};
	};

	cpus {
		#address-cells = <0x2>;
		#size-cells = <0x0>;
		#cooling-cells = <0x2>;
		linux,phandle = <0x6d>;
		phandle = <0x6d>;

		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>;
	};

	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>;
		power_pin = <0x9 0x13 0x0>;
	};

	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 = <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 = <0x8 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 = <0x8>;
		phandle = <0x8>;
	};

	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 = <0x9>;
			phandle = <0x9>;
		};

		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 = <0x18>;
			phandle = <0x18>;
		};

		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";
		};

		internal_eth_pins {
			amlogic,setmask = <0x4 0x3000000>;
			amlogic,clrmask = <0x3 0x300000>;
			amlogic,pins = "GPIOZ_14", "GPIOZ_15";
			linux,phandle = <0x1d>;
			phandle = <0x1d>;
		};

		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 = <0x17>;
			phandle = <0x17>;
		};

		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 = <0x57>;
			phandle = <0x57>;
		};

		a_uart {
			amlogic,setmask = <0x5 0xf0000>;
			amlogic,clrmask = <0x5 0x3c0>;
			amlogic,pins = "GPIOX_12", "GPIOX_13", "GPIOX_14", "GPIOX_15";
			linux,phandle = <0x54>;
			phandle = <0x54>;
		};

		b_uart {
			amlogic,setmask = <0x2 0x18000>;
			amlogic,pins = "GPIODV_24", "GPIODV_25";
			linux,phandle = <0x55>;
			phandle = <0x55>;
		};

		c_uart {
			amlogic,setmask = <0x5 0x3000>;
			amlogic,pins = "GPIOX_8", "GPIOX_9";
			linux,phandle = <0x56>;
			phandle = <0x56>;
		};

		wifi_32k_pins {
			amlogic,setmask = <0x5 0x8000>;
			amlogic,pins = "GPIOX_16";
			linux,phandle = <0x22>;
			phandle = <0x22>;
		};

		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 = <0x27>;
			phandle = <0x27>;
		};

		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 = <0x28>;
			phandle = <0x28>;
		};

		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 = <0x29>;
			phandle = <0x29>;
		};

		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 = <0x2a>;
			phandle = <0x2a>;
		};

		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 = <0x2b>;
			phandle = <0x2b>;
		};

		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 = <0x2c>;
			phandle = <0x2c>;
		};

		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 = <0x2d>;
			phandle = <0x2d>;
		};

		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 = <0x2e>;
			phandle = <0x2e>;
		};

		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 = <0x2f>;
			phandle = <0x2f>;
		};

		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 = <0x23>;
			phandle = <0x23>;
		};

		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 = <0x24>;
			phandle = <0x24>;
		};

		emmc_conf_pull_done {
			amlogic,pins = "BOOT_15";
			amlogic,pullup = <0x0>;
			amlogic,pullupen = <0x1>;
			linux,phandle = <0x25>;
			phandle = <0x25>;
		};

		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 = <0x26>;
			phandle = <0x26>;
		};

		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 = <0x30>;
			phandle = <0x30>;
		};

		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 = <0x31>;
			phandle = <0x31>;
		};

		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 = <0x32>;
			phandle = <0x32>;
		};

		conf_nand_pullup {
			amlogic,pins = "BOOT_8", "BOOT_10";
			amlogic,pullup = <0x1>;
			amlogic,pullupen = <0x1>;
			linux,phandle = <0x33>;
			phandle = <0x33>;
		};

		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 = <0x34>;
			phandle = <0x34>;
		};

		nand_cs {
			amlogic,setmask = <0x7 0xc0>;
			amlogic,clrmask = <0x7 0x40040000>;
			amlogic,pins = "BOOT_8", "BOOT_9";
			linux,phandle = <0x35>;
			phandle = <0x35>;
		};

		hdmitx_hpd {
			amlogic,setmask = <0x6 0x80000000>;
			amlogic,pins = "GPIOH_0";
			linux,phandle = <0x51>;
			phandle = <0x51>;
		};

		hdmitx_ddc {
			amlogic,setmask = <0x6 0x30000000>;
			amlogic,pins = "GPIOH_1", "GPIOH_2";
			linux,phandle = <0x52>;
			phandle = <0x52>;
		};

		hdmitx_aocec {
			amlogic,setmask = <0x10 0x8000>;
			amlogic,clrmask = <0x10 0x24000 0x11 0x1>;
			amlogic,pins = "GPIOAO_8";
			linux,phandle = <0x53>;
			phandle = <0x53>;
		};

		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>;
		};

		d_i2c {
			amlogic,setmask = <0x5 0x30>;
			amlogic,clrmask = <0x5 0x300c03>;
			amlogic,pins = "GPIOX_10", "GPIOX_11";
			linux,phandle = <0x10>;
			phandle = <0x10>;
		};

		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 = <0x5c>;
			phandle = <0x5c>;
		};

		audio_pin1 {
			amlogic,setmask = <0x6 0x10000000>;
			amlogic,clrmask = <0x6 0x8000000>;
			amlogic,pins = "GPIOH_4";
			linux,phandle = <0x5b>;
			phandle = <0x5b>;
		};

		audio_btpcm_pins {
			amlogic,setmask = <0x5 0xf00000>;
			amlogic,clrmask = <0x5 0x3c33>;
			amlogic,pins = "GPIOX_8", "GPIOX_9", "GPIOX_10", "GPIOX_11";
			linux,phandle = <0x5a>;
			phandle = <0x5a>;
		};

		dvb_p_ts0_pins {
			amlogic,setmask = <0x2 0x1f>;
			amlogic,clrmask = <0x3 0x787 0x2 0xff000400>;
			amlogic,pins = "GPIODV_0", "GPIODV_1", "GPIODV_2", "GPIODV_3", "GPIODV_4", "GPIODV_5", "GPIODV_6", "GPIODV_7", "GPIODV_8", "GPIODV_9", "GPIODV_10";
			linux,phandle = <0x71>;
			phandle = <0x71>;
		};

		dvb_s_ts0_pins {
			amlogic,setmask = <0x2 0x17>;
			amlogic,clrmask = <0x3 0x584 0x2 0x7000000 0x1 0x100>;
			amlogic,pins = "GPIODV_0", "GPIODV_8", "GPIODV_9", "GPIODV_10";
			linux,phandle = <0x72>;
			phandle = <0x72>;
		};
	};

	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 = <0x8 0xa>;
		clock-names = "clk_i2c";
		resets = <0x8 0x9>;
	};

	i2c@c11087c0 {
		compatible = "amlogic, meson-i2c";
		dev_name = "i2c-B";
		status = "okay";
		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 = <0x61a80>;
		clocks = <0x8 0xa>;
		clock-names = "clk_i2c";
		resets = <0x8 0x9>;
	};

	i2c@c11087e0 {
		compatible = "amlogic, meson-i2c";
		dev_name = "i2c-C";
		status = "disabled";
		reg = <0x0 0xc11087e0 0x0 0x20>;
		device_id = <0x3>;
		pinctrl-names = "default";
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		use_pio = <0x0>;
		master_i2c_speed = <0x493e0>;
		clocks = <0x8 0xa>;
		clock-names = "clk_i2c";
		resets = <0x8 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 = <0x10>;
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		use_pio = <0x0>;
		master_i2c_speed = <0x493e0>;
		clocks = <0x8 0xa>;
		clock-names = "clk_i2c";
		resets = <0x8 0x9>;
	};

	efuse {
		compatible = "amlogic, efuse";
		read_cmd = <0x82000030>;
		write_cmd = <0x82000031>;
		get_max_cmd = <0x82000033>;
		key = <0x11>;
		resets = <0x8 0x3e>;
		reset-names = "efuse_clk";
		status = "okay";
	};

	efusekey {
		keynum = <0x4>;
		key0 = <0x12>;
		key1 = <0x13>;
		key2 = <0x14>;
		key3 = <0x15>;
		linux,phandle = <0x11>;
		phandle = <0x11>;

		key0 {
			keyname = "mac";
			offset = <0x0>;
			size = <0x6>;
			linux,phandle = <0x12>;
			phandle = <0x12>;
		};

		key1 {
			keyname = "mac_bt";
			offset = <0x6>;
			size = <0x6>;
			linux,phandle = <0x13>;
			phandle = <0x13>;
		};

		key2 {
			keyname = "mac_wifi";
			offset = <0xc>;
			size = <0x6>;
			linux,phandle = <0x14>;
			phandle = <0x14>;
		};

		key3 {
			keyname = "usid";
			offset = <0x12>;
			size = <0x10>;
			linux,phandle = <0x15>;
			phandle = <0x15>;
		};
	};

	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 = <0x16 0x0 0x16 0x1>;
		linux,phandle = <0x16>;
		phandle = <0x16>;
	};

	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 = "okay";
		remote_ao_offset = <0x580>;
		interrupts = <0x0 0xc4 0x1>;
		pinctrl-names = "default";
		pinctrl-0 = <0x17>;
	};

	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 = <0x8 0x2>;
		clock-names = "saradc_clk";
		resets = <0x8 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 = <0x8 0x8>;
		clocks = <0x8 0xa>;
		clock-names = "spicc_clk";
		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>;
	};

	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 0x7ff00000>;
	};

	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 = "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,meson-fb {
			compatible = "amlogic, fb-memory";
			size = <0x0 0x2000000>;
			no-map;
			linux,phandle = <0x1a>;
			phandle = <0x1a>;
		};

		linux,di {
			compatible = "amlogic, di-mem";
			size = <0x0 0x1e00000>;
			linux,phandle = <0x21>;
			phandle = <0x21>;
		};

		linux,ion-dev {
			compatible = "amlogic, idev-mem";
			size = <0x0 0x2000000>;
			linux,phandle = <0x1e>;
			phandle = <0x1e>;
		};

		linux,ppmgr {
			compatible = "shared-dma-pool";
			size = <0x0 0x0>;
			linux,phandle = <0x20>;
			phandle = <0x20>;
		};

		linux,codec_mm_cma {
			compatible = "shared-dma-pool";
			reusable;
			size = <0x0 0xc000000>;
			alignment = <0x0 0x400000>;
			linux,contiguous-region;
			linux,phandle = <0x1b>;
			phandle = <0x1b>;
		};

		linux,picdec {
			compatible = "shared-dma-pool";
			reusable;
			size = <0x0 0x0>;
			alignment = <0x0 0x0>;
			linux,contiguous-region;
			linux,phandle = <0x1f>;
			phandle = <0x1f>;
		};

		linux,codec_mm_reserved {
			compatible = "amlogic, codec-mm-reserved";
			size = <0x0 0x4100000>;
			alignment = <0x0 0x100000>;
			linux,phandle = <0x1c>;
			phandle = <0x1c>;
		};
	};

	sysled {
		compatible = "amlogic, sysled";
		dev_name = "sysled";
		status = "okay";
		led_gpio = <0x18 0x9 0x0>;
		led_active_low = <0x1>;
	};

	ledlight {
		compatible = "amlogic, ledlight";
		dev_name = "ledlight";
		status = "okay";
		power_gpio_0 = <0x19>;

		gpio_rg {
			led_name = "power_led";
			led_gpio = <0x18 0x9 0x0>;
			led_active = <0x1>;
			led_type = "R&G";
			linux,phandle = <0x19>;
			phandle = <0x19>;
		};
	};

	meson-vout {
		compatible = "amlogic, meson-vout";
		dev_name = "meson-vout";
		status = "okay";
	};

	meson-fb {
		compatible = "amlogic, meson-fb";
		memory-region = <0x1a>;
		dev_name = "meson-fb";
		status = "okay";
		interrupts = <0x0 0x3 0x1 0x0 0x59 0x1>;
		interrupt-names = "viu-vsync", "rdma";
		mem_size = <0x1800000 0x100000>;
		display_mode_default = "1080p60hz";
		scale_mode = <0x1>;
		display_size_default = <0x780 0x438 0x780 0xca8 0x20>;
	};

	ge2d {
		compatible = "amlogic, ge2d";
		dev_name = "ge2d";
		status = "okay";
		interrupts = <0x0 0x96 0x1>;
		interrupt-names = "ge2d";
		clocks = <0x8 0x17 0x8 0x19>;
		clock-names = "clk_vapb_0", "clk_ge2d";
		resets = <0x8 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 = <0x1b 0x1c>;
		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>;
		phy-mode = "rmii";
		pinctrl-names = "internal_eth_pins";
		pinctrl-0 = <0x1d>;
		mc_val = <0x1800>;
		resets = <0x8 0x23>;
		reset-names = "ethpower";
		interrupt-names = "macirq";
		clocks = <0x8 0xa>;
		clock-names = "ethclk81";
		internal_phy = <0x1>;
	};

	mesonstream {
		compatible = "amlogic, codec, streambuf";
		dev_name = "mesonstream";
		status = "okay";
		resets = <0x8 0x39 0x8 0x59 0x8 0x24 0x8 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 = <0x1e>;
	};

	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 = <0x1f>;
		dev_name = "picdec";
		status = "okay";
	};

	ppmgr {
		compatible = "amlogic, ppmgr";
		memory-region = <0x20>;
		dev_name = "ppmgr";
		status = "okay";
	};

	deinterlace {
		compatible = "amlogic, deinterlace";
		status = "okay";
		memory-region = <0x21>;
		interrupts = <0x0 0x2e 0x1 0x0 0x6 0x1>;
		interrupt-names = "de_irq", "timerc";
		buffer-size = <0x2fd000>;
		hw-version = <0x2>;
	};

	amvdec_656in0 {
		compatible = "amlogic, amvdec_656in";
		dev_name = "amvdec_656in0";
		status = "ok";
		reg = <0x0 0xd0048000 0x0 0x7c>;
		clocks = <0x8 0x7 0x8 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 = <0x8 0x7 0x8 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";
	};

	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 = <0x9 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 = <0x9 0x56 0x0>;
		interrupts = <0x0 0x44 0x4>;
		irq_trigger_type = "GPIO_IRQ_LOW";
		power_on_pin = <0x9 0x55 0x0>;
		dhd_static_buf;
		pinctrl-names = "wifi_32k_pins";
		pinctrl-0 = <0x22>;
	};

	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 = <0x23>;
		pinctrl-1 = <0x24 0x25 0x26>;

		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 = <0x9 0x1d 0x0>;
			hw_reset = <0x9 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 = <0x27>;
		pinctrl-1 = <0x28>;
		pinctrl-2 = <0x29>;
		pinctrl-3 = <0x2a>;
		pinctrl-4 = <0x2b>;
		pinctrl-5 = <0x2c>;
		pinctrl-6 = <0x2d>;
		pinctrl-7 = <0x2e>;
		pinctrl-8 = <0x2f>;

		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 = <0x9 0x2e 0x0>;
			jtag_pin = <0x9 0x2a 0x0>;
			gpio_cd = <0x9 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 = <0x30>;
		pinctrl-1 = <0x31>;

		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 = <0x32 0x33 0x34>;
		pinctrl-1 = <0x32 0x33 0x34>;
		pinctrl-2 = <0x35>;
		device_id = <0x0>;
		plat-names = "nandnormal";
		plat-num = <0x1>;
		plat-part-0 = <0x36>;

		normal {
			enable_pad = "ce0", "ce1", "ce2", "ce3";
			busy_pad = "rb0";
			linux,phandle = <0x36>;
			phandle = <0x36>;
		};
	};

	aml_nftl {
		compatible = "amlogic, nftl";
	};

	partitions {
		parts = <0xb>;
		part-0 = <0x37>;
		part-1 = <0x38>;
		part-2 = <0x39>;
		part-3 = <0x3a>;
		part-4 = <0x3b>;
		part-5 = <0x3c>;
		part-6 = <0x3d>;
		part-7 = <0x3e>;
		part-8 = <0x3f>;
		part-9 = <0x40>;
		part-10 = <0x41>;

		logo {
			pname = "logo";
			size = <0x0 0x2000000>;
			mask = <0x1>;
			linux,phandle = <0x37>;
			phandle = <0x37>;
		};

		recovery {
			pname = "recovery";
			size = <0x0 0x2000000>;
			mask = <0x1>;
			linux,phandle = <0x38>;
			phandle = <0x38>;
		};

		rsv {
			pname = "rsv";
			size = <0x0 0x800000>;
			mask = <0x1>;
			linux,phandle = <0x39>;
			phandle = <0x39>;
		};

		tee {
			pname = "tee";
			size = <0x0 0x800000>;
			mask = <0x1>;
			linux,phandle = <0x3a>;
			phandle = <0x3a>;
		};

		crypt {
			pname = "crypt";
			size = <0x0 0x2000000>;
			mask = <0x1>;
			linux,phandle = <0x3b>;
			phandle = <0x3b>;
		};

		misc {
			pname = "misc";
			size = <0x0 0x2000000>;
			mask = <0x1>;
			linux,phandle = <0x3c>;
			phandle = <0x3c>;
		};

		instaboot {
			pname = "instaboot";
			size = <0x0 0x20000000>;
			mask = <0x1>;
			linux,phandle = <0x3d>;
			phandle = <0x3d>;
		};

		boot {
			pname = "boot";
			size = <0x0 0x2000000>;
			mask = <0x1>;
			linux,phandle = <0x3e>;
			phandle = <0x3e>;
		};

		system {
			pname = "system";
			size = <0x0 0x58000000>;
			mask = <0x1>;
			linux,phandle = <0x3f>;
			phandle = <0x3f>;
		};

		cache {
			pname = "cache";
			size = <0x0 0x20000000>;
			mask = <0x2>;
			linux,phandle = <0x40>;
			phandle = <0x40>;
		};

		data {
			pname = "data";
			size = <0xffffffff 0xffffffff>;
			mask = <0x4>;
			linux,phandle = <0x41>;
			phandle = <0x41>;
		};
	};

	unifykey {
		compatible = "amlogic, unifykey";
		status = "ok";
		unifykey-num = <0xf>;
		unifykey-index-0 = <0x42>;
		unifykey-index-1 = <0x43>;
		unifykey-index-2 = <0x44>;
		unifykey-index-3 = <0x45>;
		unifykey-index-4 = <0x46>;
		unifykey-index-5 = <0x47>;
		unifykey-index-6 = <0x48>;
		unifykey-index-7 = <0x49>;
		unifykey-index-8 = <0x4a>;
		unifykey-index-9 = <0x4b>;
		unifykey-index-10 = <0x4c>;
		unifykey-index-11 = <0x4d>;
		unifykey-index-12 = <0x4e>;
		unifykey-index-13 = <0x4f>;
		unifykey-index-14 = <0x50>;

		key_0 {
			key-name = "usid";
			key-device = "normal";
			key-permit = "read", "write", "del";
			linux,phandle = <0x42>;
			phandle = <0x42>;
		};

		key_1 {
			key-name = "mac";
			key-device = "normal";
			key-permit = "read", "write", "del";
			linux,phandle = <0x43>;
			phandle = <0x43>;
		};

		key_2 {
			key-name = "hdcp";
			key-device = "secure";
			key-type = "sha1";
			key-permit = "read", "write", "del";
			linux,phandle = <0x44>;
			phandle = <0x44>;
		};

		key_3 {
			key-name = "secure_boot_set";
			key-device = "efuse";
			key-permit = "write";
			linux,phandle = <0x45>;
			phandle = <0x45>;
		};

		key_4 {
			key-name = "mac_bt";
			key-device = "normal";
			key-permit = "read", "write", "del";
			key-type = "mac";
			linux,phandle = <0x46>;
			phandle = <0x46>;
		};

		key_5 {
			key-name = "mac_wifi";
			key-device = "normal";
			key-permit = "read", "write", "del";
			key-type = "mac";
			linux,phandle = <0x47>;
			phandle = <0x47>;
		};

		key_6 {
			key-name = "hdcp2_tx";
			key-device = "normal";
			key-permit = "read", "write", "del";
			linux,phandle = <0x48>;
			phandle = <0x48>;
		};

		key_7 {
			key-name = "hdcp2_rx";
			key-device = "normal";
			key-permit = "read", "write", "del";
			linux,phandle = <0x49>;
			phandle = <0x49>;
		};

		key_8 {
			key-name = "widevinekeybox";
			key-device = "secure";
			key-permit = "read", "write", "del";
			linux,phandle = <0x4a>;
			phandle = <0x4a>;
		};

		key_9 {
			key-name = "deviceid";
			key-device = "normal";
			key-permit = "read", "write", "del";
			linux,phandle = <0x4b>;
			phandle = <0x4b>;
		};

		key_10 {
			key-name = "hdcp22_fw_private";
			key-device = "secure";
			key-permit = "read", "write", "del";
			linux,phandle = <0x4c>;
			phandle = <0x4c>;
		};

		key_11 {
			key-name = "PlayReadykeybox25";
			key-device = "secure";
			key-permit = "read", "write", "del";
			linux,phandle = <0x4d>;
			phandle = <0x4d>;
		};

		key_12 {
			key-name = "prpubkeybox";
			key-device = "secure";
			key-permit = "read", "write", "del";
			linux,phandle = <0x4e>;
			phandle = <0x4e>;
		};

		key_13 {
			key-name = "prprivkeybox";
			key-device = "secure";
			key-permit = "read", "write", "del";
			linux,phandle = <0x4f>;
			phandle = <0x4f>;
		};

		key_14 {
			key-name = "gtkey";
			key-device = "normal";
			key-permit = "read", "write", "del";
			linux,phandle = <0x50>;
			phandle = <0x50>;
		};
	};

	amhdmitx {
		compatible = "amlogic, amhdmitx";
		dev_name = "amhdmitx";
		status = "okay";
		pinctrl-names = "hdmitx_hpd", "hdmitx_ddc";
		pinctrl-0 = <0x51>;
		pinctrl-1 = <0x52>;
		interrupts = <0x0 0x39 0x1>;
		interrupt-names = "hdmitx_hpd";
		clocks = <0x8 0xb 0x8 0xc 0x8 0xd 0x8 0xe 0x8 0xf 0x8 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 = <0x53>;
		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 = <0x9 0x11 0x0 0x9 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 = <0x8 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 = <0x8 0x2>;
		clock-names = "clk_uart";
		fifosize = <0x80>;
		pinctrl-names = "default";
		pinctrl-0 = <0x54>;
		resets = <0x8 0xd>;
	};

	serial@c11084dc {
		compatible = "amlogic, meson-uart";
		reg = <0x0 0xc11084dc 0x0 0x18>;
		interrupts = <0x0 0x4b 0x1>;
		status = "disable";
		clocks = <0x8 0x2>;
		clock-names = "clk_uart";
		fifosize = <0x40>;
		pinctrl-names = "default";
		pinctrl-0 = <0x55>;
		resets = <0x8 0x30>;
	};

	serial@c1108700 {
		compatible = "amlogic, meson-uart";
		reg = <0x0 0xc1108700 0x0 0x18>;
		interrupts = <0x0 0x5d 0x1>;
		status = "disable";
		clocks = <0x8 0x2>;
		clock-names = "clk_uart";
		fifosize = <0x40>;
		pinctrl-names = "default";
		pinctrl-0 = <0x56>;
		resets = <0x8 0x4f>;
	};

	serial@c81004e0 {
		compatible = "amlogic, meson-uart";
		reg = <0x0 0xc81004e0 0x0 0x18>;
		interrupts = <0x0 0xc5 0x1>;
		status = "disable";
		clocks = <0x8 0x2>;
		clock-names = "clk_uart";
		fifosize = <0x40>;
		pinctrl-names = "default";
		pinctrl-0 = <0x57>;
	};

	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 = <0x58 0x59>;
		cpu-type = "gxl";
		clock-src = "usb3.0";
	};

	usb2phy@d0078000 {
		compatible = "amlogic, amlogic-new-usb2";
		portnum = <0x2>;
		reg = <0x0 0xd0078000 0x0 0x80>;
		linux,phandle = <0x58>;
		phandle = <0x58>;
	};

	usb3phy@d0078080 {
		compatible = "amlogic, amlogic-new-usb3";
		portnum = <0x0>;
		reg = <0x0 0xd0078080 0x0 0x20>;
		linux,phandle = <0x59>;
		phandle = <0x59>;
	};

	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 = <0x8 0x3a 0x8 0x48 0x8 0x36>;
		reset-names = "usb_general", "usb1", "usb1_to_ddr";
	};

	I2S {
		#sound-dai-cells = <0x0>;
		resets = <0x8 0x26 0x8 0x12 0x8 0x28 0x8 0x29 0x8 0x2a 0x8 0x2b 0x8 0x2c 0x8 0x2d 0x8 0x2f 0x8 0x8e 0x8 0x22>;
		reset-names = "top_glue", "aud_buf", "i2s_out", "amclk_measure", "aififo2", "aud_mixer", "mixer_reg", "adc", "top_level", "aoclk", "aud_in";
		clocks = <0x8 0x21 0x8 0x22>;
		clock-names = "mpll2", "mclk";
		compatible = "amlogic, aml-i2s-dai";
		linux,phandle = <0x65>;
		phandle = <0x65>;
	};

	SPDIF {
		#sound-dai-cells = <0x0>;
		compatible = "amlogic, aml-spdif-dai";
		resets = <0x8 0x27 0x8 0x90>;
		reset-names = "iec958", "iec958_amclk";
		clocks = <0x8 0x20 0x8 0x24 0x8 0x22 0x8 0x25 0x8 0xa>;
		clock-names = "mpll1", "i958", "mclk", "spdif", "clk_81";
		linux,phandle = <0x66>;
		phandle = <0x66>;
	};

	PCM {
		#sound-dai-cells = <0x0>;
		compatible = "amlogic, aml-pcm-dai";
		pinctrl-names = "aml_audio_btpcm";
		pinctrl-0 = <0x5a>;
		clocks = <0x8 0x1f 0x8 0x2a 0x8 0x2b>;
		clock-names = "mpll0", "pcm_mclk", "pcm_sclk";
		pcm_mode = <0x1>;
		linux,phandle = <0x67>;
		phandle = <0x67>;
	};

	i2s_platform {
		compatible = "amlogic, aml-i2s";
		interrupts = <0x0 0x1d 0x1>;
		linux,phandle = <0x63>;
		phandle = <0x63>;
	};

	pcm_platform {
		compatible = "amlogic, aml-pcm";
		linux,phandle = <0x64>;
		phandle = <0x64>;
	};

	spdif_codec {
		#sound-dai-cells = <0x0>;
		compatible = "amlogic, aml-spdif-codec";
		pinctrl-names = "aml_audio_spdif";
		pinctrl-0 = <0x5b>;
		linux,phandle = <0x69>;
		phandle = <0x69>;
	};

	pcm_codec {
		#sound-dai-cells = <0x0>;
		compatible = "amlogic, pcm2BT-codec";
		linux,phandle = <0x6a>;
		phandle = <0x6a>;
	};

	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 = <0x68>;
		phandle = <0x68>;
	};

	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 = <0x9 0x15 0x0>;
		mute_inv;
		hp_disable;
		sleep_time = <0x64>;
		hp_paraments = <0x320 0x12c 0x0 0x5 0x1>;
		pinctrl-names = "aml_snd_m8";
		pinctrl-0 = <0x5c>;
		cpu_list = <0x5d 0x5e 0x5f>;
		codec_list = <0x60 0x61 0x62>;
		plat_list = <0x63 0x63 0x64>;

		cpudai0 {
			sound-dai = <0x65>;
			linux,phandle = <0x5d>;
			phandle = <0x5d>;
		};

		cpudai1 {
			sound-dai = <0x66>;
			linux,phandle = <0x5e>;
			phandle = <0x5e>;
		};

		cpudai2 {
			sound-dai = <0x67>;
			linux,phandle = <0x5f>;
			phandle = <0x5f>;
		};

		codec0 {
			sound-dai = <0x68>;
			linux,phandle = <0x60>;
			phandle = <0x60>;
		};

		codec1 {
			sound-dai = <0x69>;
			linux,phandle = <0x61>;
			phandle = <0x61>;
		};

		codec2 {
			sound-dai = <0x6a>;
			linux,phandle = <0x62>;
			phandle = <0x62>;
		};
	};

	gpio_keypad {
		compatible = "amlogic, gpio_keypad";
		status = "okay";
		scan_period = <0x14>;
		key_num = <0x1>;
		key_name = "power";
		key_code = <0x74>;
		key_pin = <0x18 0x2 0x0>;
		irq_keyup = <0x6>;
		irq_keydown = <0x7>;
	};

	aml-sensor@0 {
		compatible = "amlogic, aml-thermal";
		device_name = "thermal";
		#thermal-sensor-cells = <0x1>;
		linux,phandle = <0x6b>;
		phandle = <0x6b>;

		cooling_devices {

			cpufreq_cool_cluster0 {
				min_state = <0xf4240>;
				dyn_coeff = <0x8c>;
				cluster_id = <0x0>;
				node_name = "cpus";
				device_type = "cpufreq";
			};

			cpucore_cool_cluster0 {
				min_state = <0x1>;
				dyn_coeff = <0x0>;
				cluster_id = <0x0>;
				node_name = "cpu_core_cluster0";
				device_type = "cpucore";
			};

			gpufreq_cool {
				min_state = <0x190>;
				dyn_coeff = <0x1b5>;
				cluster_id = <0x0>;
				node_name = "mali";
				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 = <0x6e>;
			phandle = <0x6e>;
		};

		thermal_gpu_cores {
			#cooling-cells = <0x2>;
			linux,phandle = <0x70>;
			phandle = <0x70>;
		};
	};

	thermal-zones {

		soc_thermal {
			polling-delay = <0x3e8>;
			polling-delay-passive = <0x64>;
			sustainable-power = <0x866>;
			thermal-sensors = <0x6b 0x3>;

			trips {

				trip-point@0 {
					temperature = <0x11170>;
					hysteresis = <0x3e8>;
					type = "passive";
				};

				trip-point@1 {
					temperature = <0x13880>;
					hysteresis = <0x3e8>;
					type = "passive";
					linux,phandle = <0x6c>;
					phandle = <0x6c>;
				};

				trip-point@2 {
					temperature = <0x14c08>;
					hysteresis = <0x1388>;
					type = "hot";
				};

				trip-point@3 {
					temperature = <0x3f7a0>;
					hysteresis = <0x3e8>;
					type = "critical";
				};
			};

			cooling-maps {

				cpufreq_cooling_map {
					trip = <0x6c>;
					cooling-device = <0x6d 0x0 0x4>;
					contribution = <0x400>;
				};

				cpucore_cooling_map {
					trip = <0x6c>;
					cooling-device = <0x6e 0x0 0x3>;
					contribution = <0x400>;
				};

				gpufreq_cooling_map {
					trip = <0x6c>;
					cooling-device = <0x6f 0x0 0x4>;
					contribution = <0x400>;
				};

				gpucore_cooling_map {
					trip = <0x6c>;
					cooling-device = <0x70 0x0 0x2>;
					contribution = <0x400>;
				};
			};
		};
	};

	fd650_dev {
		compatible = "amlogic,fd650_dev";
		dev_name = "fd650_dev";
		status = "okay";
		clk_pin = <0x9 0x47 0x0>;
		dat_pin = <0x9 0x48 0x0>;
	};

	antenna_power {
		compatible = "amlogic,antenna_power";
		dev_name = "antenna_power";
		status = "okay";
		ctrl_pin = <0x9 0x4d 0x0>;
	};

	alpuc_dev {
		compatible = "amlogic,alpuc_dev";
		status = "okay";
		clk_pin = <0x9 0x44 0x0>;
		dat_pin = <0x9 0x43 0x0>;
	};

	dvb {
		compatible = "amlogic, dvb";
		dev_name = "dvb";
		ts0 = "parallel";
		ts0_control = <0x0>;
		ts0_invert = <0x0>;
		pinctrl-names = "p_ts0", "s_ts0";
		pinctrl-0 = <0x71>;
		pinctrl-1 = <0x72>;
		resets = <0x8 0x24 0x8 0x10 0x8 0x3d 0x8 0x39>;
		reset-names = "demux", "asyncfifo", "ahbarb0", "uparsertop";
	};

	dvbfe {
		compatible = "amlogic, dvbfe";
		dev_name = "dvbfe";
		dtv_demod0 = "cxd28xx";
		dtv_demod0_i2c_adap_id = <0x2>;
		dtv_demod0_i2c_addr = <0x6c>;
		dtv_demod0_reset_value = <0x0>;
		dtv_demod0_reset_gpio = <0x9 0x49 0x0>;
		fe0_dtv_demod = <0x0>;
		fe0_ts = <0x0>;
		fe0_dev = <0x0>;
	};
};
