You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2104 lines
47 KiB

/dts-v1/;
/ {
model = "Amlogic";
compatible = "amlogic, gxl";
amlogic-dt-id = "gxlx2_p291_2g";
interrupt-parent = <0x02>;
#address-cells = <0x02>;
#size-cells = <0x02>;
mali@d00c0000 {
#cooling-cells = <0x02>;
compatible = "arm,mali-450";
interrupt-parent = <0x02>;
reg = <0x00 0xd00c0000 0x00 0x40000 0x00 0xc883c000 0x00 0x04 0x00 0xc8100000 0x00 0x04 0x00 0xc883c000 0x00 0x100 0x00 0xc1104440 0x00 0x100>;
interrupts = <0x00 0xa0 0x04 0x00 0xa1 0x04 0x00 0xa2 0x04 0x00 0xa3 0x04 0x00 0xa4 0x04 0x00 0xa5 0x04 0x00 0xa6 0x04 0x00 0xa7 0x04>;
interrupt-names = "IRQGP\0IRQGPMMU\0IRQPP\0IRQPMU\0IRQPP0\0IRQPPMMU0\0IRQPP1\0IRQPPMMU1";
pmu_domain_config = <0x01 0x02 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x02 0x00>;
pmu_switch_delay = <0xffff>;
num_of_pp = <0x02>;
def_clock = <0x03>;
sc_mpp = <0x02>;
tbl = <0x03 0x04 0x05 0x07 0x08 0x08>;
clocks = <0x09 0x08 0x09 0x09 0x09 0x11 0x09 0x12 0x09 0x1e 0x09 0x15 0x09 0x13 0x09 0x14>;
clock-names = "fclk_div3\0fclk_div4\0fclk_div5\0fclk_div7\0gp0_pll\0clk_mali\0clk_mali_0\0clk_mali_1";
control_interval = <0xc8>;
clk125_cfg {
clk_freq = <0x7735940>;
clk_parent = "fclk_div4";
clkp_freq = <0x1dcd6500>;
voltage = <0x47e>;
keep_count = <0x05>;
threshold = <0x1e 0x78>;
linux,phandle = <0x03>;
phandle = <0x03>;
};
clk250_cfg {
clk_freq = <0xee6b280>;
clk_parent = "fclk_div4";
clkp_freq = <0x1dcd6500>;
voltage = <0x47e>;
keep_count = <0x05>;
threshold = <0x50 0xaa>;
};
clk285_cfg {
clk_freq = <0x10fcc140>;
clk_parent = "fclk_div7";
clkp_freq = <0x10fcc140>;
voltage = <0x47e>;
keep_count = <0x05>;
threshold = <0x64 0xbe>;
linux,phandle = <0x04>;
phandle = <0x04>;
};
clk400_cfg {
clk_freq = <0x17d78400>;
clk_parent = "fclk_div5";
clkp_freq = <0x17d78400>;
voltage = <0x47e>;
keep_count = <0x05>;
threshold = <0x98 0xcf>;
linux,phandle = <0x05>;
phandle = <0x05>;
};
clk500_cfg {
clk_freq = <0x1dcd6500>;
clk_parent = "fclk_div4";
clkp_freq = <0x1dcd6500>;
voltage = <0x47e>;
keep_count = <0x05>;
threshold = <0xb4 0xdc>;
linux,phandle = <0x07>;
phandle = <0x07>;
};
clk666_cfg {
clk_freq = <0x27b25a80>;
clk_parent = "fclk_div3";
clkp_freq = <0x27b25a80>;
voltage = <0x47e>;
keep_count = <0x05>;
threshold = <0xd2 0xec>;
linux,phandle = <0x08>;
phandle = <0x08>;
};
clk750_cfg {
clk_freq = <0x2c588a00>;
clk_parent = "gp0_pll";
clkp_freq = <0x2c588a00>;
voltage = <0x47e>;
keep_count = <0x05>;
threshold = <0xe6 0xff>;
};
clk800_cfg {
clk_freq = <0x2f34f600>;
clk_parent = "gp0_pll";
clkp_freq = <0x2f34f600>;
voltage = <0x47e>;
keep_count = <0x05>;
threshold = <0xe6 0xff>;
};
};
cpus {
#address-cells = <0x02>;
#size-cells = <0x00>;
#cooling-cells = <0x02>;
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a53\0arm,armv8";
reg = <0x00 0x00>;
enable-method = "psci";
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a53\0arm,armv8";
reg = <0x00 0x01>;
enable-method = "psci";
};
cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a53\0arm,armv8";
reg = <0x00 0x02>;
enable-method = "psci";
};
cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a53\0arm,armv8";
reg = <0x00 0x03>;
enable-method = "psci";
};
};
timer {
compatible = "arm,armv8-timer";
interrupts = <0x01 0x0d 0xff01 0x01 0x0e 0xff01 0x01 0x0b 0xff01 0x01 0x0a 0xff01>;
};
arm_pmu {
compatible = "arm,armv8-pmuv3";
interrupts = <0x00 0x89 0x04 0x00 0x8a 0x04 0x00 0x99 0x04 0x00 0x9a 0x04>;
};
pm {
compatible = "amlogic, pm";
device_name = "aml_pm";
gxbaby-suspend;
reg = <0x00 0xc81000a8 0x00 0x04 0x00 0xc810023c 0x00 0x04>;
};
interrupt-controller@2c001000 {
compatible = "arm,cortex-a15-gic\0arm,cortex-a9-gic";
#interrupt-cells = <0x03>;
#address-cells = <0x00>;
interrupt-controller;
reg = <0x00 0xc4301000 0x00 0x1000 0x00 0xc4302000 0x00 0x100>;
interrupts = <0x01 0x09 0xf04>;
linux,phandle = <0x02>;
phandle = <0x02>;
};
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 = <0x0a>;
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 = <0x02>;
#size-cells = <0x02>;
ranges;
io_cbus_base {
reg = <0x00 0xc1100000 0x00 0x100000>;
};
io_apb_base {
reg = <0x00 0xd0000000 0x00 0x200000>;
};
io_aobus_base {
reg = <0x00 0xc8100000 0x00 0x100000>;
};
};
cpufreq-meson {
compatible = "amlogic, cpufreq-scpi";
status = "okay";
clocks = <0x0b 0x00>;
clock-names = "cpu_clk";
};
amlogic-watchdog {
compatible = "amlogic, gx-wdt";
status = "disable";
default_timeout = <0x0a>;
reset_watchdog_method = <0x01>;
reset_watchdog_time = <0x02>;
shutdown_timeout = <0x0a>;
firmware_timeout = <0x06>;
suspend_timeout = <0x06>;
reg = <0x00 0xc11098d0 0x00 0x10>;
clocks = <0x09 0x02>;
};
amlogic-jtag {
compatible = "amlogic, jtag";
status = "okay";
pinctrl-names = "jtag_apao_pins\0jtag_apee_pins";
pinctrl-0 = <0x0c>;
pinctrl-1 = <0x0d>;
};
meson_clock {
compatible = "amlogic, gxl-clock";
reg = <0x00 0xc883c000 0x00 0x1000 0x00 0xc8100000 0x00 0x1000>;
#clock-cells = <0x01>;
#reset-cells = <0x01>;
sys_max = <0x5b8d8000>;
linux,phandle = <0x09>;
phandle = <0x09>;
};
cpu_info {
compatible = "amlogic, cpuinfo";
cpuinfo_cmd = <0x82000044>;
};
pinmux {
compatible = "amlogic, pinmux-gxl";
dev_name = "pinmux";
#pinmux-cells = <0x02>;
#address-cells = <0x02>;
#size-cells = <0x02>;
reg = <0x00 0xc1109880 0x00 0x10>;
ranges;
banks@c11080b0 {
reg = <0x00 0xc88344b0 0x00 0x28 0x00 0xc88344e8 0x00 0x14 0x00 0xc8834520 0x00 0x14 0x00 0xc8834430 0x00 0x40>;
reg-names = "mux\0pull\0pull-enable\0gpio";
gpio-controller;
#gpio-cells = <0x02>;
linux,phandle = <0x1a>;
phandle = <0x1a>;
};
ao-bank@c1108030 {
reg = <0x00 0xc8100014 0x00 0x08 0x00 0xc810002c 0x00 0x04 0x00 0xc8100024 0x00 0x08>;
reg-names = "mux\0pull\0gpio";
gpio-controller;
#gpio-cells = <0x02>;
linux,phandle = <0x10>;
phandle = <0x10>;
};
eth_pins {
amlogic,setmask = <0x04 0x3000000>;
amlogic,clrmask = <0x03 0x300000>;
amlogic,pins = "GPIOZ_14\0GPIOZ_15";
linux,phandle = <0x20>;
phandle = <0x20>;
};
jtag_apao_pin {
amlogic,clrmask = <0x06 0x7fe0000>;
amlogic,pins = "GPIOH_6\0GPIOH_7\0GPIOH_8\0GPIOH_9";
linux,phandle = <0x0c>;
phandle = <0x0c>;
};
jtag_apee_pin {
amlogic,clrmask = <0x06 0x3c>;
amlogic,pins = "CARD_0\0CARD_1\0CARD_2\0CARD_3";
linux,phandle = <0x0d>;
phandle = <0x0d>;
};
remote_pin {
amlogic,setmask = <0x10 0x01>;
amlogic,pins = "GPIOAO_7";
linux,phandle = <0x19>;
phandle = <0x19>;
};
ao_uart {
amlogic,setmask = <0x10 0x1800>;
amlogic,pins = "GPIOAO_0\0GPIOAO_1";
};
ao_b_uart {
amlogic,setmask = <0x10 0x1800000>;
amlogic,pins = "GPIOAO_4\0GPIOAO_5";
linux,phandle = <0x5e>;
phandle = <0x5e>;
};
a_uart {
amlogic,setmask = <0x05 0xf0000>;
amlogic,clrmask = <0x05 0x3c0>;
amlogic,pins = "GPIOX_12\0GPIOX_13\0GPIOX_14\0GPIOX_15";
linux,phandle = <0x5b>;
phandle = <0x5b>;
};
b_uart {
amlogic,setmask = <0x02 0x18000>;
amlogic,pins = "GPIODV_24\0GPIODV_25";
linux,phandle = <0x5c>;
phandle = <0x5c>;
};
c_uart {
amlogic,setmask = <0x05 0x3000>;
amlogic,pins = "GPIOX_8\0GPIOX_9";
linux,phandle = <0x5d>;
phandle = <0x5d>;
};
wifi_32k_pins {
amlogic,setmask = <0x05 0x8000>;
amlogic,pins = "GPIOX_16";
linux,phandle = <0x26>;
phandle = <0x26>;
};
sd_clk_cmd_pins {
amlogic,setmask = <0x06 0x0c 0x10 0x1800>;
amlogic,pins = "CARD_2\0CARD_3";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x2b>;
phandle = <0x2b>;
};
sd_all_pins {
amlogic,setmask = <0x06 0x3f 0x10 0x1800>;
amlogic,clrmask = <0x06 0xfc0>;
amlogic,pins = "CARD_0\0CARD_1\0CARD_2\0CARD_3\0CARD_4\0CARD_5";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x2c>;
phandle = <0x2c>;
};
sd_clear_all_pin {
amlogic,setmask = <0x10 0x1800>;
amlogic,clrmask = <0x06 0x3f 0x06 0xfc0>;
amlogic,pins = "GPIOAO_0\0GPIOAO_1";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x34>;
phandle = <0x34>;
};
sd_1bit_pins {
amlogic,setmask = <0x06 0x1c 0x10 0x1800>;
amlogic,clrmask = <0x06 0xcc3>;
amlogic,pins = "CARD_1\0CARD_2\0CARD_3";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x2d>;
phandle = <0x2d>;
};
sd_clk_cmd_uart_pins {
amlogic,setmask = <0x06 0x30c>;
amlogic,clrmask = <0x06 0xcc3 0x10 0x1800>;
amlogic,pins = "CARD_2\0CARD_3";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x2e>;
phandle = <0x2e>;
};
sd_1bit_uart_pins {
amlogic,setmask = <0x06 0x31c>;
amlogic,clrmask = <0x06 0xcc3 0x10 0x1800>;
amlogic,pins = "CARD_1\0CARD_2\0CARD_3";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x2f>;
phandle = <0x2f>;
};
sd_to_ao_uart_pins {
amlogic,setmask = <0x10 0x1800>;
amlogic,clrmask = <0x06 0x300>;
amlogic,pins = "GPIOAO_0\0GPIOAO_1";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x30>;
phandle = <0x30>;
};
ao_to_sd_uart_pins {
amlogic,setmask = <0x06 0x300>;
amlogic,clrmask = <0x10 0x1800 0x06 0xcc3>;
amlogic,pins = "CARD_4\0CARD_5";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x31>;
phandle = <0x31>;
};
ao_to_sd_jtag_pins {
amlogic,setmask = <0x06 0x300>;
amlogic,clrmask = <0x06 0xcff 0x10 0x1800>;
amlogic,pins = "CARD_4\0CARD_5";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x32>;
phandle = <0x32>;
};
sd_to_ao_jtag_pins {
amlogic,setmask = <0x10 0x1800>;
amlogic,clrmask = <0x06 0xfc0>;
amlogic,pins = "GPIOAO_0\0GPIOAO_1";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x33>;
phandle = <0x33>;
};
emmc_conf_pull_up {
amlogic,pins = "BOOT_0\0BOOT_1\0BOOT_2\0BOOT_3\0BOOT_4\0BOOT_5\0BOOT_6\0BOOT_7\0BOOT_8\0BOOT_10";
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x28>;
phandle = <0x28>;
};
emmc_conf_pull_done {
amlogic,pins = "BOOT_15";
amlogic,pullup = <0x00>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x29>;
phandle = <0x29>;
};
emmc_clk_cmd_pins {
amlogic,setmask = <0x07 0x60000000>;
amlogic,clrmask = <0x07 0xe0>;
amlogic,pins = "BOOT_8\0BOOT_10";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x27>;
phandle = <0x27>;
};
emmc_all_pins {
amlogic,setmask = <0x07 0xf0000000>;
amlogic,clrmask = <0x07 0xe0>;
amlogic,pins = "BOOT_0\0BOOT_1\0BOOT_2\0BOOT_3\0BOOT_4\0BOOT_5\0BOOT_6\0BOOT_7\0BOOT_8\0BOOT_10\0BOOT_15";
amlogic,enable-output = <0x01>;
linux,phandle = <0x2a>;
phandle = <0x2a>;
};
sdio_clk_cmd_pins {
amlogic,setmask = <0x05 0xc000000>;
amlogic,pins = "GPIOX_4\0GPIOX_5";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x35>;
phandle = <0x35>;
};
sdio_all_pins {
amlogic,setmask = <0x05 0xfc000000>;
amlogic,pins = "GPIOX_0\0GPIOX_1\0GPIOX_2\0GPIOX_3\0GPIOX_4\0GPIOX_5";
amlogic,enable-output = <0x01>;
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x36>;
phandle = <0x36>;
};
conf_nand_pulldown {
amlogic,pins = "BOOT_0\0BOOT_1\0BOOT_2\0BOOT_3\0BOOT_4\0BOOT_5\0BOOT_6\0BOOT_7\0BOOT_15";
amlogic,pullup = <0x00>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x37>;
phandle = <0x37>;
};
conf_nand_pullup {
amlogic,pins = "BOOT_8\0BOOT_10";
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
linux,phandle = <0x38>;
phandle = <0x38>;
};
all_nand_pins {
amlogic,setmask = <0x07 0x800000ff>;
amlogic,clrmask = <0x07 0x70ffbc00>;
amlogic,pins = "BOOT_0\0BOOT_1\0BOOT_2\0BOOT_3\0BOOT_4\0BOOT_5\0BOOT_6\0BOOT_7\0BOOT_8\0BOOT_9\0BOOT_10\0BOOT_11\0BOOT_12\0BOOT_13\0BOOT_14\0BOOT_15";
amlogic,enable-output = <0x01>;
linux,phandle = <0x39>;
phandle = <0x39>;
};
nand_cs {
amlogic,setmask = <0x07 0xc0>;
amlogic,clrmask = <0x07 0x40040000>;
amlogic,pins = "BOOT_8\0BOOT_9";
linux,phandle = <0x3a>;
phandle = <0x3a>;
};
hdmitx_hpd {
amlogic,setmask = <0x06 0x80000000>;
amlogic,pins = "GPIOH_0";
linux,phandle = <0x57>;
phandle = <0x57>;
};
hdmitx_ddc {
amlogic,setmask = <0x06 0x30000000>;
amlogic,pins = "GPIOH_1\0GPIOH_2";
linux,phandle = <0x58>;
phandle = <0x58>;
};
hdmitx_aocec {
amlogic,setmask = <0x10 0x8000>;
amlogic,clrmask = <0x10 0x24000 0x11 0x01>;
amlogic,pins = "GPIOAO_8";
linux,phandle = <0x5a>;
phandle = <0x5a>;
};
hdmitx_eecec {
amlogic,setmask = <0x10 0x4000>;
amlogic,clrmask = <0x10 0x28000 0x11 0x01>;
amlogic,pins = "GPIOAO_8";
};
a_i2c {
amlogic,setmask = <0x01 0xc000>;
amlogic,clrmask = <0x03 0x18 0x02 0x18000 0x02 0xc0 0x01 0x600000>;
amlogic,pins = "GPIODV_24\0GPIODV_25";
linux,phandle = <0x0e>;
phandle = <0x0e>;
};
b_i2c {
amlogic,setmask = <0x01 0x3000>;
amlogic,clrmask = <0x02 0x6000 0x01 0x1c0000>;
amlogic,pins = "GPIODV_26\0GPIODV_27";
linux,phandle = <0x0f>;
phandle = <0x0f>;
};
c_i2c {
amlogic,setmask = <0x01 0xc00>;
amlogic,clrmask = <0x02 0x1800 0x01 0x200 0x02 0x20>;
amlogic,pins = "GPIODV_28\0GPIODV_29";
linux,phandle = <0x11>;
phandle = <0x11>;
};
d_i2c {
amlogic,setmask = <0x05 0x30>;
amlogic,clrmask = <0x05 0x300c03>;
amlogic,pins = "GPIOX_10\0GPIOX_11";
linux,phandle = <0x12>;
phandle = <0x12>;
};
spicc_pins_z11z12z13 {
amlogic,setmask = <0x04 0x1c>;
amlogic,clrmask = <0x03 0x800 0x04 0x1c00>;
amlogic,pins = "GPIOZ_11\0GPIOZ_12\0GPIOZ_13";
};
spicc_pulldown_z11z12z13 {
amlogic,pins = "GPIOZ_11\0GPIOZ_12\0GPIOZ_13";
amlogic,pullup = <0x00>;
amlogic,pullupen = <0x01>;
};
spicc_pullup_z11z12z13 {
amlogic,pins = "GPIOZ_11\0GPIOZ_12\0GPIOZ_13";
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
};
spicc_pins_x8x9x11 {
amlogic,setmask = <0x05 0x0d>;
amlogic,clrmask = <0x05 0xd03430 0x06 0x0d>;
amlogic,pins = "GPIOX_8\0GPIOX_9\0GPIOX_11";
};
spicc_pulldown_x8x9x11 {
amlogic,pins = "GPIOX_8\0GPIOX_9\0GPIOX_11";
amlogic,pullup = <0x00>;
amlogic,pullupen = <0x01>;
};
spicc_pullup_x8x9x11 {
amlogic,pins = "GPIOX_8\0GPIOX_9\0GPIOX_11";
amlogic,pullup = <0x01>;
amlogic,pullupen = <0x01>;
};
audio_pin {
amlogic,setmask = <0x06 0x7800000>;
amlogic,clrmask = <0x06 0x7e0000>;
amlogic,pins = "GPIOH_6\0GPIOH_7\0GPIOH_8\0GPIOH_9";
linux,phandle = <0x63>;
phandle = <0x63>;
};
audio_pin1 {
amlogic,setmask = <0x06 0x10000000>;
amlogic,clrmask = <0x06 0x8000000>;
amlogic,pins = "GPIOH_4";
linux,phandle = <0x62>;
phandle = <0x62>;
};
audio_btpcm_pins {
amlogic,setmask = <0x05 0xf00000>;
amlogic,clrmask = <0x05 0x3c33>;
amlogic,pins = "GPIOX_8\0GPIOX_9\0GPIOX_10\0GPIOX_11";
linux,phandle = <0x61>;
phandle = <0x61>;
};
pwm_ao_a_pins {
amlogic,setmask = <0x10 0x400000>;
amlogic,clrmask = <0x10 0x280>;
amlogic,pins = "GPIOAO_3";
linux,phandle = <0x1c>;
phandle = <0x1c>;
};
};
cpu_version {
reg = <0x00 0xc8100220 0x00 0x04>;
};
meson_clk_msr {
compatible = "amlogic, gxl_measure";
reg = <0x00 0xc110875c 0x00 0x04 0x00 0xc1108764 0x00 0x04>;
};
ddr_bandwidth {
compatible = "amlogic, ddr-bandwidth";
status = "okay";
reg = <0x00 0xc8838000 0x00 0x100 0x00 0xc8837000 0x00 0x100>;
interrupts = <0x00 0x34 0x01>;
interrupt-names = "ddr_bandwidth";
};
dmc_monitor {
compatible = "amlogic, dmc_monitor";
status = "okay";
reg_base = <0xda838400>;
interrupts = <0x00 0x33 0x01>;
};
i2c@c1108500 {
compatible = "amlogic, meson-i2c";
dev_name = "i2c-A";
status = "disabled";
reg = <0x00 0xc1108500 0x00 0x20>;
device_id = <0x01>;
pinctrl-names = "default";
pinctrl-0 = <0x0e>;
#address-cells = <0x01>;
#size-cells = <0x00>;
use_pio = <0x00>;
master_i2c_speed = <0x493e0>;
clocks = <0x09 0x0a>;
clock-names = "clk_i2c";
resets = <0x09 0x09>;
};
i2c@c11087c0 {
compatible = "amlogic, meson-i2c";
dev_name = "i2c-B";
status = "disabled";
reg = <0x00 0xc11087c0 0x00 0x20>;
device_id = <0x02>;
pinctrl-names = "default";
pinctrl-0 = <0x0f>;
#address-cells = <0x01>;
#size-cells = <0x00>;
use_pio = <0x00>;
master_i2c_speed = <0x493e0>;
clocks = <0x09 0x0a>;
clock-names = "clk_i2c";
resets = <0x09 0x09>;
ntag_i2c@55 {
compatible = "nxp,ntag_i2c";
reg = <0x55>;
clock-frequency = <0x61a80>;
interrupt-gpios = <0x10 0x02 0x00>;
irq_fall = <0x01>;
irq_rise = <0x02>;
interrupts = <0x00 0x41 0x01 0x00 0x42 0x01>;
};
pn547@28 {
compatible = "nxp,pn547";
reg = <0x28>;
clock-frequency = <0x61a80>;
interrupt-gpios = <0x10 0x06 0x00>;
enable-gpios = <0x10 0x05 0x00>;
switch-gpios = <0x10 0x09 0x00>;
gpioirq = <0x00>;
interrupts = <0x00 0x40 0x01>;
};
};
i2c@c11087e0 {
compatible = "amlogic, meson-i2c";
dev_name = "i2c-C";
status = "disabled";
reg = <0x00 0xc11087e0 0x00 0x20>;
device_id = <0x03>;
pinctrl-names = "default";
pinctrl-0 = <0x11>;
#address-cells = <0x01>;
#size-cells = <0x00>;
use_pio = <0x00>;
master_i2c_speed = <0x493e0>;
clocks = <0x09 0x0a>;
clock-names = "clk_i2c";
resets = <0x09 0x09>;
};
i2c@c1108d20 {
compatible = "amlogic, meson-i2c";
dev_name = "i2c-D";
status = "disabled";
reg = <0x00 0xc1108d20 0x00 0x20>;
device_id = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <0x12>;
#address-cells = <0x01>;
#size-cells = <0x00>;
use_pio = <0x00>;
master_i2c_speed = <0x493e0>;
clocks = <0x09 0x0a>;
clock-names = "clk_i2c";
resets = <0x09 0x09>;
};
efuse {
compatible = "amlogic, efuse";
read_cmd = <0x82000030>;
write_cmd = <0x82000031>;
get_max_cmd = <0x82000033>;
key = <0x13>;
resets = <0x09 0x3e>;
reset-names = "efuse_clk";
status = "okay";
};
efusekey {
keynum = <0x04>;
key0 = <0x14>;
key1 = <0x15>;
key2 = <0x16>;
key3 = <0x17>;
linux,phandle = <0x13>;
phandle = <0x13>;
key0 {
keyname = "mac";
offset = <0x00>;
size = <0x06>;
linux,phandle = <0x14>;
phandle = <0x14>;
};
key1 {
keyname = "mac_bt";
offset = <0x06>;
size = <0x06>;
linux,phandle = <0x15>;
phandle = <0x15>;
};
key2 {
keyname = "mac_wifi";
offset = <0x0c>;
size = <0x06>;
linux,phandle = <0x16>;
phandle = <0x16>;
};
key3 {
keyname = "usid";
offset = <0x12>;
size = <0x10>;
linux,phandle = <0x17>;
phandle = <0x17>;
};
};
mhu@c883c400 {
compatible = "amlogic, meson_mhu";
reg = <0x00 0xc883c400 0x00 0x4c 0x00 0xc8013000 0x00 0x800>;
interrupts = <0x00 0xd1 0x08 0x00 0xd2 0x08>;
#mbox-cells = <0x01>;
mbox-names = "cpu_to_scp_low\0cpu_to_scp_high";
mboxes = <0x18 0x00 0x18 0x01>;
linux,phandle = <0x18>;
phandle = <0x18>;
};
scpi_clocks {
compatible = "arm,scpi-clks";
scpi_clocks@0 {
compatible = "arm,scpi-clk-indexed";
#clock-cells = <0x01>;
clock-indices = <0x00>;
clock-output-names = "vcpu";
linux,phandle = <0x0b>;
phandle = <0x0b>;
};
};
meson_remote {
compatible = "amlogic, aml_remote";
dev_name = "meson-remote";
status = "ok";
remote_ao_offset = <0x580>;
interrupts = <0x00 0xc4 0x01>;
pinctrl-names = "default";
pinctrl-0 = <0x19>;
led_status_on = <0x00>;
led_pin = <0x1a 0x49 0x00>;
};
rng {
compatible = "amlogic,meson-rng";
reg = <0x00 0xc8834000 0x00 0x04>;
};
audio_data {
compatible = "amlogic, audio_data";
query_licence_cmd = <0x82000050>;
status = "okay";
};
saradc {
compatible = "amlogic, saradc";
status = "okay";
interrupts = <0x00 0x09 0x01>;
interrupt-names = "saradc_int";
clocks = <0x09 0x02>;
clock-names = "saradc_clk";
resets = <0x09 0x56>;
reg = <0x00 0xc1108680 0x00 0x30 0x00 0xc883c3d8 0x00 0x08>;
};
defendkey {
compatible = "amlogic, defendkey";
reg = <0x00 0xc8834500 0x00 0x04>;
mem_size = <0x00 0x100000>;
status = "okay";
};
spicc {
compatible = "amlogic, spicc";
status = "disabled";
reg = <0x00 0xc1108d80 0x00 0x28>;
resets = <0x09 0x08>;
clocks = <0x09 0x0a>;
clock-names = "spicc_clk";
interrupts = <0x00 0x51 0x01>;
device_id = <0x00>;
};
aliases {
serial0 = "/serial@c81004c0";
serial1 = "/serial@c11084c0";
serial2 = "/serial@c11084dc";
serial3 = "/serial@c1108700";
serial4 = "/serial@c81004e0";
};
memory@00000000 {
device_type = "memory";
linux,usable-memory = <0x00 0x100000 0x00 0x7f000000>;
};
reserved-memory {
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
linux,secmon {
compatible = "amlogic, aml_secmon_memory";
reg = <0x00 0x10000000 0x00 0x200000>;
no-map;
linux,phandle = <0x0a>;
phandle = <0x0a>;
};
linux,secos {
status = "disabled";
compatible = "amlogic, aml_secos_memory";
reg = <0x00 0x5300000 0x00 0x2000000>;
no-map;
};
aml_pstore {
compatible = "amlogic, pstore";
reg = <0x00 0x7300000 0x00 0x100000>;
no-map;
};
linux,secchk {
compatible = "shared-dma-pool";
status = "disabled";
reusable;
size = <0x00 0x2000000>;
alignment = <0x00 0x400000>;
linux,contiguous-region;
};
linux,meson-fb {
compatible = "shared-dma-pool";
reusable;
size = <0x00 0x2400000>;
alignment = <0x00 0x40000>;
alloc-ranges = <0x00 0x3dc00000 0x00 0x2400000>;
linux,phandle = <0x1d>;
phandle = <0x1d>;
};
linux,di_cma {
compatible = "shared-dma-pool";
reusable;
size = <0x00 0x2800000>;
alignment = <0x00 0x400000>;
linux,phandle = <0x25>;
phandle = <0x25>;
};
linux,ion-dev {
compatible = "amlogic, idev-mem";
size = <0x00 0x1000>;
linux,phandle = <0x21>;
phandle = <0x21>;
};
linux,vdin1_cma {
compatible = "shared-dma-pool";
linux,phandle = <0x06>;
reusable;
size = <0x00 0x1400000>;
alignment = <0x00 0x400000>;
};
linux,ppmgr {
compatible = "shared-dma-pool";
size = <0x00 0x00>;
linux,phandle = <0x23>;
phandle = <0x23>;
};
linux,amlvideo2 {
compatible = "shared-dma-pool";
reusable;
size = <0x00 0x00>;
alignment = <0x00 0x400000>;
linux,phandle = <0x24>;
phandle = <0x24>;
};
linux,hevc_cma {
compatible = "shared-dma-pool";
linux,phandle = <0x01>;
reusable;
size = <0x00 0x00>;
alignment = <0x00 0x400000>;
linux,contiguous-region;
};
linux,codec_mm_cma {
compatible = "shared-dma-pool";
reusable;
size = <0x00 0x1f400000>;
alignment = <0x00 0x400000>;
linux,contiguous-region;
linux,phandle = <0x1e>;
phandle = <0x1e>;
};
linux,picdec {
compatible = "shared-dma-pool";
reusable;
size = <0x00 0x00>;
alignment = <0x00 0x00>;
linux,contiguous-region;
linux,phandle = <0x22>;
phandle = <0x22>;
};
linux,codec_mm_reserved {
compatible = "amlogic, codec-mm-reserved";
size = <0x00 0x1000>;
alignment = <0x00 0x100000>;
linux,phandle = <0x1f>;
phandle = <0x1f>;
};
};
meson-pwm {
compatible = "amlogic, meson-pwm";
status = "disabled";
#pwm-cells = <0x02>;
pwm-outputs = <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>;
pwm-outputs-new = <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f>;
reg = <0x00 0xc1108550 0x00 0x30 0x00 0xc8100550 0x00 0x10>;
clocks = <0x09 0x02 0x09 0x05 0x09 0x09 0x09 0x08>;
clock-names = "xtal\0vid_pll_clk\0fclk_div4\0fclk_div3";
clock-select = <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00>;
clock-select-new = <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00>;
linux,phandle = <0x1b>;
phandle = <0x1b>;
};
pwmled {
compatible = "amlogic, pwmled";
dev_name = "pwmled";
status = "disabled";
pwms = <0x1b 0x06 0x989680>;
polarity = <0x01>;
max_brightness = <0xff>;
pinctrl-names = "pwm_ao_a_pins";
pinctrl-0 = <0x1c>;
expires = <0x190>;
expires_count = <0x08>;
};
meson-vout {
compatible = "amlogic, meson-vout";
dev_name = "meson-vout";
status = "okay";
};
meson-fb {
compatible = "amlogic, meson-fb";
memory-region = <0x1d>;
dev_name = "meson-fb";
status = "okay";
interrupts = <0x00 0x03 0x01 0x00 0x59 0x01>;
interrupt-names = "viu-vsync\0rdma";
mem_size = <0x800000 0x1800000 0x100000>;
display_mode_default = "1080p60hz";
scale_mode = <0x01>;
display_size_default = <0x780 0x438 0x780 0xca8 0x20>;
logo_addr = "0x3dc00000";
};
ge2d {
compatible = "amlogic, ge2d";
dev_name = "ge2d";
status = "okay";
interrupts = <0x00 0x96 0x01>;
interrupt-names = "ge2d";
clocks = <0x09 0x17 0x09 0x19>;
clock-names = "clk_vapb_0\0clk_ge2d";
resets = <0x09 0x34>;
reset-names = "ge2d";
};
codec_io {
compatible = "amlogic, codec_io";
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
io_cbus_base {
reg = <0x00 0xc1100000 0x00 0x100000>;
};
io_dos_base {
reg = <0x00 0xc8820000 0x00 0x10000>;
};
io_hiubus_base {
reg = <0x00 0xc883c000 0x00 0x2000>;
};
io_aobus_base {
reg = <0x00 0xc8100000 0x00 0x100000>;
};
io_vcbus_base {
reg = <0x00 0xd0100000 0x00 0x40000>;
};
io_dmc_base {
reg = <0x00 0xc8838000 0x00 0x400>;
};
};
codec_mm {
compatible = "amlogic, codec, mm";
memory-region = <0x1e 0x1f>;
dev_name = "codec_mm";
status = "okay";
};
ethernet@0xc9410000 {
compatible = "amlogic, gxbb-rmii-dwmac";
reg = <0x00 0xc9410000 0x00 0x10000 0x00 0xc8834540 0x00 0x08 0x00 0xc8834558 0x00 0x0c>;
interrupts = <0x00 0x08 0x01 0x00 0x09 0x01>;
phy-mode = "rmii";
pinctrl-names = "eth_pins";
pinctrl-0 = <0x20>;
mc_val = <0x1800>;
resets = <0x09 0x23>;
reset-names = "ethpower";
interrupt-names = "macirq\0phyirq";
clocks = <0x09 0x0a>;
clock-names = "ethclk81";
internal_phy = <0x01>;
};
mesonstream {
compatible = "amlogic, codec, streambuf";
dev_name = "mesonstream";
status = "okay";
resets = <0x09 0x39 0x09 0x59 0x09 0x24 0x09 0x01>;
reset-names = "parser_top\0vpu_intr\0demux\0vdec";
};
amvideocap {
compatible = "amlogic, amvideocap";
dev_name = "amvideocap.0";
status = "okay";
max_size = <0x08>;
};
ion_dev {
compatible = "amlogic, ion_dev";
memory-region = <0x21>;
};
vdec {
compatible = "amlogic, vdec";
dev_name = "vdec.0";
status = "okay";
interrupts = <0x00 0x03 0x01 0x00 0x17 0x01 0x00 0x20 0x01 0x00 0x2b 0x01 0x00 0x2c 0x01 0x00 0x2d 0x01>;
interrupt-names = "vsync\0demux\0parser\0mailbox_0\0mailbox_1\0mailbox_2";
};
picdec {
compatible = "amlogic, picdec";
memory-region = <0x22>;
dev_name = "picdec";
status = "okay";
};
ppmgr {
compatible = "amlogic, ppmgr";
memory-region = <0x23>;
dev_name = "ppmgr";
status = "okay";
};
amlvideo2 {
compatible = "amlogic, amlvideo2";
memory-region = <0x24>;
dev_name = "amlvideo2";
status = "okay";
};
deinterlace {
compatible = "amlogic, deinterlace";
status = "okay";
flag_cma = <0x02>;
memory-region = <0x25>;
interrupts = <0x00 0x2e 0x01 0x00 0x06 0x01>;
interrupt-names = "de_irq\0timerc";
buffer-size = <0x3e2c40>;
nr10bit-surpport = <0x01>;
hw-version = <0x02>;
};
vdin0 {
compatible = "amlogic, vdin";
dev_name = "vdin0";
status = "okay";
reserve-iomap = "true";
flag_cma = <0x01>;
cma_size = <0x18>;
interrupts = <0x00 0x53 0x01>;
rdma-irq = <0x02>;
clocks = <0x09 0x11 0x09 0x29>;
clock-names = "fclk_div5\0cts_vdin_meas_clk";
vdin_id = <0x00>;
tv_bit_mode = <0x15>;
};
vdin1 {
compatible = "amlogic, vdin";
memory-region = <0x06>;
dev_name = "vdin1";
status = "okay";
reserve-iomap = "true";
flag_cma = <0x00>;
interrupts = <0x00 0x55 0x01>;
rdma-irq = <0x04>;
clocks = <0x09 0x11 0x09 0x29>;
clock-names = "fclk_div5\0cts_vdin_meas_clk";
vdin_id = <0x01>;
};
amvdec_656in0 {
compatible = "amlogic, amvdec_656in";
dev_name = "amvdec_656in0";
status = "ok";
reg = <0x00 0xd0048000 0x00 0x7c>;
clocks = <0x09 0x07 0x09 0x26>;
clock-names = "fclk_div2\0cts_bt656_clk0";
bt656_id = <0x00>;
};
amvdec_656in1 {
compatible = "amlogic, amvdec_656in";
dev_name = "amvdec_656in1";
status = "ok";
reg = <0x00 0xd0050000 0x00 0x7c>;
clocks = <0x09 0x07 0x09 0x27>;
clock-names = "fclk_div2\0cts_bt656_clk1";
bt656_id = <0x01>;
};
amlvecm {
compatible = "amlogic, vecm";
dev_name = "aml_vecm";
status = "okay";
gamma_en = <0x00>;
wb_en = <0x00>;
cm_en = <0x00>;
};
amvenc_avc {
compatible = "amlogic, amvenc_avc";
dev_name = "amvenc_avc";
status = "okay";
interrupts = <0x00 0x2d 0x01>;
interrupt-names = "mailbox_2";
};
hevc_enc {
compatible = "cnm, HevcEnc";
memory-region = <0x01>;
dev_name = "HevcEnc";
status = "okay";
interrupts = <0x00 0xbb 0x01>;
interrupt-names = "wave420l_irq";
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
io_reg_base {
reg = <0x00 0xc8810000 0x00 0x4000>;
};
};
vpu {
compatible = "amlogic, vpu";
dev_name = "vpu";
status = "ok";
clk_level = <0x07>;
};
bt-dev {
compatible = "amlogic, bt-dev";
dev_name = "bt-dev";
status = "okay";
gpio_reset = <0x1a 0x60 0x00>;
};
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 = <0x1a 0x61 0x00>;
interrupts = <0x00 0x44 0x04>;
irq_trigger_type = "GPIO_IRQ_HIGH";
power_on_pin = <0x1a 0x55 0x00>;
dhd_static_buf;
pinctrl-names = "wifi_32k_pins";
pinctrl-0 = <0x26>;
};
emmc {
compatible = "amlogic, aml_sd_emmc";
dev_name = "aml_newsd.0";
status = "okay";
reg = <0x00 0xd0074000 0x00 0x2000>;
interrupts = <0x00 0xda 0x01>;
pinctrl-names = "emmc_clk_cmd_pins\0emmc_all_pins";
pinctrl-0 = <0x27>;
pinctrl-1 = <0x28 0x29 0x2a>;
emmc {
status = "disabled";
pinname = "emmc";
ocr_avail = <0x200080>;
caps = "MMC_CAP_8_BIT_DATA\0MMC_CAP_MMC_HIGHSPEED\0MMC_CAP_SD_HIGHSPEED\0MMC_CAP_NONREMOVABLE\0MMC_CAP_1_8V_DDR\0MMC_CAP_HW_RESET\0MMC_CAP_ERASE\0MMC_CAP_CMD23";
f_min = <0x493e0>;
f_max = <0x2faf080>;
tx_phase = <0x00>;
max_req_size = <0x20000>;
gpio_dat3 = <0x1a 0x1d 0x00>;
hw_reset = <0x1a 0x23 0x00>;
card_type = <0x01>;
};
};
sd {
compatible = "amlogic, aml_sd_emmc";
dev_name = "aml_newsd.0";
status = "okay";
reg = <0x00 0xd0072000 0x00 0x2000>;
interrupts = <0x00 0xd9 0x01 0x00 0x43 0x01 0x00 0x45 0x01>;
pinctrl-names = "sd_clk_cmd_pins\0sd_all_pins\0sd_1bit_pins\0sd_clk_cmd_uart_pins\0sd_1bit_uart_pins\0sd_to_ao_uart_pins\0ao_to_sd_uart_pins\0ao_to_sd_jtag_pins\0sd_to_ao_jtag_pins\0sd_clear_all_pin";
pinctrl-0 = <0x2b>;
pinctrl-1 = <0x2c>;
pinctrl-2 = <0x2d>;
pinctrl-3 = <0x2e>;
pinctrl-4 = <0x2f>;
pinctrl-5 = <0x30>;
pinctrl-6 = <0x31>;
pinctrl-7 = <0x32>;
pinctrl-8 = <0x33>;
pinctrl-9 = <0x34>;
sd {
status = "okay";
pinname = "sd";
ocr_avail = <0x200080>;
caps = "MMC_CAP_4_BIT_DATA\0MMC_CAP_MMC_HIGHSPEED\0MMC_CAP_SD_HIGHSPEED";
f_min = <0x61a80>;
f_max = <0x5f5e100>;
max_req_size = <0x20000>;
gpio_card5 = <0x1a 0x2f 0x00>;
gpio_dat3 = <0x1a 0x2e 0x00>;
gpio_card3 = <0x1a 0x2d 0x00>;
gpio_card2 = <0x1a 0x2c 0x00>;
gpio_card1 = <0x1a 0x2b 0x00>;
jtag_pin = <0x1a 0x2a 0x00>;
gpio_cd = <0x1a 0x30 0x00>;
irq_in = <0x03>;
irq_out = <0x05>;
card_type = <0x05>;
};
};
sdio {
compatible = "amlogic, aml_sd_emmc";
dev_name = "aml_newsd.0";
status = "okay";
reg = <0x00 0xd0070000 0x00 0x2000>;
interrupts = <0x00 0xd8 0x04>;
pinctrl-names = "sdio_clk_cmd_pins\0sdio_all_pins";
pinctrl-0 = <0x35>;
pinctrl-1 = <0x36>;
sdio {
status = "okay";
pinname = "sdio";
ocr_avail = <0x200080>;
caps = "MMC_CAP_4_BIT_DATA\0MMC_CAP_MMC_HIGHSPEED\0MMC_CAP_SD_HIGHSPEED\0MMC_CAP_NONREMOVABLE\0MMC_CAP_UHS_SDR12\0MMC_CAP_UHS_SDR25\0MMC_CAP_UHS_SDR50\0MMC_CAP_UHS_SDR104\0MMC_PM_KEEP_POWER\0MMC_CAP_SDIO_IRQ";
f_min = <0x61a80>;
f_max = <0x9f437c0>;
tx_delay = <0x06>;
max_req_size = <0x20000>;
card_type = <0x03>;
};
};
nand {
compatible = "amlogic, aml_nand";
dev_name = "nand";
status = "okay";
reg = <0x00 0xd0074800 0x00 0x200>;
interrupts = <0x00 0x22 0x01>;
pinctrl-names = "nand_rb_mod\0nand_norb_mod\0nand_cs_pins_only";
pinctrl-0 = <0x37 0x38 0x39>;
pinctrl-1 = <0x37 0x38 0x39>;
pinctrl-2 = <0x3a>;
device_id = <0x00>;
plat-names = "nandnormal";
plat-num = <0x01>;
plat-part-0 = <0x3b>;
normal {
enable_pad = "ce0\0ce1\0ce2\0ce3";
busy_pad = "rb0";
linux,phandle = <0x3b>;
phandle = <0x3b>;
};
};
aml_nftl {
compatible = "amlogic, nftl";
};
partitions {
parts = <0x0e>;
part-0 = <0x3c>;
part-1 = <0x3d>;
part-2 = <0x3e>;
part-3 = <0x3f>;
part-4 = <0x40>;
part-5 = <0x41>;
part-6 = <0x42>;
part-7 = <0x43>;
part-8 = <0x44>;
part-9 = <0x45>;
part-10 = <0x46>;
part-11 = <0x47>;
part-12 = <0x48>;
part-13 = <0x49>;
logo {
pname = "logo";
size = <0x00 0x2000000>;
mask = <0x01>;
linux,phandle = <0x3c>;
phandle = <0x3c>;
};
recovery {
pname = "recovery";
size = <0x00 0x2000000>;
mask = <0x01>;
linux,phandle = <0x3d>;
phandle = <0x3d>;
};
rsv {
pname = "rsv";
size = <0x00 0x800000>;
mask = <0x01>;
linux,phandle = <0x3e>;
phandle = <0x3e>;
};
tee {
pname = "tee";
size = <0x00 0x800000>;
mask = <0x01>;
linux,phandle = <0x3f>;
phandle = <0x3f>;
};
crypt {
pname = "crypt";
size = <0x00 0x2000000>;
mask = <0x01>;
linux,phandle = <0x40>;
phandle = <0x40>;
};
misc {
pname = "misc";
size = <0x00 0x2000000>;
mask = <0x01>;
linux,phandle = <0x41>;
phandle = <0x41>;
};
BootFiles {
pname = "BootFiles";
size = <0x00 0x20000000>;
mask = <0x01>;
linux,phandle = <0x42>;
phandle = <0x42>;
};
boot {
pname = "boot";
size = <0x00 0x2000000>;
mask = <0x01>;
linux,phandle = <0x43>;
phandle = <0x43>;
};
system {
pname = "system";
size = <0x00 0x32000000>;
mask = <0x01>;
linux,phandle = <0x44>;
phandle = <0x44>;
};
cache {
pname = "cache";
size = <0x00 0x20000000>;
mask = <0x02>;
linux,phandle = <0x45>;
phandle = <0x45>;
};
ghost {
pname = "ghost";
size = <0x00 0x32000000>;
mask = <0x02>;
linux,phandle = <0x46>;
phandle = <0x46>;
};
info {
pname = "info";
size = <0x00 0x4000000>;
mask = <0x02>;
linux,phandle = <0x47>;
phandle = <0x47>;
};
params {
pname = "params";
size = <0x00 0x4000000>;
mask = <0x02>;
linux,phandle = <0x48>;
phandle = <0x48>;
};
data {
pname = "data";
size = <0xffffffff 0xffffffff>;
mask = <0x04>;
linux,phandle = <0x49>;
phandle = <0x49>;
};
};
unifykey {
compatible = "amlogic, unifykey";
status = "ok";
unifykey-num = <0x0d>;
unifykey-index-0 = <0x4a>;
unifykey-index-1 = <0x4b>;
unifykey-index-2 = <0x4c>;
unifykey-index-3 = <0x4d>;
unifykey-index-4 = <0x4e>;
unifykey-index-5 = <0x4f>;
unifykey-index-6 = <0x50>;
unifykey-index-7 = <0x51>;
unifykey-index-8 = <0x52>;
unifykey-index-9 = <0x53>;
unifykey-index-10 = <0x54>;
unifykey-index-11 = <0x55>;
unifykey-index-12 = <0x56>;
key_0 {
key-name = "usid";
key-device = "normal";
key-permit = "read\0write\0del";
linux,phandle = <0x4a>;
phandle = <0x4a>;
};
key_1 {
key-name = "mac";
key-device = "normal";
key-permit = "read\0write\0del";
linux,phandle = <0x4b>;
phandle = <0x4b>;
};
key_2 {
key-name = "hdcp";
key-device = "secure";
key-type = "sha1";
key-permit = "read\0write\0del";
linux,phandle = <0x4c>;
phandle = <0x4c>;
};
key_3 {
key-name = "secure_boot_set";
key-device = "efuse";
key-permit = "write";
linux,phandle = <0x4d>;
phandle = <0x4d>;
};
key_4 {
key-name = "mac_bt";
key-device = "normal";
key-permit = "read\0write\0del";
key-type = "mac";
linux,phandle = <0x4e>;
phandle = <0x4e>;
};
key_5 {
key-name = "mac_wifi";
key-device = "normal";
key-permit = "read\0write\0del";
key-type = "mac";
linux,phandle = <0x4f>;
phandle = <0x4f>;
};
key_6 {
key-name = "hdcp2_tx";
key-device = "normal";
key-permit = "read\0write\0del";
linux,phandle = <0x50>;
phandle = <0x50>;
};
key_7 {
key-name = "hdcp2_rx";
key-device = "normal";
key-permit = "read\0write\0del";
linux,phandle = <0x51>;
phandle = <0x51>;
};
key_8 {
key-name = "widevinekeybox";
key-device = "secure";
key-type = "sha1";
key-permit = "read\0write\0del";
linux,phandle = <0x52>;
phandle = <0x52>;
};
key_9 {
key-name = "deviceid";
key-device = "normal";
key-permit = "read\0write\0del";
linux,phandle = <0x53>;
phandle = <0x53>;
};
key_10 {
key-name = "hdcp22_fw_private";
key-device = "secure";
key-permit = "read\0write\0del";
linux,phandle = <0x54>;
phandle = <0x54>;
};
key_11 {
key-name = "telecomkeybox";
key-device = "secure";
key-type = "raw";
key-permit = "read\0write\0del";
linux,phandle = <0x55>;
phandle = <0x55>;
};
key_12 {
key-name = "stbid";
key-device = "normal";
key-permit = "read\0write\0del";
linux,phandle = <0x56>;
phandle = <0x56>;
};
};
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\0hdmitx_ddc";
pinctrl-0 = <0x57>;
pinctrl-1 = <0x58>;
vend-data = <0x59>;
interrupts = <0x00 0x39 0x01>;
interrupt-names = "hdmitx_hpd";
clocks = <0x09 0x0b 0x09 0x0c 0x09 0x0d 0x09 0x0e 0x09 0x0f 0x09 0x16>;
clock-names = "hdmitx_clk_sys\0hdmitx_clk_encp\0hdmitx_clk_enci\0hdmitx_clk_pixel\0hdmitx_clk_phy\0hdmitx_clk_vid";
gpio_i2c_en = <0x01>;
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
vend_data {
compatible = "amlogic, amlogic-cec";
status = "okay";
vendor_name = "Amlogic";
vendor_id = <0x00>;
product_desc = "GXBB Mbox";
cec_osd_string = "MBox";
interrupts = <0x00 0xc7 0x01>;
interrupt-names = "hdmitx_cec";
pinctrl-names = "hdmitx_aocec";
pinctrl-0 = <0x5a>;
reg = <0x00 0xc810023c 0x00 0x04 0x00 0xc8100000 0x00 0x200>;
linux,phandle = <0x59>;
phandle = <0x59>;
};
};
tvout {
compatible = "amlogic, tvout";
dev_name = "tvout";
status = "okay";
};
i2c_gpio {
compatible = "i2c-gpio";
status = "okay";
dev_name = "i2c-gpio";
i2c-gpio,delay-us = <0x0a>;
gpios = <0x1a 0x11 0x00 0x1a 0x12 0x00>;
#address-cells = <0x02>;
#size-cells = <0x02>;
i2c-gpio,timeout-ms = <0x0a>;
i2c_gpio_edid {
compatible = "i2c-gpio-edid";
reg = <0x50 0x00 0x00 0x00>;
};
};
serial@c81004c0 {
compatible = "amlogic, meson-uart";
reg = <0x00 0xc81004c0 0x00 0x18>;
interrupts = <0x00 0xc1 0x01>;
status = "okay";
clocks = <0x09 0x02>;
clock-names = "clk_uart";
xtal_tick_en = <0x01>;
fifosize = <0x40>;
pinctrl-names = "default";
support-sysrq = <0x00>;
};
serial@c11084c0 {
compatible = "amlogic, meson-uart";
reg = <0x00 0xc11084c0 0x00 0x18>;
interrupts = <0x00 0x1a 0x01>;
status = "okay";
clocks = <0x09 0x02>;
clock-names = "clk_uart";
fifosize = <0x80>;
pinctrl-names = "default";
pinctrl-0 = <0x5b>;
resets = <0x09 0x0d>;
};
serial@c11084dc {
compatible = "amlogic, meson-uart";
reg = <0x00 0xc11084dc 0x00 0x18>;
interrupts = <0x00 0x4b 0x01>;
status = "disable";
clocks = <0x09 0x02>;
clock-names = "clk_uart";
fifosize = <0x40>;
pinctrl-names = "default";
pinctrl-0 = <0x5c>;
resets = <0x09 0x30>;
};
serial@c1108700 {
compatible = "amlogic, meson-uart";
reg = <0x00 0xc1108700 0x00 0x18>;
interrupts = <0x00 0x5d 0x01>;
status = "disable";
clocks = <0x09 0x02>;
clock-names = "clk_uart";
fifosize = <0x40>;
pinctrl-names = "default";
pinctrl-0 = <0x5d>;
resets = <0x09 0x4f>;
};
serial@c81004e0 {
compatible = "amlogic, meson-uart";
reg = <0x00 0xc81004e0 0x00 0x18>;
interrupts = <0x00 0xc5 0x01>;
status = "disable";
clocks = <0x09 0x02>;
clock-names = "clk_uart";
fifosize = <0x40>;
pinctrl-names = "default";
pinctrl-0 = <0x5e>;
};
canvas {
compatible = "amlogic, meson, canvas";
dev_name = "amlogic-canvas";
status = "ok";
reg = <0x00 0xc8838000 0x00 0x400>;
};
rdma {
compatible = "amlogic, meson, rdma";
dev_name = "amlogic-rdma";
status = "ok";
interrupts = <0x00 0x59 0x01>;
interrupt-names = "rdma";
};
dwc3@c9000000 {
compatible = "synopsys, dwc3";
reg = <0x00 0xc9000000 0x00 0x100000>;
interrupts = <0x00 0x1e 0x04>;
usb-phy = <0x5f 0x60>;
cpu-type = "gxl";
clock-src = "usb3.0";
};
usb2phy@d0078000 {
compatible = "amlogic, amlogic-new-usb2";
portnum = <0x02>;
reg = <0x00 0xd0078000 0x00 0x80>;
linux,phandle = <0x5f>;
phandle = <0x5f>;
};
usb3phy@d0078080 {
compatible = "amlogic, amlogic-new-usb3";
portnum = <0x00>;
reg = <0x00 0xd0078080 0x00 0x20>;
linux,phandle = <0x60>;
phandle = <0x60>;
};
dwc2_a {
compatible = "amlogic,dwc2";
device_name = "dwc2_a";
reg = <0x00 0xc9100000 0x00 0x40000>;
status = "okay";
interrupts = <0x00 0x1f 0x04>;
pl-periph-id = <0x00>;
clock-src = "usb0";
port-id = <0x00>;
port-type = <0x02>;
port-speed = <0x00>;
port-config = <0x00>;
port-dma = <0x00>;
port-id-mode = <0x00>;
usb-fifo = <0x2d8>;
cpu-type = "gxl";
controller-type = <0x01>;
phy-reg = <0xd0078000>;
phy-reg-size = <0xa0>;
resets = <0x09 0x3a 0x09 0x48 0x09 0x36>;
reset-names = "usb_general\0usb1\0usb1_to_ddr";
};
I2S {
#sound-dai-cells = <0x00>;
resets = <0x09 0x26 0x09 0x12 0x09 0x28 0x09 0x29 0x09 0x2a 0x09 0x2b 0x09 0x2c 0x09 0x2d 0x09 0x2f 0x09 0x8e 0x09 0x22>;
reset-names = "top_glue\0aud_buf\0i2s_out\0amclk_measure\0aififo2\0aud_mixer\0mixer_reg\0adc\0top_level\0aoclk\0aud_in";
clocks = <0x09 0x1f 0x09 0x22>;
clock-names = "mpll0\0mclk";
compatible = "amlogic, aml-i2s-dai";
linux,phandle = <0x6c>;
phandle = <0x6c>;
};
SPDIF {
#sound-dai-cells = <0x00>;
compatible = "amlogic, aml-spdif-dai";
resets = <0x09 0x27 0x09 0x90>;
reset-names = "iec958\0iec958_amclk";
clocks = <0x09 0x20 0x09 0x24 0x09 0x22 0x09 0x25 0x09 0x0a>;
clock-names = "mpll1\0i958\0mclk\0spdif\0clk_81";
linux,phandle = <0x6d>;
phandle = <0x6d>;
};
PCM {
#sound-dai-cells = <0x00>;
compatible = "amlogic, aml-pcm-dai";
pinctrl-names = "aml_audio_btpcm";
pinctrl-0 = <0x61>;
linux,phandle = <0x6e>;
phandle = <0x6e>;
};
i2s_platform {
compatible = "amlogic, aml-i2s";
interrupts = <0x00 0x30 0x01 0x00 0x1d 0x01>;
linux,phandle = <0x6a>;
phandle = <0x6a>;
};
pcm_platform {
compatible = "amlogic, aml-pcm";
linux,phandle = <0x6b>;
phandle = <0x6b>;
};
spdif_codec {
#sound-dai-cells = <0x00>;
compatible = "amlogic, aml-spdif-codec";
pinctrl-names = "aml_audio_spdif";
pinctrl-0 = <0x62>;
linux,phandle = <0x70>;
phandle = <0x70>;
};
pcm_codec {
#sound-dai-cells = <0x00>;
compatible = "amlogic, pcm2BT-codec";
linux,phandle = <0x71>;
phandle = <0x71>;
};
dummy {
#sound-dai-cells = <0x00>;
compatible = "amlogic, aml_dummy_codec";
status = "disable";
};
t9015 {
#sound-dai-cells = <0x00>;
compatible = "amlogic, aml_codec_T9015";
reg = <0x00 0xc8832000 0x00 0x14>;
status = "okay";
linux,phandle = <0x6f>;
phandle = <0x6f>;
};
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\0LOUTL\0Ext Spk\0LOUTR";
mute_gpio-gpios = <0x1a 0x15 0x00>;
mute_inv;
hp_disable;
sleep_time = <0x12c>;
hp_paraments = <0x320 0x12c 0x00 0x05 0x01>;
pinctrl-names = "aml_snd_m8";
pinctrl-0 = <0x63>;
cpu_list = <0x64 0x65 0x66>;
codec_list = <0x67 0x68 0x69>;
plat_list = <0x6a 0x6a 0x6b>;
cpudai0 {
sound-dai = <0x6c>;
linux,phandle = <0x64>;
phandle = <0x64>;
};
cpudai1 {
sound-dai = <0x6d>;
linux,phandle = <0x65>;
phandle = <0x65>;
};
cpudai2 {
sound-dai = <0x6e>;
linux,phandle = <0x66>;
phandle = <0x66>;
};
codec0 {
sound-dai = <0x6f>;
linux,phandle = <0x67>;
phandle = <0x67>;
};
codec1 {
sound-dai = <0x70>;
linux,phandle = <0x68>;
phandle = <0x68>;
};
codec2 {
sound-dai = <0x71>;
linux,phandle = <0x69>;
phandle = <0x69>;
};
};
ledlight {
compatible = "amlogic, ledlight";
dev_name = "ledlight";
status = "okay";
power_gpio_0 = <0x72>;
ir_gpio_0 = <0x73>;
gpio_rg {
led_name = "power_led";
led_gpio = <0x1a 0x49 0x00>;
led_active = <0x01>;
led_type = "R&G";
linux,phandle = <0x72>;
phandle = <0x72>;
};
gpio_b {
led_name = "ir_led";
led_gpio = <0x1a 0x49 0x00>;
led_active = <0x00>;
led_type = "B";
linux,phandle = <0x73>;
phandle = <0x73>;
};
};
amlogic_thermals {
compatible = "amlogic, amlogic-thermal";
#thermal-cells = <0x07>;
dev_name = "aml_thermal";
status = "okay";
trip_point = <0x46 0x177001 0x177001 0x1ff 0x1ff 0x03 0x02 0x50 0x13c681 0x13c681 0x1b3 0x1b3 0x02 0x01 0x5a 0xfbf41 0xfbf41 0x148 0x148 0x02 0x01 0x104 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff>;
cpu_cali_a = <0x00>;
idle_interval = <0x3e8>;
keep_mode;
keep_mode_threshold = <0x55>;
keep_mode_max_range = <0x1ec300 0x29a 0x04 0x02>;
keep_mode_min_range = <0xf4240 0x190 0x02 0x01 0xa2d78 0x190 0x01 0x01>;
};
};