JustPaste.it

/dts-v1/;

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

cpus {
#address-cells = <0x2>;
#size-cells = <0x0>;

cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0x0 0x0>;
enable-method = "psci";
timer = <0x2>;
};

cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0x0 0x1>;
enable-method = "psci";
timer = <0x3>;
};

cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0x0 0x2>;
enable-method = "psci";
timer = <0x4>;
};

cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a53", "arm,armv8";
reg = <0x0 0x3>;
enable-method = "psci";
timer = <0x5>;
};
};

timer {
compatible = "arm, meson-timer";
#address-cells = <0x2>;
#size-cells = <0x2>;
ranges;
reg = <0x0 0xc1109990 0x0 0x4 0x0 0xc1109988 0x0 0x4>;

timer-f {
timer_name = "MESON TIMER-F";
clockevent-rating = <0x12c>;
clockevent-shift = <0x14>;
clockevent-features = <0x3>;
interrupts = <0x0 0x3c 0x1>;
bit_enable = <0x10>;
bit_mode = <0xc>;
bit_resolution = <0x0>;
reg = <0x0 0xc1109994 0x0 0x4>;
linux,phandle = <0x2>;
phandle = <0x2>;
};

timer-g {
timer_name = "MESON TIMER-G";
clockevent-rating = <0x12c>;
clockevent-shift = <0x14>;
clockevent-features = <0x3>;
interrupts = <0x0 0x3d 0x1>;
bit_enable = <0x11>;
bit_mode = <0xd>;
bit_resolution = <0x2>;
reg = <0x0 0xc1109998 0x0 0x4>;
linux,phandle = <0x3>;
phandle = <0x3>;
};

timer-h {
timer_name = "MESON TIMER-H";
clockevent-rating = <0x12c>;
clockevent-shift = <0x14>;
clockevent-features = <0x3>;
interrupts = <0x0 0x3e 0x1>;
bit_enable = <0x12>;
bit_mode = <0xe>;
bit_resolution = <0x4>;
reg = <0x0 0xc110999c 0x0 0x4>;
linux,phandle = <0x4>;
phandle = <0x4>;
};

timer-i {
timer_name = "MESON TIMER-I";
clockevent-rating = <0x12c>;
clockevent-shift = <0x14>;
clockevent-features = <0x3>;
interrupts = <0x0 0x3f 0x1>;
bit_enable = <0x13>;
bit_mode = <0xf>;
bit_resolution = <0x6>;
reg = <0x0 0xc11099a0 0x0 0x4>;
linux,phandle = <0x5>;
phandle = <0x5>;
};
};

arm_pmu {
compatible = "arm,armv8-pmuv3";
interrupts = <0x0 0x89 0x4 0x0 0x8a 0x4 0x0 0x99 0x4 0x0 0x9a 0x4>;
};

pm {
compatible = "amlogic, pm";
gxbaby-suspend;
reg = <0x0 0xc81000a8 0x0 0x4 0x0 0xc810023c 0x0 0x4>;
};

mali@d00c0000 {
compatible = "arm,mali-450";
interrupt-parent = <0x1>;
reg = <0x0 0xd00c0000 0x0 0x40000 0x0 0xc883c000 0x0 0x4 0x0 0xc8100000 0x0 0x4>;
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 = <0x6 0x7 0x8 0x9 0xa 0xb>;
clocks = <0xc 0x8 0xc 0x9 0xc 0x11 0xc 0x12 0xc 0x1e 0xc 0x15 0xc 0x13 0xc 0x14>;
clock-names = "fclk_div3", "fclk_div4", "fclk_div5", "fclk_div7", "gp0_pll", "clk_mali", "clk_mali_0", "clk_mali_1";
control_interval = <0xc8>;
dvfs_tbl = <0xd>;

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

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

clk400_cfg {
clk_freq = <0x17d78400>;
clk_parent = "fclk_div5";
clkp_freq = <0x17d78400>;
voltage = <0x47e>;
keep_count = <0x5>;
threshold = <0x98 0xcf>;
linux,phandle = <0x8>;
phandle = <0x8>;
};

clk500_cfg {
clk_freq = <0x1dcd6500>;
clk_parent = "fclk_div4";
clkp_freq = <0x1dcd6500>;
voltage = <0x47e>;
keep_count = <0x5>;
threshold = <0xb4 0xdc>;
linux,phandle = <0x9>;
phandle = <0x9>;
};

clk666_cfg {
clk_freq = <0x27b25a80>;
clk_parent = "fclk_div3";
clkp_freq = <0x27b25a80>;
voltage = <0x47e>;
keep_count = <0x5>;
threshold = <0xd2 0xec>;
linux,phandle = <0xa>;
phandle = <0xa>;
};

clk800_cfg {
clk_freq = <0x2f34f600>;
clk_parent = "gp0_pll";
clkp_freq = <0x2f34f600>;
voltage = <0x47e>;
keep_count = <0x5>;
threshold = <0xe6 0xff>;
linux,phandle = <0xb>;
phandle = <0xb>;
};
};

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 = "aml,secmon";
memory-region = <0xe>;
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 = <0xf 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 = <0xc 0x2>;
};

meson_clock {
compatible = "amlogic, gxbb-clock";
reg = <0x0 0xc883c000 0x0 0x1000 0x0 0xc8100000 0x0 0x1000>;
#clock-cells = <0x1>;
#reset-cells = <0x1>;
sys_max = <0x5b8d8000>;
linux,phandle = <0xc>;
phandle = <0xc>;
};

pinmux {
compatible = "amlogic, pinmux-gxbb";
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 0xc8834120 0x0 0x14 0x0 0xc8834430 0x0 0x40>;
reg-names = "mux", "pull", "pull-enable", "gpio";
gpio-controller;
#gpio-cells = <0x2>;
linux,phandle = <0x1f>;
phandle = <0x1f>;
};

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

eth_pins {
amlogic,setmask = <0x6 0x3dfb>;
amlogic,clrmask = <0x6 0xc000 0x5 0x3c0000f0 0x4 0x300>;
amlogic,pins = "GPIOZ_0", "GPIOZ_1", "GPIOZ_2", "GPIOZ_3", "GPIOZ_4", "GPIOZ_5", "GPIOZ_9", "GPIOZ_10", "GPIOZ_11", "GPIOZ_15";
linux,phandle = <0x1e>;
phandle = <0x1e>;
};

remote_pin {
amlogic,setmask = <0x10 0x1>;
amlogic,pins = "GPIOAO_7";
linux,phandle = <0x1a>;
phandle = <0x1a>;
};

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

a_uart {
amlogic,setmask = <0x4 0x3c00>;
amlogic,pins = "GPIOX_12", "GPIOX_13", "GPIOX_14", "GPIOX_15";
linux,phandle = <0x56>;
phandle = <0x56>;
};

b_uart {
amlogic,setmask = <0x2 0x30000000>;
amlogic,pins = "GPIODV_24", "GPIODV_25";
};

c_uart {
amlogic,setmask = <0x1 0xc0000>;
amlogic,pins = "GPIOY_13", "GPIOY_14";
linux,phandle = <0x57>;
phandle = <0x57>;
};

wifi_32k_pins {
amlogic,setmask = <0x2 0x40000000>;
amlogic,clrmask = <0x2 0x400000 0x3 0x8000>;
amlogic,pins = "GPIOX_19";
linux,phandle = <0x23>;
phandle = <0x23>;
};

sd_clk_cmd_pins {
amlogic,setmask = <0x2 0xc00 0x10 0x1800>;
amlogic,pins = "CARD_2", "CARD_3";
amlogic,enable-output = <0x1>;
amlogic,pullup = <0x1>;
amlogic,pullupen = <0x1>;
linux,phandle = <0x24>;
phandle = <0x24>;
};

sd_all_pins {
amlogic,setmask = <0x2 0xfc00 0x10 0x1800>;
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 = <0x25>;
phandle = <0x25>;
};

sd_1bit_pins {
amlogic,setmask = <0x2 0x8c00 0x10 0x1800>;
amlogic,pins = "CARD_1", "CARD_2", "CARD_3";
amlogic,enable-output = <0x1>;
amlogic,pullup = <0x1>;
amlogic,pullupen = <0x1>;
linux,phandle = <0x26>;
phandle = <0x26>;
};

sd_clk_cmd_uart_pins {
amlogic,setmask = <0x2 0xc00 0x8 0x600>;
amlogic,pins = "CARD_2", "CARD_3";
amlogic,enable-output = <0x1>;
amlogic,pullup = <0x1>;
amlogic,pullupen = <0x1>;
linux,phandle = <0x27>;
phandle = <0x27>;
};

sd_1bit_uart_pins {
amlogic,setmask = <0x2 0x8c00 0x8 0x600>;
amlogic,pins = "CARD_1", "CARD_2", "CARD_3";
amlogic,enable-output = <0x1>;
amlogic,pullup = <0x1>;
amlogic,pullupen = <0x1>;
linux,phandle = <0x28>;
phandle = <0x28>;
};

sd_to_ao_uart_pins {
amlogic,setmask = <0x10 0x1800>;
amlogic,clrmask = <0x8 0x600>;
amlogic,pins = "GPIOAO_0", "GPIOAO_1";
amlogic,enable-output = <0x1>;
amlogic,pullup = <0x1>;
amlogic,pullupen = <0x1>;
linux,phandle = <0x29>;
phandle = <0x29>;
};

ao_to_sd_uart_pins {
amlogic,setmask = <0x8 0x600>;
amlogic,clrmask = <0x10 0x1800 0x2 0x3000>;
amlogic,pins = "CARD_4", "CARD_5";
amlogic,enable-output = <0x1>;
amlogic,pullup = <0x1>;
amlogic,pullupen = <0x1>;
linux,phandle = <0x2a>;
phandle = <0x2a>;
};

emmc_clk_cmd_pins {
amlogic,setmask = <0x4 0xc00c0000>;
amlogic,pins = "BOOT_8", "BOOT_10";
amlogic,enable-output = <0x1>;
amlogic,pullup = <0x1>;
amlogic,pullupen = <0x1>;
linux,phandle = <0x2b>;
phandle = <0x2b>;
};

emmc_all_pins {
amlogic,setmask = <0x4 0xc00c0000>;
amlogic,pins = "BOOT_0", "BOOT_1", "BOOT_2", "BOOT_3", "BOOT_4", "BOOT_5", "BOOT_6", "BOOT_7", "BOOT_8", "BOOT_10";
amlogic,enable-output = <0x1>;
amlogic,pullup = <0x1>;
amlogic,pullupen = <0x1>;
linux,phandle = <0x2c>;
phandle = <0x2c>;
};

sdio_clk_cmd_pins {
amlogic,setmask = <0x8 0x3>;
amlogic,pins = "GPIOX_4", "GPIOX_5";
amlogic,enable-output = <0x1>;
amlogic,pullup = <0x1>;
amlogic,pullupen = <0x1>;
linux,phandle = <0x2d>;
phandle = <0x2d>;
};

sdio_all_pins {
amlogic,setmask = <0x8 0x3f>;
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 = <0x2e>;
phandle = <0x2e>;
};

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

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

all_nand_pins {
amlogic,setmask = <0x4 0x7ff00000>;
amlogic,clrmask = <0x0 0x80000 0x4 0x800c0000 0x5 0xf>;
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", "BOOT_16", "BOOT_17";
amlogic,enable-output = <0x1>;
linux,phandle = <0x31>;
phandle = <0x31>;
};

nand_cs {
amlogic,setmask = <0x4 0xc000000>;
amlogic,clrmask = <0x4 0x40000>;
amlogic,pins = "BOOT_8", "BOOT_9";
linux,phandle = <0x32>;
phandle = <0x32>;
};

hdmitx_hpd {
amlogic,setmask = <0x1 0x4000000>;
amlogic,pins = "GPIOH_0";
linux,phandle = <0x52>;
phandle = <0x52>;
};

hdmitx_ddc {
amlogic,setmask = <0x1 0x3000000>;
amlogic,pins = "GPIOH_1", "GPIOH_2";
linux,phandle = <0x53>;
phandle = <0x53>;
};

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

hdmitx_eecec {
amlogic,setmask = <0x10 0x4000>;
amlogic,clrmask = <0x10 0x28000 0x11 0x1>;
amlogic,pins = "GPIOAO_12";
};

a_i2c {
amlogic,setmask = <0x7 0xc000000>;
amlogic,clrmask = <0x0 0x18c0 0x2 0x30000000 0x5 0x1800>;
amlogic,pins = "GPIODV_24", "GPIODV_25";
linux,phandle = <0x10>;
phandle = <0x10>;
};

b_i2c {
amlogic,setmask = <0x7 0x3000000>;
amlogic,clrmask = <0x0 0x600 0x2 0xc000000 0x5 0x700>;
amlogic,pins = "GPIODV_26", "GPIODV_27";
linux,phandle = <0x11>;
phandle = <0x11>;
};

c_i2c {
amlogic,setmask = <0x7 0xc00000>;
amlogic,clrmask = <0x3 0x700000>;
amlogic,pins = "GPIODV_28", "GPIODV_29";
linux,phandle = <0x12>;
phandle = <0x12>;
};

d_i2c {
amlogic,setmask = <0x4 0xc>;
amlogic,clrmask = <0x2 0x3000000 0x3 0x1000>;
amlogic,pins = "GPIOX_16", "GPIOX_17";
linux,phandle = <0x13>;
phandle = <0x13>;
};

dvb_p_ts0_pins {
amlogic,setmask = <0x3 0x37>;
amlogic,clrmask = <0x2 0xf0000 0x1 0x30ff>;
amlogic,pins = "GPIOY_0", "GPIOY_1", "GPIOY_2", "GPIOY_3", "GPIOY_4", "GPIOY_5", "GPIOY_6", "GPIOY_7", "GPIOY_8", "GPIOY_9", "GPIOY_10";
linux,phandle = <0x69>;
phandle = <0x69>;
};

dvb_s_ts0_pins {
amlogic,setmask = <0x3 0x17>;
amlogic,clrmask = <0x2 0xf0000 0x1 0x7>;
amlogic,pins = "GPIOY_0", "GPIOY_1", "GPIOY_2", "GPIOY_3";
linux,phandle = <0x6a>;
phandle = <0x6a>;
};

audio_pin {
amlogic,setmask = <0x10 0x78000000>;
amlogic,clrmask = <0x10 0x40000>;
amlogic,pins = "GPIOAO_8", "GPIOAO_9", "GPIOAO_10", "GPIOAO_11";
linux,phandle = <0x59>;
phandle = <0x59>;
};

audio_pin1 {
amlogic,setmask = <0x1 0x200>;
amlogic,clrmask = <0x1 0x10000>;
amlogic,pins = "GPIOY_12";
linux,phandle = <0x58>;
phandle = <0x58>;
};

smc_pins {
amlogic,setmask = <0x1 0x3000>;
amlogic,clrmask = <0x2 0x10000 0x3 0x20>;
amlogic,pins = "GPIOY_4", "GPIOY_5";
linux,phandle = <0x6b>;
phandle = <0x6b>;
};
};

cpu_version {
reg = <0x0 0xc8100220 0x0 0x4>;
};

meson_clk_msr {
compatible = "amlogic, gxbb_measure";
reg = <0x0 0xc110875c 0x0 0x4 0x0 0xc1108764 0x0 0x4>;
};

i2c@c1108500 {
compatible = "amlogic, meson-i2c";
dev_name = "i2c-A";
status = "okay";
reg = <0x0 0xc1108500 0x0 0x20>;
device_id = <0x1>;
pinctrl-names = "default";
pinctrl-0 = <0x10>;
#address-cells = <0x1>;
#size-cells = <0x0>;
use_pio = <0x0>;
master_i2c_speed = <0x493e0>;
clocks = <0xc 0xa>;
clock-names = "clk_i2c";
resets = <0xc 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 = <0x11>;
#address-cells = <0x1>;
#size-cells = <0x0>;
use_pio = <0x0>;
master_i2c_speed = <0x493e0>;
clocks = <0xc 0xa>;
clock-names = "clk_i2c";
resets = <0xc 0x9>;
};

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 = <0x12>;
#address-cells = <0x1>;
#size-cells = <0x0>;
use_pio = <0x0>;
master_i2c_speed = <0x493e0>;
clocks = <0xc 0xa>;
clock-names = "clk_i2c";
resets = <0xc 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 = <0x13>;
#address-cells = <0x1>;
#size-cells = <0x0>;
use_pio = <0x0>;
master_i2c_speed = <0x493e0>;
clocks = <0xc 0xa>;
clock-names = "clk_i2c";
resets = <0xc 0x9>;
};

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

efusekey {
keynum = <0x4>;
key0 = <0x15>;
key1 = <0x16>;
key2 = <0x17>;
key3 = <0x18>;
linux,phandle = <0x14>;
phandle = <0x14>;

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

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

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

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

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

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

meson-remote {
compatible = "amlogic, aml_remote";
dev_name = "meson-remote";
status = "disable";
remote_ao_offset = <0x580>;
interrupts = <0x0 0xc4 0x1>;
pinctrl-names = "default";
pinctrl-0 = <0x1a>;
};

encryption_chip {
compatible = "amlogic,aml_encryption";
dev_name = "encryption_chip";
i2c_num = <0x1>;
status = "okay";
};

sen5-remote {
compatible = "sen5, sen5_remote";
dev_name = "sen5-remote";
status = "ok";
remote_ao_offset = <0x580>;
interrupts = <0x0 0xc4 0x1>;
pinctrl-names = "default";
pinctrl-0 = <0x1a>;
};

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 = <0xc 0x2>;
clock-names = "saradc_clk";
resets = <0xc 0x56>;
reg = <0x0 0xc1108680 0x0 0x30 0x0 0xc883c3d8 0x0 0x8>;
};

aliases {
serial0 = "/serial@c81004c0";
serial1 = "/serial@c11084c0";
serial3 = "/serial@c1108700";
};

gpu_dvfs_tbl {
sc_mpp = <0x3>;
tbl = <0x7 0x8 0x9 0xa 0xb>;
linux,phandle = <0xd>;
phandle = <0xd>;
};

memory@00000000 {
device_type = "memory";
linux,usable-memory = <0x0 0x1000000 0x0 0x3f000000>;
};

reserved-memory {
#address-cells = <0x2>;
#size-cells = <0x2>;
ranges;

linux,secmon {
compatible = "aml_secmon_memory";
reg = <0x0 0x10000000 0x0 0x200000>;
no-map;
linux,phandle = <0xe>;
phandle = <0xe>;
};

linux,secos {
compatible = "amlogic, secos_memory";
reg = <0x0 0x5300000 0x0 0x2000000>;
no-map;
};

aml_pstore {
compatible = "amlogic, pstore";
reg = <0x0 0x20000000 0x0 0x100000>;
no-map;
};

linux,meson-fb {
compatible = "amlogic, fb-memory";
size = <0x0 0x2000000>;
no-map;
linux,phandle = <0x1b>;
phandle = <0x1b>;
};

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

linux,ion-dev {
compatible = "amlogic, idev-mem";
size = <0x0 0x2000000>;
multi-use;
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 = <0x1c>;
phandle = <0x1c>;
};

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

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

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

meson-fb {
compatible = "amlogic, meson-fb";
memory-region = <0x1b>;
dev_name = "meson-fb";
status = "okay";
interrupts = <0x0 0x3 0x1 0x0 0x59 0x1>;
interrupt-names = "viu-vsync", "rdma";
mem_size = <0x1800000 0x100000>;
vmode = <0x3>;
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 = <0xc 0x17 0xc 0x19>;
clock-names = "clk_vapb_0", "clk_ge2d";
resets = <0xc 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 = <0x1c 0x1d>;
dev_name = "codec_mm";
status = "okay";
};

ethernet@0xc9410000 {
compatible = "amlogic, gxbb-rmii-dwmac";
reg = <0x0 0xc9410000 0x0 0x10000 0x0 0xc8834540 0x0 0x8>;
interrupts = <0x0 0x8 0x1>;
phy-mode = "rmii";
pinctrl-names = "eth_pins";
pinctrl-0 = <0x1e>;
rst_pin-gpios = <0x1f 0xe 0x0>;
mc_val = <0x1800>;
resets = <0xc 0x23>;
reset-names = "ethpower";
interrupt-names = "macirq";
clocks = <0xc 0xa>;
clock-names = "ethclk81";
};

mesonstream {
compatible = "amlogic, codec, streambuf";
dev_name = "mesonstream";
status = "okay";
resets = <0xc 0x39 0xc 0x59 0xc 0x24 0xc 0x1>;
reset-names = "parser_top", "vpu_intr", "demux", "vdec";
};

amvideocap {
compatible = "amlogic, amvideocap";
dev_name = "amvideocap.0";
status = "okay";
};

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

deinterlace {
compatible = "amlogic, deinterlace";
status = "okay";
memory-region = <0x22>;
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 = <0xc 0x7 0xc 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 = <0xc 0x7 0xc 0x27>;
clock-names = "fclk_div2", "cts_bt656_clk1";
bt656_id = <0x1>;
};

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 = "ok";
gpio_reset = <0x1f 0x70 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_broadcm_wifi";
dev_name = "aml_broadcm_wifi";
status = "okay";
interrupt_pin = <0x1f 0x66 0x0>;
interrupts = <0x0 0x44 0x4>;
irq_trigger_type = "GPIO_IRQ_LOW";
power_on_pin = <0x1f 0x67 0x0>;
dhd_static_buf;
pinctrl-names = "wifi_32k_pins";
pinctrl-0 = <0x23>;
};

wifi_power {
compatible = "amlogic, wifi_power";
dev_name = "wifi_power";
status = "okay";
power_gpio = <0x1f 0x67 0x0>;
};

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";
pinctrl-0 = <0x24>;
pinctrl-1 = <0x25>;
pinctrl-2 = <0x26>;
pinctrl-3 = <0x27>;
pinctrl-4 = <0x28>;
pinctrl-5 = <0x29>;
pinctrl-6 = <0x2a>;

sd {
status = "okay";
port = <0x1>;
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 = <0x1f 0x2a 0x0>;
jtag_pin = <0x1f 0x26 0x0>;
gpio_cd = <0x1f 0x2c 0x0>;
irq_in = <0x3>;
irq_out = <0x5>;
card_type = <0x5>;
};
};

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 = <0x2b>;
pinctrl-1 = <0x2c>;

emmc {
status = "okay";
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";
f_min = <0x493e0>;
f_max = <0x9e4f580>;
max_req_size = <0x20000>;
gpio_dat3 = <0x1f 0x17 0x0>;
hw_reset = <0x1f 0x1d 0x0>;
card_type = <0x1>;
};
};

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 = <0x2d>;
pinctrl-1 = <0x2e>;

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 = "ok";
reg = <0x0 0xd0074800 0x0 0x200>;
interrupts = <0x0 0x22 0x1>;
pinctrl-names = "nand_rb_mod", "nand_norb_mod", "nand_cs_pins_only";
pinctrl-0 = <0x2f 0x30 0x31>;
pinctrl-1 = <0x2f 0x30 0x31>;
pinctrl-2 = <0x32>;
device_id = <0x0>;
plat-names = "nandnormal";
plat-num = <0x1>;
plat-part-0 = <0x33>;

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

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

partitions {
parts = <0xc>;
part-0 = <0x34>;
part-1 = <0x35>;
part-2 = <0x36>;
part-3 = <0x37>;
part-4 = <0x38>;
part-5 = <0x39>;
part-6 = <0x3a>;
part-7 = <0x3b>;
part-8 = <0x3c>;
part-9 = <0x3d>;
part-10 = <0x3e>;
part-11 = <0x3f>;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

key_12 {
key-name = "SERIALNO";
key-device = "normal";
key-permit = "read", "write", "del";
linux,phandle = <0x4c>;
phandle = <0x4c>;
};

key_13 {
key-name = "OrderId";
key-device = "normal";
key-permit = "read", "write", "del";
linux,phandle = <0x4d>;
phandle = <0x4d>;
};

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

key_15 {
key-name = "OTP";
key-device = "normal";
key-permit = "read", "write", "del";
linux,phandle = <0x4f>;
phandle = <0x4f>;
};

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

key_17 {
key-name = "hdcp2key";
key-device = "normal";
key-permit = "read", "write", "del";
linux,phandle = <0x51>;
phandle = <0x51>;
};
};

amhdmitx {
compatible = "amlogic, amhdmitx";
dev_name = "amhdmitx";
status = "okay";
pinctrl-names = "hdmitx_hpd", "hdmitx_ddc";
pinctrl-0 = <0x52>;
pinctrl-1 = <0x53>;
vend-data = <0x54>;
interrupts = <0x0 0x39 0x1>;
interrupt-names = "hdmitx_hpd";
clocks = <0xc 0xb 0xc 0xc 0xc 0xd 0xc 0xe 0xc 0xf 0xc 0x16>;
clock-names = "hdmitx_clk_sys", "hdmitx_clk_encp", "hdmitx_clk_enci", "hdmitx_clk_pixel", "hdmitx_clk_phy", "hdmitx_clk_vid";
hdcp14_en = <0x82000010>;
hdcp14_rslt = <0x82000011>;
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 = <0x55>;
reg = <0x0 0xc810023c 0x0 0x4>;
linux,phandle = <0x54>;
phandle = <0x54>;
};
};

i2c_gpio {
compatible = "i2c-gpio";
dev_name = "i2c-gpio";
i2c-gpio,delay-us = <0xa>;
gpios = <0x1f 0x11 0x0 0x1f 0x12 0x0>;
#address-cells = <0x2>;
#size-cells = <0x2>;

i2c_gpio_edid {
compatible = "i2c-gpio-edid";
reg = <0x50 0x0 0x0 0x0>;
};
};

serial@c81004c0 {
compatible = "amlogic, meson-uart";
reg = <0x0 0xc81004c0 0x0 0x14>;
interrupts = <0x0 0xc1 0x1>;
status = "okay";
clocks = <0xc 0x2>;
clock-names = "clk_uart";
fifosize = <0x40>;
pinctrl-names = "default";
};

serial@c11084c0 {
compatible = "amlogic, meson-uart";
reg = <0x0 0xc11084c0 0x0 0x14>;
interrupts = <0x0 0x1a 0x1>;
status = "okay";
clocks = <0xc 0x2>;
clock-names = "clk_uart";
fifosize = <0x80>;
pinctrl-names = "default";
pinctrl-0 = <0x56>;
resets = <0xc 0xd>;
};

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

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

dwc2_b {
compatible = "amlogic,dwc2";
device_name = "dwc2_b";
reg = <0x0 0xc9100000 0x0 0x40000>;
interrupts = <0x0 0x1f 0x4>;
status = "okay";
pl-periph-id = <0x1>;
clock-src = "usb1";
port-id = <0x1>;
port-type = <0x1>;
port-speed = <0x0>;
port-config = <0x0>;
port-dma = <0x0>;
port-id-mode = <0x1>;
phy-reg = <0xc0000020>;
phy-reg-size = <0x20>;
usb-fifo = <0x400>;
host-only-core = <0x1>;
pmu-apply-power = <0x1>;
cpu-type = "gxbaby";
resets = <0xc 0x3a 0xc 0x48 0xc 0x36>;
reset-names = "usb_general", "usb1", "usb1_to_ddr";
};

dwc2_a {
compatible = "amlogic,dwc2";
device_name = "dwc2_a";
reg = <0x0 0xc9000000 0x0 0x40000>;
interrupts = <0x0 0x1e 0x4>;
status = "okay";
pl-periph-id = <0x0>;
clock-src = "usb0";
port-id = <0x0>;
port-type = <0x1>;
port-speed = <0x0>;
port-config = <0x0>;
port-dma = <0x0>;
port-id-mode = <0x1>;
gpio-work-mask = <0x1>;
phy-reg = <0xc0000000>;
phy-reg-size = <0x20>;
usb-fifo = <0x400>;
cpu-type = "gxbaby";
resets = <0xc 0x3a 0xc 0x49 0xc 0x35>;
reset-names = "usb_general", "usb0", "usb0_to_ddr";
};

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

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

PCM {
#sound-dai-cells = <0x0>;
compatible = "amlogic, aml-pcm-dai";
linux,phandle = <0x64>;
phandle = <0x64>;
};

i2s_platform {
compatible = "amlogic, aml-i2s";
linux,phandle = <0x60>;
phandle = <0x60>;
};

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

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

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

dummy {
#sound-dai-cells = <0x0>;
compatible = "amlogic, aml_dummy_codec";
status = "okay";
linux,phandle = <0x65>;
phandle = <0x65>;
};

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 = <0x1f 0x13 0x0>;
hp_disable;
hp_paraments = <0x320 0x12c 0x0 0x5 0x1>;
pinctrl-names = "aml_snd_m8";
pinctrl-0 = <0x59>;
cpu_list = <0x5a 0x5b 0x5c>;
codec_list = <0x5d 0x5e 0x5f>;
plat_list = <0x60 0x60 0x61>;

cpudai0 {
sound-dai = <0x62>;
linux,phandle = <0x5a>;
phandle = <0x5a>;
};

cpudai1 {
sound-dai = <0x63>;
linux,phandle = <0x5b>;
phandle = <0x5b>;
};

cpudai2 {
sound-dai = <0x64>;
linux,phandle = <0x5c>;
phandle = <0x5c>;
};

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

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

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

amlogic_thermals {
compatible = "amlogic, amlogic-thermal";
#thermal-cells = <0x7>;
device_name = "thermal";
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 0x3>;
keep_mode_min_range = <0x1f4 0x190 0x1 0x2>;
};

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

adc_keypad {
compatible = "amlogic, adc_keypad";
status = "okay";
key_name = "menu", "vol-", "vol+", "esc", "home";
key_num = <0x5>;
key_code = <0x8b 0x72 0x73 0x1 0x66>;
key_chan = <0x0 0x0 0x0 0x0 0x0>;
key_val = <0x0 0x8f 0x10f 0x189 0x1fe>;
key_tolerance = <0x28 0x28 0x28 0x28 0x28>;
};

sen5led {
compatible = "sen5,sen5led";
dev_name = "sen5led";
status = "okay";
power_led_gpio = <0x68 0x6 0x0>;
};

meson-irblaster {
compatible = "amlogic, am_irblaster";
dev_name = "meson-irblaster";
status = "ok";
};

fd650 {
compatible = "sen5,sen5_fd650";
dev_name = "fd650";
sck_gpio = <0x1f 0xd 0x0>;
sda_gpio = <0x1f 0x6 0x0>;
status = "okay";
};

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

dvbfe {
compatible = "amlogic, dvbfe";
dev_name = "dvbfe";
dtv_demod0 = "Avl6211";
dtv_demod0_i2c_adap_id = <0x1>;
dtv_demod0_i2c_addr = <0xc>;
dtv_demod0_reset_value = <0x0>;
dtv_demod0_reset_gpio-gpios = <0x68 0x5 0x0>;
dtv_demod0_lnb_poweron_value = <0x1>;
dtv_demod0_lnb_hz_value = <0x0>;
dtv_demod0_spectrum_invert = <0x1>;
fe0_dtv_demod = <0x0>;
fe0_ts = <0x0>;
fe0_dev = <0x0>;
};

smartcard {
compatible = "amlogic,smartcard";
irq_trigger_type = "GPIO_IRQ_LOW";
smc0_reset_pin-gpios = <0x1f 0x5b 0x0>;
smc0_detect_pin-gpios = <0x1f 0x5a 0x0>;
smc0_enable_pin-gpios = <0x1f 0x51 0x0>;
smc0_5v3v_pin-gpios = <0x1f 0x55 0x0>;
interrupts = <0x0 0x45 0x4>;
smc0_clock_source = <0x0>;
smc0_irq = <0x45>;
smc0_det_invert = <0x1>;
smc0_enable_level = <0x1>;
smc0_need_enable_pin = "yes";
smc0_reset_level = <0x0>;
smc0_clk_pinmux_reg = <0x2d>;
smc0_clk_pinmux_bit = <0x2000>;
smc0_clk_oen_reg = <0xf>;
smc0_clk_out_reg = <0x10>;
smc0_clk_bit = <0x10>;
pinctrl-names = "default";
pinctrl-0 = <0x6b>;
resets = <0xc 0xb>;
reset-names = "smartcard";
status = "okay";
};
};