blob: 655c01e0979d6353c919389ab27ff958cfcf79a7 [file] [log] [blame]
/dts-v1/;
/ {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "khadas,vim3\0amlogic,a311d\0amlogic,g12b";
interrupt-parent = <0x01>;
model = "Khadas VIM3";
serial-number = "06ECB1E62CB2";
__symbols__ {
acodec = "/soc/bus@ff600000/audio-controller@32000";
ao_pinctrl = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14";
aobus = "/soc/bus@ff800000";
apb = "/soc/bus@ff600000";
apb_efuse = "/soc/bus@ff600000/bus@30000";
arb = "/soc/bus@ff600000/bus@42000/reset-controller@280";
audio = "/soc/bus@ff600000/bus@42000";
brcmf = "/soc/sd@ffe03000/wifi@1";
canvas = "/soc/bus@ff600000/bus@38000/video-lut@48";
cbus = "/soc/bus@ffd00000";
cec_AO = "/soc/bus@ff800000/cec@100";
cec_ao_a_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/cec_ao_a_h";
cec_ao_b_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/cec_ao_b_h";
cecb_AO = "/soc/bus@ff800000/cec@280";
clk_msr = "/soc/bus@ffd00000/clock-measure@18000";
clkc = "/soc/bus@ff600000/bus@3c000/system-controller@0/clock-controller";
clkc_AO = "/soc/bus@ff800000/sys-ctrl@0/clock-controller";
clkc_audio = "/soc/bus@ff600000/bus@42000/clock-controller@0";
cpu0 = "/cpus/cpu@0";
cpu1 = "/cpus/cpu@1";
cpu100 = "/cpus/cpu@100";
cpu101 = "/cpus/cpu@101";
cpu102 = "/cpus/cpu@102";
cpu103 = "/cpus/cpu@103";
cpu_active = "/soc/thermal-zones/cpu-thermal/trips/cpu-active";
cpu_critical = "/soc/thermal-zones/cpu-thermal/trips/cpu-critical";
cpu_hot = "/soc/thermal-zones/cpu-thermal/trips/cpu-hot";
cpu_opp_table_0 = "/opp-table-0";
cpu_passive = "/soc/thermal-zones/cpu-thermal/trips/cpu-passive";
cpu_temp = "/soc/bus@ff600000/temperature-sensor@34800";
cpu_thermal = "/soc/thermal-zones/cpu-thermal";
cpub_opp_table_1 = "/opp-table-1";
cvbs_vdac_port = "/soc/vpu@ff900000/port@0";
dc_in = "/regulator-dc_in";
ddr_critical = "/soc/thermal-zones/ddr-thermal/trips/ddr-critical";
ddr_passive = "/soc/thermal-zones/ddr-thermal/trips/ddr-passive";
ddr_temp = "/soc/bus@ff600000/temperature-sensor@34c00";
ddr_thermal = "/soc/thermal-zones/ddr-thermal";
dmc = "/soc/bus@ff600000/bus@38000";
dwc2 = "/soc/usb@ffe09000/usb@ff400000";
dwc3 = "/soc/usb@ffe09000/usb@ff500000";
efuse = "/efuse";
emmc_1v8 = "/regulator-emmc_1v8";
emmc_clk_gate_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc_clk_gate";
emmc_ctrl_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-ctrl";
emmc_data_4b_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-data-4b";
emmc_data_8b_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-data-8b";
emmc_ds_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/emmc-ds";
emmc_pwrseq = "/emmc-pwrseq";
eth_leds_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/eth-leds";
eth_phy = "/soc/bus@ff600000/mdio-multiplexer@4c000";
eth_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/eth";
eth_rgmii_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/eth-rgmii";
ethmac = "/soc/ethernet@ff3f0000";
ext_mdio = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@0";
external_phy = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@0/ethernet-phy@0";
frddr_a = "/soc/bus@ff600000/bus@42000/audio-controller@1c0";
frddr_b = "/soc/bus@ff600000/bus@42000/audio-controller@200";
frddr_c = "/soc/bus@ff600000/bus@42000/audio-controller@240";
gic = "/soc/interrupt-controller@ffc01000";
gpio = "/soc/bus@ff600000/bus@34400/pinctrl@40/bank@40";
gpio_ao = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/bank@14";
gpio_expander = "/soc/bus@ff800000/i2c@5000/gpio-controller@20";
gpio_intc = "/soc/bus@ffd00000/interrupt-controller@f080";
gpu_opp_table = "/opp-table-gpu";
hdmi_connector_in = "/hdmi-connector/port/endpoint";
hdmi_tx = "/soc/bus@ff600000/hdmi-tx@0";
hdmi_tx_in = "/soc/bus@ff600000/hdmi-tx@0/port@0/endpoint";
hdmi_tx_out = "/soc/vpu@ff900000/port@1/endpoint";
hdmi_tx_port = "/soc/vpu@ff900000/port@1";
hdmi_tx_tmds_out = "/soc/bus@ff600000/hdmi-tx@0/port@1/endpoint";
hdmi_tx_tmds_port = "/soc/bus@ff600000/hdmi-tx@0/port@1";
hdmi_tx_venc_port = "/soc/bus@ff600000/hdmi-tx@0/port@0";
hdmitx_ddc_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/hdmitx_ddc";
hdmitx_hpd_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/hdmitx_hpd";
hhi = "/soc/bus@ff600000/bus@3c000/system-controller@0";
hiu = "/soc/bus@ff600000/bus@3c000";
hwrng = "/soc/bus@ff600000/bus@30000/rng@218";
i2c0 = "/soc/bus@ffd00000/i2c@1f000";
i2c0_sck_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sck-c";
i2c0_sck_z1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sck-z1";
i2c0_sda_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-c";
i2c0_sda_z0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-z0";
i2c0_sda_z7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-z7";
i2c0_sda_z8_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c0-sda-z8";
i2c1 = "/soc/bus@ffd00000/i2c@1e000";
i2c1_sck_h3_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sck-h3";
i2c1_sck_h7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sck-h7";
i2c1_sck_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sck-x";
i2c1_sda_h2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sda-h2";
i2c1_sda_h6_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sda-h6";
i2c1_sda_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c1-sda-x";
i2c2 = "/soc/bus@ffd00000/i2c@1d000";
i2c2_sck_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sck-x";
i2c2_sck_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sck-z";
i2c2_sda_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sda-x";
i2c2_sda_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c2-sda-z";
i2c3 = "/soc/bus@ffd00000/i2c@1c000";
i2c3_sck_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sck-a";
i2c3_sck_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sck-h";
i2c3_sda_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sda-a";
i2c3_sda_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/i2c3-sda-h";
i2c_AO = "/soc/bus@ff800000/i2c@5000";
i2c_ao_sck_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sck_e";
i2c_ao_sck_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sck_pins";
i2c_ao_sda_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sda_e";
i2c_ao_sda_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/i2c_ao_sda";
int_mdio = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@1";
internal_ephy = "/soc/bus@ff600000/mdio-multiplexer@4c000/mdio@1/ethernet_phy@8";
ir = "/soc/bus@ff800000/ir@8000";
khadas_mcu = "/soc/bus@ff800000/i2c@5000/system-controller@18";
l2 = "/cpus/l2-cache0";
mali = "/soc/gpu@ffe40000";
mclk0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk0-a";
mclk0_ao_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/mclk0-ao";
mclk1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk1-a";
mclk1_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk1-x";
mclk1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/mclk1-z";
mdio0 = "/soc/ethernet@ff3f0000/mdio";
nor_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/nor";
pcie = "/soc/pcie@fc000000";
pdm = "/soc/bus@ff600000/audio-controller@40000";
pdm_dclk_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-a";
pdm_dclk_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-c";
pdm_dclk_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-x";
pdm_dclk_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-dclk-z";
pdm_din0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-a";
pdm_din0_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-c";
pdm_din0_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-x";
pdm_din0_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din0-z";
pdm_din1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-a";
pdm_din1_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-c";
pdm_din1_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-x";
pdm_din1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din1-z";
pdm_din2_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-a";
pdm_din2_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-c";
pdm_din2_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-x";
pdm_din2_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din2-z";
pdm_din3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-a";
pdm_din3_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-c";
pdm_din3_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-x";
pdm_din3_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pdm-din3-z";
periphs = "/soc/bus@ff600000/bus@34400";
periphs_pinctrl = "/soc/bus@ff600000/bus@34400/pinctrl@40";
pwm_AO_ab = "/soc/bus@ff800000/pwm@7000";
pwm_AO_cd = "/soc/bus@ff800000/pwm@2000";
pwm_a_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-a-e";
pwm_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-a";
pwm_ab = "/soc/bus@ffd00000/pwm@1b000";
pwm_ao_a_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-a";
pwm_ao_b_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-b";
pwm_ao_c_4_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-c-4";
pwm_ao_c_6_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-c-6";
pwm_ao_d_10_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-d-10";
pwm_ao_d_5_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-d-5";
pwm_ao_d_e_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/pwm-ao-d-e";
pwm_b_x19_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-b-x19";
pwm_b_x7_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-b-x7";
pwm_c_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-c";
pwm_c_x5_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-x5";
pwm_c_x8_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-c-x8";
pwm_cd = "/soc/bus@ffd00000/pwm@1a000";
pwm_d_x3_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-d-x3";
pwm_d_x6_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-d-x6";
pwm_e_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-e";
pwm_ef = "/soc/bus@ffd00000/pwm@19000";
pwm_f_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-f-h";
pwm_f_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/pwm-f-x";
pwrc = "/soc/bus@ff600000/bus@3c000/system-controller@0/power-controller";
remote_input_ao_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/remote-input-ao";
reset = "/soc/bus@ffd00000/reset-controller@1004";
rti = "/soc/bus@ff800000/sys-ctrl@0";
saradc = "/soc/bus@ff800000/adc@9000";
sd_emmc_a = "/soc/sd@ffe03000";
sd_emmc_b = "/soc/sd@ffe05000";
sd_emmc_c = "/soc/mmc@ffe07000";
sdcard_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_c";
sdcard_clk_gate_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_clk_gate_c";
sdcard_clk_gate_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_clk_gate_z";
sdcard_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdcard_z";
sdio_clk_gate_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdio_clk_gate";
sdio_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/sdio";
sdio_pwrseq = "/sdio-pwrseq";
sec_AO = "/soc/bus@ff800000/ao-secure@140";
secmon_reserved = "/reserved-memory/secmon@5000000";
secmon_reserved_bl32 = "/reserved-memory/secmon@5300000";
simplefb_cvbs = "/chosen/framebuffer-cvbs";
simplefb_hdmi = "/chosen/framebuffer-hdmi";
sm = "/secure-monitor";
spdif_ao_out_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/spdif-ao-out";
spdif_in_a10_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-in-a10";
spdif_in_a12_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-in-a12";
spdif_in_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-in-h";
spdif_out_a11_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-out-a11";
spdif_out_a13_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-out-a13";
spdif_out_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spdif-out-h";
spdifin = "/soc/bus@ff600000/bus@42000/audio-controller@400";
spdifout = "/soc/bus@ff600000/bus@42000/audio-controller@480";
spdifout_b = "/soc/bus@ff600000/bus@42000/audio-controller@680";
spicc0 = "/soc/bus@ffd00000/spi@13000";
spicc0_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc0-c";
spicc0_ss0_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc0-ss0-x";
spicc0_x_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc0-x";
spicc1 = "/soc/bus@ffd00000/spi@15000";
spicc1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc1";
spicc1_ss0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/spicc1-ss0";
spifc = "/soc/bus@ffd00000/spi@14000";
tdm_a_din0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-din0";
tdm_a_din1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-din1";
tdm_a_dout0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-dout0";
tdm_a_dout1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-dout1";
tdm_a_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-fs";
tdm_a_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-sclk";
tdm_a_slv_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-slv-fs";
tdm_a_slv_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-a-slv-sclk";
tdm_ao_b_din0_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-din0";
tdm_ao_b_din1_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-din1";
tdm_ao_b_din2_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-din2";
tdm_ao_b_dout0_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-dout0";
tdm_ao_b_dout1_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-dout1";
tdm_ao_b_dout2_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-dout2";
tdm_ao_b_fs_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-fs";
tdm_ao_b_sclk_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-sclk";
tdm_ao_b_slv_fs_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-slv-fs";
tdm_ao_b_slv_sclk_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/tdm-ao-b-slv-sclk";
tdm_b_din0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din0";
tdm_b_din1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din1";
tdm_b_din2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din2";
tdm_b_din3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din3-a";
tdm_b_din3_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-din3-h";
tdm_b_dout0_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout0";
tdm_b_dout1_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout1";
tdm_b_dout2_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout2";
tdm_b_dout3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout3-a";
tdm_b_dout3_h_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-dout3-h";
tdm_b_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-fs";
tdm_b_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-sclk";
tdm_b_slv_fs_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-slv-fs";
tdm_b_slv_sclk_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-b-slv-sclk";
tdm_c_din0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din0-a";
tdm_c_din0_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din0-z";
tdm_c_din1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din1-a";
tdm_c_din1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din1-z";
tdm_c_din2_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din2-a";
tdm_c_din2_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din2-z";
tdm_c_din3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din3-a";
tdm_c_din3_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-din3-z";
tdm_c_dout0_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout0-a";
tdm_c_dout0_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout0-z";
tdm_c_dout1_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout1-a";
tdm_c_dout1_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout1-z";
tdm_c_dout2_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout2-a";
tdm_c_dout2_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout2-z";
tdm_c_dout3_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout3-a";
tdm_c_dout3_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-dout3-z";
tdm_c_fs_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-fs-a";
tdm_c_fs_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-fs-z";
tdm_c_sclk_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-sclk-a";
tdm_c_sclk_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-sclk-z";
tdm_c_slv_fs_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-fs-a";
tdm_c_slv_fs_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-fs-z";
tdm_c_slv_sclk_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-sclk-a";
tdm_c_slv_sclk_z_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/tdm-c-slv-sclk-z";
tdmif_a = "/audio-controller-0";
tdmif_b = "/audio-controller-1";
tdmif_c = "/audio-controller-2";
tdmin_a = "/soc/bus@ff600000/bus@42000/audio-controller@300";
tdmin_b = "/soc/bus@ff600000/bus@42000/audio-controller@340";
tdmin_c = "/soc/bus@ff600000/bus@42000/audio-controller@380";
tdmin_lb = "/soc/bus@ff600000/bus@42000/audio-controller@3c0";
tdmout_a = "/soc/bus@ff600000/bus@42000/audio-controller@500";
tdmout_b = "/soc/bus@ff600000/bus@42000/audio-controller@540";
tdmout_c = "/soc/bus@ff600000/bus@42000/audio-controller@580";
toacodec = "/soc/bus@ff600000/bus@42000/audio-controller@740";
toddr_a = "/soc/bus@ff600000/bus@42000/audio-controller@100";
toddr_b = "/soc/bus@ff600000/bus@42000/audio-controller@140";
toddr_c = "/soc/bus@ff600000/bus@42000/audio-controller@180";
tohdmitx = "/soc/bus@ff600000/bus@42000/audio-controller@744";
uart_A = "/soc/bus@ffd00000/serial@24000";
uart_AO = "/soc/bus@ff800000/serial@3000";
uart_AO_B = "/soc/bus@ff800000/serial@4000";
uart_B = "/soc/bus@ffd00000/serial@23000";
uart_C = "/soc/bus@ffd00000/serial@22000";
uart_a_cts_rts_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-a-cts-rts";
uart_a_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-a";
uart_ao_a_cts_rts_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/uart-ao-a-cts-rts";
uart_ao_a_pins = "/soc/bus@ff800000/sys-ctrl@0/pinctrl@14/uart-a-ao";
uart_b_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-b";
uart_c_cts_rts_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-c-cts-rts";
uart_c_pins = "/soc/bus@ff600000/bus@34400/pinctrl@40/uart-c";
usb = "/soc/usb@ffe09000";
usb2_phy0 = "/soc/bus@ff600000/phy@36000";
usb2_phy1 = "/soc/bus@ff600000/phy@3a000";
usb3_pcie_phy = "/soc/bus@ff600000/phy@46000";
usb_pwr = "/regulator-usb_pwr";
vcc_1v8 = "/regulator-vcc_1v8";
vcc_3v3 = "/regulator-vcc_3v3";
vcc_5v = "/regulator-vcc_5v";
vddao_1v8 = "/regulator-vddao_1v8";
vddcpu_a = "/regulator-vddcpu-a";
vddcpu_b = "/regulator-vddcpu-b";
vdec = "/soc/video-decoder@ff620000";
vpu = "/soc/vpu@ff900000";
vrtc = "/soc/bus@ff800000/rtc@0a8";
vsys_3v3 = "/regulator-vsys_3v3";
w25q128 = "/soc/bus@ffd00000/spi@14000/spi-flash@0";
wifi32k = "/wifi32k";
xtal = "/xtal-clk";
};
adc-keys {
compatible = "adc-keys";
io-channel-names = "buttons";
io-channels = <0x50 0x02>;
keyup-threshold-microvolt = <0x1a17b0>;
button-function {
label = "Function";
linux,code = <0x1d0>;
press-threshold-microvolt = <0x2710>;
};
};
aliases {
ethernet0 = "/soc/ethernet@ff3f0000";
mmc0 = "/soc/sd@ffe05000";
mmc1 = "/soc/mmc@ffe07000";
mmc2 = "/soc/sd@ffe03000";
serial0 = "/soc/bus@ff800000/serial@3000";
};
audio-controller-0 {
#sound-dai-cells = <0x00>;
clock-names = "mclk\0sclk\0lrclk";
clocks = <0x26 0x31 0x26 0x4f 0x26 0x56>;
compatible = "amlogic,axg-tdm-iface";
phandle = <0x58>;
sound-name-prefix = "TDM_A";
status = "okay";
};
audio-controller-1 {
#sound-dai-cells = <0x00>;
clock-names = "mclk\0sclk\0lrclk";
clocks = <0x26 0x32 0x26 0x50 0x26 0x57>;
compatible = "amlogic,axg-tdm-iface";
phandle = <0x132>;
sound-name-prefix = "TDM_B";
status = "disabled";
};
audio-controller-2 {
#sound-dai-cells = <0x00>;
clock-names = "mclk\0sclk\0lrclk";
clocks = <0x26 0x33 0x26 0x51 0x26 0x58>;
compatible = "amlogic,axg-tdm-iface";
phandle = <0x133>;
sound-name-prefix = "TDM_C";
status = "disabled";
};
chosen {
#address-cells = <0x02>;
#size-cells = <0x02>;
bootargs = " androidboot.verifiedbootstate=orange androidboot.dtbo_idx=3 androidboot.serialno=06ECB1E62CB2 no_console_suspend console=ttyAML0,115200 earlycon printk.devkmsg=on androidboot.boot_devices=soc/ffe07000.mmc init=/init firmware_class.path=/vendor/firmware androidboot.hardware=yukawa androidboot.selinux=permissive";
linux,initrd-end = <0x00 0x7ffff5d7>;
linux,initrd-start = <0x00 0x7fe4d000>;
ranges;
stdout-path = "serial0:115200n8";
framebuffer-hdmi {
amlogic,pipeline = "vpu-hdmi";
clocks = <0x02 0xa8 0x02 0x35 0x02 0x3a>;
compatible = "amlogic,simple-framebuffer\0simple-framebuffer";
phandle = <0x5e>;
power-domains = <0x03 0x00>;
status = "disabled";
};
framebuffer@f4e5b000 {
amlogic,pipeline = "vpu-cvbs";
clocks = <0x02 0xa8 0x02 0x35 0x02 0x3a>;
compatible = "amlogic,simple-framebuffer\0simple-framebuffer";
format = "x8r8g8b8";
height = <0x240>;
phandle = <0x5d>;
power-domains = <0x03 0x00>;
reg = <0x00 0xf4e5b000 0x00 0x195000>;
status = "okay";
stride = <0xb40>;
width = <0x2d0>;
};
};
cpus {
#address-cells = <0x02>;
#size-cells = <0x00>;
cpu-map {
cluster0 {
core0 {
cpu = <0x0a>;
};
core1 {
cpu = <0x0b>;
};
};
cluster1 {
core0 {
cpu = <0x0c>;
};
core1 {
cpu = <0x0d>;
};
core2 {
cpu = <0x0e>;
};
core3 {
cpu = <0x0f>;
};
};
};
cpu@0 {
#cooling-cells = <0x02>;
capacity-dmips-mhz = <0x250>;
clock-latency = <0xc350>;
clocks = <0x02 0xbb>;
compatible = "arm,cortex-a53";
cpu-supply = <0x4c>;
device_type = "cpu";
enable-method = "psci";
next-level-cache = <0x4b>;
operating-points-v2 = <0x4d>;
phandle = <0x0a>;
reg = <0x00 0x00>;
};
cpu@1 {
#cooling-cells = <0x02>;
capacity-dmips-mhz = <0x250>;
clock-latency = <0xc350>;
clocks = <0x02 0xbb>;
compatible = "arm,cortex-a53";
cpu-supply = <0x4c>;
device_type = "cpu";
enable-method = "psci";
next-level-cache = <0x4b>;
operating-points-v2 = <0x4d>;
phandle = <0x0b>;
reg = <0x00 0x01>;
};
cpu@100 {
#cooling-cells = <0x02>;
capacity-dmips-mhz = <0x400>;
clock-latency = <0xc350>;
clocks = <0x02 0xe0>;
compatible = "arm,cortex-a73";
cpu-supply = <0x4e>;
device_type = "cpu";
enable-method = "psci";
next-level-cache = <0x4b>;
operating-points-v2 = <0x4f>;
phandle = <0x0c>;
reg = <0x00 0x100>;
};
cpu@101 {
#cooling-cells = <0x02>;
capacity-dmips-mhz = <0x400>;
clock-latency = <0xc350>;
clocks = <0x02 0xe0>;
compatible = "arm,cortex-a73";
cpu-supply = <0x4e>;
device_type = "cpu";
enable-method = "psci";
next-level-cache = <0x4b>;
operating-points-v2 = <0x4f>;
phandle = <0x0d>;
reg = <0x00 0x101>;
};
cpu@102 {
#cooling-cells = <0x02>;
capacity-dmips-mhz = <0x400>;
clock-latency = <0xc350>;
clocks = <0x02 0xe0>;
compatible = "arm,cortex-a73";
cpu-supply = <0x4e>;
device_type = "cpu";
enable-method = "psci";
next-level-cache = <0x4b>;
operating-points-v2 = <0x4f>;
phandle = <0x0e>;
reg = <0x00 0x102>;
};
cpu@103 {
#cooling-cells = <0x02>;
capacity-dmips-mhz = <0x400>;
clock-latency = <0xc350>;
clocks = <0x02 0xe0>;
compatible = "arm,cortex-a73";
cpu-supply = <0x4e>;
device_type = "cpu";
enable-method = "psci";
next-level-cache = <0x4b>;
operating-points-v2 = <0x4f>;
phandle = <0x0f>;
reg = <0x00 0x103>;
};
l2-cache0 {
compatible = "cache";
phandle = <0x4b>;
};
};
efuse {
#address-cells = <0x01>;
#size-cells = <0x01>;
clocks = <0x02 0x6a>;
compatible = "amlogic,meson-gxbb-efuse";
phandle = <0x5f>;
read-only;
secure-monitor = <0x04>;
};
emmc-pwrseq {
compatible = "mmc-pwrseq-emmc";
phandle = <0x46>;
reset-gpios = <0x07 0x25 0x01>;
status = "okay";
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
poll-interval = <0x64>;
power-button {
gpios = <0x51 0x07 0x01>;
label = "power";
linux,code = <0x74>;
};
};
hdmi-connector {
compatible = "hdmi-connector";
type = "a";
port {
endpoint {
phandle = <0x1d>;
remote-endpoint = <0x53>;
};
};
};
leds {
compatible = "gpio-leds";
led-red {
gpios = <0x52 0x05 0x00>;
label = "vim3:red";
};
led-white {
gpios = <0x51 0x04 0x00>;
label = "vim3:white:sys";
linux,default-trigger = "heartbeat";
};
};
memory@0 {
device_type = "memory";
reg = <0x00 0x00 0x00 0xf4e5b000>;
};
opp-table-0 {
compatible = "operating-points-v2";
opp-shared;
phandle = <0x4d>;
opp-1000000000 {
opp-hz = <0x00 0x3b9aca00>;
opp-microvolt = <0xb9ca8>;
};
opp-1200000000 {
opp-hz = <0x00 0x47868c00>;
opp-microvolt = <0xbeac8>;
};
opp-1398000000 {
opp-hz = <0x00 0x5353c980>;
opp-microvolt = <0xc5ff8>;
};
opp-1512000000 {
opp-hz = <0x00 0x5a1f4a00>;
opp-microvolt = <0xd2348>;
};
opp-1608000000 {
opp-hz = <0x00 0x5fd82200>;
opp-microvolt = <0xdbf88>;
};
opp-1704000000 {
opp-hz = <0x00 0x6590fa00>;
opp-microvolt = <0xe82d8>;
};
opp-1800000000 {
opp-hz = <0x00 0x6b49d200>;
opp-microvolt = <0xf4628>;
};
};
opp-table-1 {
compatible = "operating-points-v2";
opp-shared;
phandle = <0x4f>;
opp-1000000000 {
opp-hz = <0x00 0x3b9aca00>;
opp-microvolt = <0xb2778>;
};
opp-1200000000 {
opp-hz = <0x00 0x47868c00>;
opp-microvolt = <0xb7598>;
};
opp-1398000000 {
opp-hz = <0x00 0x5353c980>;
opp-microvolt = <0xbc3b8>;
};
opp-1512000000 {
opp-hz = <0x00 0x5a1f4a00>;
opp-microvolt = <0xbc3b8>;
};
opp-1608000000 {
opp-hz = <0x00 0x5fd82200>;
opp-microvolt = <0xbeac8>;
};
opp-1704000000 {
opp-hz = <0x00 0x6590fa00>;
opp-microvolt = <0xc11d8>;
};
opp-1800000000 {
opp-hz = <0x00 0x6b49d200>;
opp-microvolt = <0xcae18>;
};
opp-1908000000 {
opp-hz = <0x00 0x71b9c500>;
opp-microvolt = <0xd2348>;
};
opp-2016000000 {
opp-hz = <0x00 0x7829b800>;
opp-microvolt = <0xde698>;
};
opp-2108000000 {
opp-hz = <0x00 0x7da58700>;
opp-microvolt = <0xe82d8>;
};
opp-2208000000 {
opp-hz = <0x00 0x839b6800>;
opp-microvolt = <0xf6d38>;
};
};
opp-table-gpu {
compatible = "operating-points-v2";
phandle = <0x4a>;
opp-124999998 {
opp-hz = <0x00 0x773593e>;
opp-microvolt = "\0\f5";
};
opp-249999996 {
opp-hz = <0x00 0xee6b27c>;
opp-microvolt = "\0\f5";
};
opp-285714281 {
opp-hz = <0x00 0x1107a769>;
opp-microvolt = "\0\f5";
};
opp-399999994 {
opp-hz = <0x00 0x17d783fa>;
opp-microvolt = "\0\f5";
};
opp-499999992 {
opp-hz = <0x00 0x1dcd64f8>;
opp-microvolt = "\0\f5";
};
opp-666666656 {
opp-hz = <0x00 0x27bc86a0>;
opp-microvolt = "\0\f5";
};
opp-799999987 {
opp-hz = <0x00 0x2faf07f3>;
opp-microvolt = "\0\f5";
};
};
psci {
compatible = "arm,psci-1.0";
method = "smc";
};
regulator-dc_in {
compatible = "regulator-fixed";
phandle = <0x21>;
regulator-always-on;
regulator-max-microvolt = <0x4c4b40>;
regulator-min-microvolt = <0x4c4b40>;
regulator-name = "DC_IN";
};
regulator-emmc_1v8 {
compatible = "regulator-fixed";
phandle = <0x47>;
regulator-always-on;
regulator-max-microvolt = <0x1b7740>;
regulator-min-microvolt = <0x1b7740>;
regulator-name = "EMMC_AO1V8";
vin-supply = <0x31>;
};
regulator-usb_pwr {
compatible = "regulator-fixed";
enable-active-high;
gpio = <0x07 0x37 0x00>;
phandle = <0x22>;
regulator-max-microvolt = <0x4c4b40>;
regulator-min-microvolt = <0x4c4b40>;
regulator-name = "USB_PWR";
vin-supply = <0x1b>;
};
regulator-vcc_1v8 {
compatible = "regulator-fixed";
phandle = <0x134>;
regulator-always-on;
regulator-max-microvolt = <0x1b7740>;
regulator-min-microvolt = <0x1b7740>;
regulator-name = "VCC_1V8";
vin-supply = <0x31>;
};
regulator-vcc_3v3 {
compatible = "regulator-fixed";
phandle = <0x31>;
regulator-always-on;
regulator-max-microvolt = <0x325aa0>;
regulator-min-microvolt = <0x325aa0>;
regulator-name = "VCC_3V3";
vin-supply = <0x3f>;
};
regulator-vcc_5v {
compatible = "regulator-fixed";
enable-active-high;
gpio = <0x07 0x18 0x06>;
gpio-open-drain;
phandle = <0x1b>;
regulator-max-microvolt = <0x4c4b40>;
regulator-min-microvolt = <0x4c4b40>;
regulator-name = "VCC_5V";
vin-supply = <0x21>;
};
regulator-vddao_1v8 {
compatible = "regulator-fixed";
phandle = <0x33>;
regulator-always-on;
regulator-max-microvolt = <0x1b7740>;
regulator-min-microvolt = <0x1b7740>;
regulator-name = "VDDIO_AO1V8";
vin-supply = <0x3f>;
};
regulator-vddcpu-a {
compatible = "pwm-regulator";
phandle = <0x4e>;
pwm-dutycycle-range = <0x64 0x00>;
pwm-supply = <0x21>;
pwms = <0x5b 0x00 0x4e2 0x00>;
regulator-always-on;
regulator-boot-on;
regulator-max-microvolt = <0x100590>;
regulator-min-microvolt = <0xa8750>;
regulator-name = "VDDCPU_A";
};
regulator-vddcpu-b {
compatible = "pwm-regulator";
phandle = <0x4c>;
pwm-dutycycle-range = <0x64 0x00>;
pwm-supply = <0x3f>;
pwms = <0x5c 0x01 0x4e2 0x00>;
regulator-always-on;
regulator-boot-on;
regulator-max-microvolt = <0x100590>;
regulator-min-microvolt = <0xa8750>;
regulator-name = "VDDCPU_B";
};
regulator-vsys_3v3 {
compatible = "regulator-fixed";
phandle = <0x3f>;
regulator-always-on;
regulator-max-microvolt = <0x325aa0>;
regulator-min-microvolt = <0x325aa0>;
regulator-name = "VSYS_3V3";
vin-supply = <0x21>;
};
reserved-memory {
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
linux,cma {
alignment = <0x00 0x400000>;
compatible = "shared-dma-pool";
linux,cma-default;
reusable;
size = <0x00 0x10000000>;
};
ramoops@d000000 {
compatible = "ramoops";
console-size = <0x8000>;
ftrace-size = <0x00>;
pmsg-size = <0x8000>;
record-size = <0x8000>;
reg = <0x00 0xd000000 0x00 0x100000>;
};
secmon@5000000 {
no-map;
phandle = <0x60>;
reg = <0x00 0x5000000 0x00 0x300000>;
};
secmon@5300000 {
no-map;
phandle = <0x61>;
reg = <0x00 0x5300000 0x00 0x2000000>;
};
};
sdio-pwrseq {
clock-names = "ext_clock";
clocks = <0x3b>;
compatible = "mmc-pwrseq-simple";
phandle = <0x3e>;
reset-gpios = <0x07 0x47 0x01>;
};
secure-monitor {
compatible = "amlogic,meson-gxbb-sm";
phandle = <0x04>;
};
soc {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "simple-bus";
ranges;
bus@ff600000 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "simple-bus";
phandle = <0x68>;
ranges = <0x00 0x00 0x00 0xff600000 0x00 0x200000>;
reg = <0x00 0xff600000 0x00 0x200000>;
audio-controller@32000 {
#sound-dai-cells = <0x00>;
clock-names = "pclk";
clocks = <0x02 0x24>;
compatible = "amlogic,t9015";
phandle = <0x6d>;
reg = <0x00 0x32000 0x00 0x14>;
resets = <0x05 0x3d>;
sound-name-prefix = "ACODEC";
status = "disabled";
};
audio-controller@40000 {
#sound-dai-cells = <0x00>;
clock-names = "pclk\0dclk\0sysclk";
clocks = <0x26 0x1e 0x26 0x39 0x26 0x3a>;
compatible = "amlogic,g12a-pdm\0amlogic,axg-pdm";
phandle = <0xec>;
reg = <0x00 0x40000 0x00 0x34>;
resets = <0x26 0x00>;
sound-name-prefix = "PDM";
status = "disabled";
};
bus@30000 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "simple-bus";
phandle = <0x6b>;
ranges = <0x00 0x00 0x00 0x30000 0x00 0x2000>;
reg = <0x00 0x30000 0x00 0x2000>;
rng@218 {
clock-names = "core";
clocks = <0x02 0x1b>;
compatible = "amlogic,meson-rng";
phandle = <0x6c>;
reg = <0x00 0x218 0x00 0x04>;
};
};
bus@34400 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "simple-bus";
phandle = <0x6e>;
ranges = <0x00 0x00 0x00 0x34400 0x00 0x400>;
reg = <0x00 0x34400 0x00 0x400>;
pinctrl@40 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "amlogic,meson-g12a-periphs-pinctrl";
phandle = <0x1e>;
ranges;
bank@40 {
#gpio-cells = <0x02>;
gpio-controller;
gpio-ranges = <0x1e 0x00 0x00 0x56>;
phandle = <0x07>;
reg = <0x00 0x40 0x00 0x4c 0x00 0xe8 0x00 0x18 0x00 0x120 0x00 0x18 0x00 0x2c0 0x00 0x40 0x00 0x340 0x00 0x1c>;
reg-names = "gpio\0pull\0pull-enable\0mux\0ds";
};
cec_ao_a_h {
phandle = <0x2a>;
mux {
bias-disable;
function = "cec_ao_a_h";
groups = "cec_ao_a_h";
};
};
cec_ao_b_h {
phandle = <0x2c>;
mux {
bias-disable;
function = "cec_ao_b_h";
groups = "cec_ao_b_h";
};
};
emmc-ctrl {
phandle = <0x42>;
mux-0 {
bias-pull-up;
drive-strength-microamp = <0xfa0>;
function = "emmc";
groups = "emmc_cmd";
};
mux-1 {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "emmc";
groups = "emmc_clk";
};
};
emmc-data-4b {
phandle = <0x6f>;
mux-0 {
bias-pull-up;
drive-strength-microamp = <0xfa0>;
function = "emmc";
groups = "emmc_nand_d0\0emmc_nand_d1\0emmc_nand_d2\0emmc_nand_d3";
};
};
emmc-data-8b {
phandle = <0x43>;
mux-0 {
bias-pull-up;
drive-strength-microamp = <0xfa0>;
function = "emmc";
groups = "emmc_nand_d0\0emmc_nand_d1\0emmc_nand_d2\0emmc_nand_d3\0emmc_nand_d4\0emmc_nand_d5\0emmc_nand_d6\0emmc_nand_d7";
};
};
emmc-ds {
phandle = <0x44>;
mux {
bias-pull-down;
drive-strength-microamp = <0xfa0>;
function = "emmc";
groups = "emmc_nand_ds";
};
};
emmc_clk_gate {
phandle = <0x45>;
mux {
bias-pull-down;
drive-strength-microamp = <0xfa0>;
function = "gpio_periphs";
groups = "BOOT_8";
};
};
eth {
phandle = <0x16>;
mux {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "eth";
groups = "eth_mdio\0eth_mdc\0eth_rgmii_rx_clk\0eth_rx_dv\0eth_rxd0\0eth_rxd1\0eth_txen\0eth_txd0\0eth_txd1";
};
};
eth-leds {
phandle = <0xce>;
mux {
bias-disable;
function = "eth";
groups = "eth_link_led\0eth_act_led";
};
};
eth-rgmii {
phandle = <0x17>;
mux {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "eth";
groups = "eth_rxd2_rgmii\0eth_rxd3_rgmii\0eth_rgmii_tx_clk\0eth_txd2_rgmii\0eth_txd3_rgmii";
};
};
hdmitx_ddc {
phandle = <0x1a>;
mux {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "hdmitx";
groups = "hdmitx_sda\0hdmitx_sck";
};
};
hdmitx_hpd {
phandle = <0x19>;
mux {
bias-disable;
function = "hdmitx";
groups = "hdmitx_hpd_in";
};
};
i2c0-sck-c {
phandle = <0x71>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c0";
groups = "i2c0_sck_c";
};
};
i2c0-sck-z1 {
phandle = <0x73>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c0";
groups = "i2c0_sck_z1";
};
};
i2c0-sda-c {
phandle = <0x70>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c0";
groups = "i2c0_sda_c";
};
};
i2c0-sda-z0 {
phandle = <0x72>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c0";
groups = "i2c0_sda_z0";
};
};
i2c0-sda-z7 {
phandle = <0x74>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c0";
groups = "i2c0_sda_z7";
};
};
i2c0-sda-z8 {
phandle = <0x75>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c0";
groups = "i2c0_sda_z8";
};
};
i2c1-sck-h3 {
phandle = <0x79>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c1";
groups = "i2c1_sck_h3";
};
};
i2c1-sck-h7 {
phandle = <0x7b>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c1";
groups = "i2c1_sck_h7";
};
};
i2c1-sck-x {
phandle = <0x77>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c1";
groups = "i2c1_sck_x";
};
};
i2c1-sda-h2 {
phandle = <0x78>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c1";
groups = "i2c1_sda_h2";
};
};
i2c1-sda-h6 {
phandle = <0x7a>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c1";
groups = "i2c1_sda_h6";
};
};
i2c1-sda-x {
phandle = <0x76>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c1";
groups = "i2c1_sda_x";
};
};
i2c2-sck-x {
phandle = <0x7d>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c2";
groups = "i2c2_sck_x";
};
};
i2c2-sck-z {
phandle = <0x7f>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c2";
groups = "i2c2_sck_z";
};
};
i2c2-sda-x {
phandle = <0x7c>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c2";
groups = "i2c2_sda_x";
};
};
i2c2-sda-z {
phandle = <0x7e>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c2";
groups = "i2c2_sda_z";
};
};
i2c3-sck-a {
phandle = <0x83>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c3";
groups = "i2c3_sck_a";
};
};
i2c3-sck-h {
phandle = <0x81>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c3";
groups = "i2c3_sck_h";
};
};
i2c3-sda-a {
phandle = <0x82>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c3";
groups = "i2c3_sda_a";
};
};
i2c3-sda-h {
phandle = <0x80>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c3";
groups = "i2c3_sda_h";
};
};
mclk0-a {
phandle = <0x84>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "mclk0";
groups = "mclk0_a";
};
};
mclk1-a {
phandle = <0x85>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "mclk1";
groups = "mclk1_a";
};
};
mclk1-x {
phandle = <0x86>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "mclk1";
groups = "mclk1_x";
};
};
mclk1-z {
phandle = <0x87>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "mclk1";
groups = "mclk1_z";
};
};
nor {
phandle = <0x36>;
mux {
bias-disable;
function = "nor";
groups = "nor_d\0nor_q\0nor_c\0nor_cs";
};
};
pdm-dclk-a {
phandle = <0x98>;
mux {
bias-disable;
drive-strength-microamp = <0x1f4>;
function = "pdm";
groups = "pdm_dclk_a";
};
};
pdm-dclk-c {
phandle = <0x99>;
mux {
bias-disable;
drive-strength-microamp = <0x1f4>;
function = "pdm";
groups = "pdm_dclk_c";
};
};
pdm-dclk-x {
phandle = <0x9a>;
mux {
bias-disable;
drive-strength-microamp = <0x1f4>;
function = "pdm";
groups = "pdm_dclk_x";
};
};
pdm-dclk-z {
phandle = <0x9b>;
mux {
bias-disable;
drive-strength-microamp = <0x1f4>;
function = "pdm";
groups = "pdm_dclk_z";
};
};
pdm-din0-a {
phandle = <0x88>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din0_a";
};
};
pdm-din0-c {
phandle = <0x89>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din0_c";
};
};
pdm-din0-x {
phandle = <0x8a>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din0_x";
};
};
pdm-din0-z {
phandle = <0x8b>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din0_z";
};
};
pdm-din1-a {
phandle = <0x8c>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din1_a";
};
};
pdm-din1-c {
phandle = <0x8d>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din1_c";
};
};
pdm-din1-x {
phandle = <0x8e>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din1_x";
};
};
pdm-din1-z {
phandle = <0x8f>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din1_z";
};
};
pdm-din2-a {
phandle = <0x90>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din2_a";
};
};
pdm-din2-c {
phandle = <0x91>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din2_c";
};
};
pdm-din2-x {
phandle = <0x92>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din2_x";
};
};
pdm-din2-z {
phandle = <0x93>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din2_z";
};
};
pdm-din3-a {
phandle = <0x94>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din3_a";
};
};
pdm-din3-c {
phandle = <0x95>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din3_c";
};
};
pdm-din3-x {
phandle = <0x96>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din3_x";
};
};
pdm-din3-z {
phandle = <0x97>;
mux {
bias-disable;
function = "pdm";
groups = "pdm_din3_z";
};
};
pwm-a {
phandle = <0x9c>;
mux {
bias-disable;
function = "pwm_a";
groups = "pwm_a";
};
};
pwm-b-x19 {
phandle = <0x9e>;
mux {
bias-disable;
function = "pwm_b";
groups = "pwm_b_x19";
};
};
pwm-b-x7 {
phandle = <0x9d>;
mux {
bias-disable;
function = "pwm_b";
groups = "pwm_b_x7";
};
};
pwm-c-c {
phandle = <0x9f>;
mux {
bias-disable;
function = "pwm_c";
groups = "pwm_c_c";
};
};
pwm-c-x5 {
phandle = <0xa0>;
mux {
bias-disable;
function = "pwm_c";
groups = "pwm_c_x5";
};
};
pwm-c-x8 {
phandle = <0xa1>;
mux {
bias-disable;
function = "pwm_c";
groups = "pwm_c_x8";
};
};
pwm-d-x3 {
phandle = <0xa2>;
mux {
bias-disable;
function = "pwm_d";
groups = "pwm_d_x3";
};
};
pwm-d-x6 {
phandle = <0xa3>;
mux {
bias-disable;
function = "pwm_d";
groups = "pwm_d_x6";
};
};
pwm-e {
phandle = <0x37>;
mux {
bias-disable;
function = "pwm_e";
groups = "pwm_e";
};
};
pwm-f-h {
phandle = <0xa5>;
mux {
bias-disable;
function = "pwm_f";
groups = "pwm_f_h";
};
};
pwm-f-x {
phandle = <0xa4>;
mux {
bias-disable;
function = "pwm_f";
groups = "pwm_f_x";
};
};
sdcard_c {
phandle = <0x40>;
mux-0 {
bias-pull-up;
drive-strength-microamp = <0xfa0>;
function = "sdcard";
groups = "sdcard_d0_c\0sdcard_d1_c\0sdcard_d2_c\0sdcard_d3_c\0sdcard_cmd_c";
};
mux-1 {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "sdcard";
groups = "sdcard_clk_c";
};
};
sdcard_clk_gate_c {
phandle = <0x41>;
mux {
bias-pull-down;
drive-strength-microamp = <0xfa0>;
function = "gpio_periphs";
groups = "GPIOC_4";
};
};
sdcard_clk_gate_z {
phandle = <0xa7>;
mux {
bias-pull-down;
drive-strength-microamp = <0xfa0>;
function = "gpio_periphs";
groups = "GPIOZ_6";
};
};
sdcard_z {
phandle = <0xa6>;
mux-0 {
bias-pull-up;
drive-strength-microamp = <0xfa0>;
function = "sdcard";
groups = "sdcard_d0_z\0sdcard_d1_z\0sdcard_d2_z\0sdcard_d3_z\0sdcard_cmd_z";
};
mux-1 {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "sdcard";
groups = "sdcard_clk_z";
};
};
sdio {
phandle = <0x3c>;
mux {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "sdio";
groups = "sdio_d0\0sdio_d1\0sdio_d2\0sdio_d3\0sdio_clk\0sdio_cmd";
};
};
sdio_clk_gate {
phandle = <0x3d>;
mux {
bias-pull-down;
drive-strength-microamp = <0xfa0>;
function = "gpio_periphs";
groups = "GPIOX_4";
};
};
spdif-in-a10 {
phandle = <0xa8>;
mux {
bias-disable;
function = "spdif_in";
groups = "spdif_in_a10";
};
};
spdif-in-a12 {
phandle = <0xa9>;
mux {
bias-disable;
function = "spdif_in";
groups = "spdif_in_a12";
};
};
spdif-in-h {
phandle = <0xaa>;
mux {
bias-disable;
function = "spdif_in";
groups = "spdif_in_h";
};
};
spdif-out-a11 {
phandle = <0xac>;
mux {
bias-disable;
drive-strength-microamp = <0x1f4>;
function = "spdif_out";
groups = "spdif_out_a11";
};
};
spdif-out-a13 {
phandle = <0xad>;
mux {
bias-disable;
drive-strength-microamp = <0x1f4>;
function = "spdif_out";
groups = "spdif_out_a13";
};
};
spdif-out-h {
phandle = <0xab>;
mux {
bias-disable;
drive-strength-microamp = <0x1f4>;
function = "spdif_out";
groups = "spdif_out_h";
};
};
spicc0-c {
phandle = <0xb0>;
mux {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "spi0";
groups = "spi0_mosi_c\0spi0_miso_c\0spi0_ss0_c\0spi0_clk_c";
};
};
spicc0-ss0-x {
phandle = <0xaf>;
mux {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "spi0";
groups = "spi0_ss0_x";
};
};
spicc0-x {
phandle = <0xae>;
mux {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "spi0";
groups = "spi0_mosi_x\0spi0_miso_x\0spi0_clk_x";
};
};
spicc1 {
phandle = <0xb1>;
mux {
drive-strength-microamp = <0xfa0>;
function = "spi1";
groups = "spi1_mosi\0spi1_miso\0spi1_clk";
};
};
spicc1-ss0 {
phandle = <0xb2>;
mux {
bias-disable;
drive-strength-microamp = <0xfa0>;
function = "spi1";
groups = "spi1_ss0";
};
};
tdm-a-din0 {
phandle = <0xb3>;
mux {
bias-disable;
function = "tdm_a";
groups = "tdm_a_din0";
};
};
tdm-a-din1 {
phandle = <0xb4>;
mux {
bias-disable;
function = "tdm_a";
groups = "tdm_a_din1";
};
};
tdm-a-dout0 {
phandle = <0xb5>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_a";
groups = "tdm_a_dout0";
};
};
tdm-a-dout1 {
phandle = <0xb6>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_a";
groups = "tdm_a_dout1";
};
};
tdm-a-fs {
phandle = <0xb7>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_a";
groups = "tdm_a_fs";
};
};
tdm-a-sclk {
phandle = <0xb8>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_a";
groups = "tdm_a_sclk";
};
};
tdm-a-slv-fs {
phandle = <0xb9>;
mux {
bias-disable;
function = "tdm_a";
groups = "tdm_a_slv_fs";
};
};
tdm-a-slv-sclk {
phandle = <0xba>;
mux {
bias-disable;
function = "tdm_a";
groups = "tdm_a_slv_sclk";
};
};
tdm-b-din0 {
phandle = <0xbb>;
mux {
bias-disable;
function = "tdm_b";
groups = "tdm_b_din0";
};
};
tdm-b-din1 {
phandle = <0xbc>;
mux {
bias-disable;
function = "tdm_b";
groups = "tdm_b_din1";
};
};
tdm-b-din2 {
phandle = <0xbd>;
mux {
bias-disable;
function = "tdm_b";
groups = "tdm_b_din2";
};
};
tdm-b-din3-a {
phandle = <0xbe>;
mux {
bias-disable;
function = "tdm_b";
groups = "tdm_b_din3_a";
};
};
tdm-b-din3-h {
phandle = <0xbf>;
mux {
bias-disable;
function = "tdm_b";
groups = "tdm_b_din3_h";
};
};
tdm-b-dout0 {
phandle = <0xc0>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_b";
groups = "tdm_b_dout0";
};
};
tdm-b-dout1 {
phandle = <0xc1>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_b";
groups = "tdm_b_dout1";
};
};
tdm-b-dout2 {
phandle = <0xc2>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_b";
groups = "tdm_b_dout2";
};
};
tdm-b-dout3-a {
phandle = <0xc3>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_b";
groups = "tdm_b_dout3_a";
};
};
tdm-b-dout3-h {
phandle = <0xc4>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_b";
groups = "tdm_b_dout3_h";
};
};
tdm-b-fs {
phandle = <0xc5>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_b";
groups = "tdm_b_fs";
};
};
tdm-b-sclk {
phandle = <0xc6>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_b";
groups = "tdm_b_sclk";
};
};
tdm-b-slv-fs {
phandle = <0xc7>;
mux {
bias-disable;
function = "tdm_b";
groups = "tdm_b_slv_fs";
};
};
tdm-b-slv-sclk {
phandle = <0xc8>;
mux {
bias-disable;
function = "tdm_b";
groups = "tdm_b_slv_sclk";
};
};
tdm-c-din0-a {
phandle = <0xc9>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_din0_a";
};
};
tdm-c-din0-z {
phandle = <0xca>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_din0_z";
};
};
tdm-c-din1-a {
phandle = <0xcb>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_din1_a";
};
};
tdm-c-din1-z {
phandle = <0xcc>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_din1_z";
};
};
tdm-c-din2-a {
phandle = <0xcd>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_din2_a";
};
};
tdm-c-din2-z {
phandle = <0xcf>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_din2_z";
};
};
tdm-c-din3-a {
phandle = <0xd0>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_din3_a";
};
};
tdm-c-din3-z {
phandle = <0xd1>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_din3_z";
};
};
tdm-c-dout0-a {
phandle = <0xd2>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_dout0_a";
};
};
tdm-c-dout0-z {
phandle = <0xd3>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_dout0_z";
};
};
tdm-c-dout1-a {
phandle = <0xd4>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_dout1_a";
};
};
tdm-c-dout1-z {
phandle = <0xd5>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_dout1_z";
};
};
tdm-c-dout2-a {
phandle = <0xd6>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_dout2_a";
};
};
tdm-c-dout2-z {
phandle = <0xd7>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_dout2_z";
};
};
tdm-c-dout3-a {
phandle = <0xd8>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_dout3_a";
};
};
tdm-c-dout3-z {
phandle = <0xd9>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_dout3_z";
};
};
tdm-c-fs-a {
phandle = <0xda>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_fs_a";
};
};
tdm-c-fs-z {
phandle = <0xdb>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_fs_z";
};
};
tdm-c-sclk-a {
phandle = <0xdc>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_sclk_a";
};
};
tdm-c-sclk-z {
phandle = <0xdd>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_c";
groups = "tdm_c_sclk_z";
};
};
tdm-c-slv-fs-a {
phandle = <0xde>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_slv_fs_a";
};
};
tdm-c-slv-fs-z {
phandle = <0xdf>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_slv_fs_z";
};
};
tdm-c-slv-sclk-a {
phandle = <0xe0>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_slv_sclk_a";
};
};
tdm-c-slv-sclk-z {
phandle = <0xe1>;
mux {
bias-disable;
function = "tdm_c";
groups = "tdm_c_slv_sclk_z";
};
};
uart-a {
phandle = <0x39>;
mux {
bias-disable;
function = "uart_a";
groups = "uart_a_tx\0uart_a_rx";
};
};
uart-a-cts-rts {
phandle = <0x3a>;
mux {
bias-disable;
function = "uart_a";
groups = "uart_a_cts\0uart_a_rts";
};
};
uart-b {
phandle = <0xe2>;
mux {
bias-disable;
function = "uart_b";
groups = "uart_b_tx\0uart_b_rx";
};
};
uart-c {
phandle = <0xe3>;
mux {
bias-disable;
function = "uart_c";
groups = "uart_c_tx\0uart_c_rx";
};
};
uart-c-cts-rts {
phandle = <0xe4>;
mux {
bias-disable;
function = "uart_c";
groups = "uart_c_cts\0uart_c_rts";
};
};
};
};
bus@38000 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "simple-bus";
phandle = <0xe5>;
ranges = <0x00 0x00 0x00 0x38000 0x00 0x400>;
reg = <0x00 0x38000 0x00 0x400>;
video-lut@48 {
compatible = "amlogic,canvas";
phandle = <0x34>;
reg = <0x00 0x48 0x00 0x14>;
};
};
bus@3c000 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "simple-bus";
phandle = <0xe6>;
ranges = <0x00 0x00 0x00 0x3c000 0x00 0x1400>;
reg = <0x00 0x3c000 0x00 0x1400>;
system-controller@0 {
compatible = "amlogic,meson-gx-hhi-sysctrl\0simple-mfd\0syscon";
phandle = <0xe7>;
reg = <0x00 0x00 0x00 0x400>;
clock-controller {
#clock-cells = <0x01>;
clock-names = "xtal";
clocks = <0x20>;
compatible = "amlogic,g12b-clkc";
phandle = <0x02>;
};
power-controller {
#power-domain-cells = <0x01>;
amlogic,ao-sysctrl = <0x23>;
assigned-clock-parents = <0x02 0x03 0x00 0x02 0x70 0x02 0x04 0x00 0x02 0x77>;
assigned-clock-rates = <0x00 0x27bc86aa 0x00 0x00 0xee6b280 0x00>;
assigned-clocks = <0x02 0x6e 0x02 0x70 0x02 0x74 0x02 0x75 0x02 0x77 0x02 0x7b>;
clock-names = "vpu\0vapb";
clocks = <0x02 0x74 0x02 0x7c>;
compatible = "amlogic,meson-g12a-pwrc";
phandle = <0x03>;
reset-names = "viu\0venc\0vcbus\0bt656\0rdma\0venci\0vencp\0vdac\0vdi6\0vencl\0vid_lock";
resets = <0x05 0x05 0x05 0x0a 0x05 0x0d 0x05 0x25 0x05 0x85 0x05 0x86 0x05 0x87 0x05 0x89 0x05 0x8c 0x05 0x8d 0x05 0xe7>;
};
};
};
bus@42000 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "simple-bus";
phandle = <0xed>;
ranges = <0x00 0x00 0x00 0x42000 0x00 0x2000>;
reg = <0x00 0x42000 0x00 0x2000>;
audio-controller@100 {
#sound-dai-cells = <0x00>;
amlogic,fifo-depth = <0x200>;
clocks = <0x26 0x29>;
compatible = "amlogic,g12a-toddr\0amlogic,axg-toddr";
interrupts = <0x00 0x94 0x01>;
phandle = <0xee>;
reg = <0x00 0x100 0x00 0x2c>;
reset-names = "arb\0rst";
resets = <0x27 0x00 0x26 0x06>;
sound-name-prefix = "TODDR_A";
status = "disabled";
};
audio-controller@140 {
#sound-dai-cells = <0x00>;
amlogic,fifo-depth = <0x100>;
clocks = <0x26 0x2a>;
compatible = "amlogic,g12a-toddr\0amlogic,axg-toddr";
interrupts = <0x00 0x95 0x01>;
phandle = <0xef>;
reg = <0x00 0x140 0x00 0x2c>;
reset-names = "arb\0rst";
resets = <0x27 0x01 0x26 0x07>;
sound-name-prefix = "TODDR_B";
status = "disabled";
};
audio-controller@180 {
#sound-dai-cells = <0x00>;
amlogic,fifo-depth = <0x100>;
clocks = <0x26 0x2b>;
compatible = "amlogic,g12a-toddr\0amlogic,axg-toddr";
interrupts = <0x00 0x96 0x01>;
phandle = <0xf0>;
reg = <0x00 0x180 0x00 0x2c>;
reset-names = "arb\0rst";
resets = <0x27 0x02 0x26 0x08>;
sound-name-prefix = "TODDR_C";
status = "disabled";
};
audio-controller@1c0 {
#sound-dai-cells = <0x00>;
amlogic,fifo-depth = <0x200>;
clocks = <0x26 0x26>;
compatible = "amlogic,g12a-frddr\0amlogic,axg-frddr";
interrupts = <0x00 0x98 0x01>;
phandle = <0x55>;
reg = <0x00 0x1c0 0x00 0x2c>;
reset-names = "arb\0rst";
resets = <0x27 0x03 0x26 0x09>;
sound-name-prefix = "FRDDR_A";
status = "okay";
};
audio-controller@200 {
#sound-dai-cells = <0x00>;
amlogic,fifo-depth = <0x100>;
clocks = <0x26 0x27>;
compatible = "amlogic,g12a-frddr\0amlogic,axg-frddr";
interrupts = <0x00 0x99 0x01>;
phandle = <0x56>;
reg = <0x00 0x200 0x00 0x2c>;
reset-names = "arb\0rst";
resets = <0x27 0x04 0x26 0x0a>;
sound-name-prefix = "FRDDR_B";
status = "okay";
};
audio-controller@240 {
#sound-dai-cells = <0x00>;
amlogic,fifo-depth = <0x100>;
clocks = <0x26 0x28>;
compatible = "amlogic,g12a-frddr\0amlogic,axg-frddr";
interrupts = <0x00 0x9a 0x01>;
phandle = <0x57>;
reg = <0x00 0x240 0x00 0x2c>;
reset-names = "arb\0rst";
resets = <0x27 0x05 0x26 0x0b>;
sound-name-prefix = "FRDDR_C";
status = "okay";
};
audio-controller@300 {
clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
clocks = <0x26 0x1f 0x26 0x7b 0x26 0x74 0x26 0x82 0x26 0x82>;
compatible = "amlogic,g12a-tdmin\0amlogic,axg-tdmin";
phandle = <0xf1>;
reg = <0x00 0x300 0x00 0x40>;
resets = <0x26 0x01>;
sound-name-prefix = "TDMIN_A";
status = "disabled";
};
audio-controller@340 {
clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
clocks = <0x26 0x20 0x26 0x7c 0x26 0x75 0x26 0x83 0x26 0x83>;
compatible = "amlogic,g12a-tdmin\0amlogic,axg-tdmin";
phandle = <0xf2>;
reg = <0x00 0x340 0x00 0x40>;
resets = <0x26 0x02>;
sound-name-prefix = "TDMIN_B";
status = "disabled";
};
audio-controller@380 {
clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
clocks = <0x26 0x21 0x26 0x7d 0x26 0x76 0x26 0x84 0x26 0x84>;
compatible = "amlogic,g12a-tdmin\0amlogic,axg-tdmin";
phandle = <0xf3>;
reg = <0x00 0x380 0x00 0x40>;
resets = <0x26 0x03>;
sound-name-prefix = "TDMIN_C";
status = "disabled";
};
audio-controller@3c0 {
clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
clocks = <0x26 0x22 0x26 0x7e 0x26 0x77 0x26 0x85 0x26 0x85>;
compatible = "amlogic,g12a-tdmin\0amlogic,axg-tdmin";
phandle = <0xf4>;
reg = <0x00 0x3c0 0x00 0x40>;
resets = <0x26 0x04>;
sound-name-prefix = "TDMIN_LB";
status = "disabled";
};
audio-controller@400 {
#sound-dai-cells = <0x00>;
clock-names = "pclk\0refclk";
clocks = <0x26 0x2d 0x26 0x38>;
compatible = "amlogic,g12a-spdifin\0amlogic,axg-spdifin";
interrupts = <0x00 0x97 0x01>;
phandle = <0xf5>;
reg = <0x00 0x400 0x00 0x30>;
resets = <0x26 0x11>;
sound-name-prefix = "SPDIFIN";
status = "disabled";
};
audio-controller@480 {
#sound-dai-cells = <0x00>;
clock-names = "pclk\0mclk";
clocks = <0x26 0x2e 0x26 0x37>;
compatible = "amlogic,g12a-spdifout\0amlogic,axg-spdifout";
phandle = <0xf6>;
reg = <0x00 0x480 0x00 0x50>;
resets = <0x26 0x0f>;
sound-name-prefix = "SPDIFOUT";
status = "disabled";
};
audio-controller@500 {
clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
clocks = <0x26 0x23 0x26 0x7f 0x26 0x78 0x26 0x86 0x26 0x86>;
compatible = "amlogic,g12a-tdmout";
phandle = <0x54>;
reg = <0x00 0x500 0x00 0x40>;
resets = <0x26 0x0c>;
sound-name-prefix = "TDMOUT_A";
status = "okay";
};
audio-controller@540 {
clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
clocks = <0x26 0x24 0x26 0x80 0x26 0x79 0x26 0x87 0x26 0x87>;
compatible = "amlogic,g12a-tdmout";
phandle = <0xf7>;
reg = <0x00 0x540 0x00 0x40>;
resets = <0x26 0x0d>;
sound-name-prefix = "TDMOUT_B";
status = "disabled";
};
audio-controller@580 {
clock-names = "pclk\0sclk\0sclk_sel\0lrclk\0lrclk_sel";
clocks = <0x26 0x25 0x26 0x81 0x26 0x7a 0x26 0x88 0x26 0x88>;
compatible = "amlogic,g12a-tdmout";
phandle = <0xf8>;
reg = <0x00 0x580 0x00 0x40>;
resets = <0x26 0x0e>;
sound-name-prefix = "TDMOUT_C";
status = "disabled";
};
audio-controller@680 {
#sound-dai-cells = <0x00>;
clock-names = "pclk\0mclk";
clocks = <0x26 0x97 0x26 0x98>;
compatible = "amlogic,g12a-spdifout\0amlogic,axg-spdifout";
phandle = <0xf9>;
reg = <0x00 0x680 0x00 0x50>;
resets = <0x26 0x10>;
sound-name-prefix = "SPDIFOUT_B";
status = "disabled";
};
audio-controller@740 {
#sound-dai-cells = <0x01>;
compatible = "amlogic,g12a-toacodec";
phandle = <0xfa>;
reg = <0x00 0x740 0x00 0x04>;
resets = <0x26 0x17>;
sound-name-prefix = "TOACODEC";
status = "disabled";
};
audio-controller@744 {
#sound-dai-cells = <0x01>;
compatible = "amlogic,g12a-tohdmitx";
phandle = <0x59>;
reg = <0x00 0x744 0x00 0x04>;
resets = <0x26 0x18>;
sound-name-prefix = "TOHDMITX";
status = "okay";
};
clock-controller@0 {
#clock-cells = <0x01>;
#reset-cells = <0x01>;
clock-names = "pclk\0mst_in0\0mst_in1\0mst_in2\0mst_in3\0mst_in4\0mst_in5\0mst_in6\0mst_in7";
clocks = <0x02 0x25 0x02 0x0b 0x02 0x0c 0x02 0x0d 0x02 0x0e 0x02 0x4a 0x02 0x03 0x02 0x04 0x02 0x07>;
compatible = "amlogic,g12a-audio-clkc";
phandle = <0x26>;
reg = <0x00 0x00 0x00 0xb4>;
resets = <0x05 0x41>;
status = "okay";
};
reset-controller@280 {
#reset-cells = <0x01>;
clocks = <0x26 0x1d>;
compatible = "amlogic,meson-axg-audio-arb";
phandle = <0x27>;
reg = <0x00 0x280 0x00 0x04>;
status = "okay";
};
};
hdmi-tx@0 {
#address-cells = <0x01>;
#size-cells = <0x00>;
#sound-dai-cells = <0x00>;
clock-names = "isfr\0iahb\0venci";
clocks = <0x02 0xa8 0x02 0x35 0x02 0x3a>;
compatible = "amlogic,meson-g12a-dw-hdmi";
hdmi-supply = <0x1b>;
interrupts = <0x00 0x39 0x01>;
phandle = <0x2b>;
pinctrl-0 = <0x19 0x1a>;
pinctrl-names = "default";
reg = <0x00 0x00 0x00 0x10000>;
reset-names = "hdmitx_apb\0hdmitx\0hdmitx_phy";
resets = <0x05 0x13 0x05 0x42 0x05 0x4f>;
status = "okay";
port@0 {
phandle = <0x69>;
reg = <0x00>;
endpoint {
phandle = <0x35>;
remote-endpoint = <0x1c>;
};
};
port@1 {
phandle = <0x6a>;
reg = <0x01>;
endpoint {
phandle = <0x53>;
remote-endpoint = <0x1d>;
};
};
};
mdio-multiplexer@4c000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clock-names = "pclk\0clkin0\0clkin1";
clocks = <0x02 0x13 0x20 0x02 0xb1>;
compatible = "amlogic,g12a-mdio-mux";
mdio-parent-bus = <0x24>;
phandle = <0xe8>;
reg = <0x00 0x4c000 0x00 0xa4>;
mdio@0 {
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0xe9>;
reg = <0x00>;
ethernet-phy@0 {
interrupt-parent = <0x25>;
interrupts = <0x1a 0x08>;
max-speed = <0x3e8>;
phandle = <0x18>;
reg = <0x00>;
};
};
mdio@1 {
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0xea>;
reg = <0x01>;
ethernet_phy@8 {
compatible = "ethernet-phy-id0180.3301\0ethernet-phy-ieee802.3-c22";
interrupts = <0x00 0x09 0x04>;
max-speed = <0x64>;
phandle = <0xeb>;
reg = <0x08>;
};
};
};
phy@36000 {
#phy-cells = <0x00>;
clock-names = "xtal";
clocks = <0x20>;
compatible = "amlogic,g12a-usb2-phy";
phandle = <0x48>;
phy-supply = <0x21>;
reg = <0x00 0x36000 0x00 0x2000>;
reset-names = "phy";
resets = <0x05 0x30>;
};
phy@3a000 {
#phy-cells = <0x00>;
clock-names = "xtal";
clocks = <0x20>;
compatible = "amlogic,g12a-usb2-phy";
phandle = <0x49>;
phy-supply = <0x22>;
reg = <0x00 0x3a000 0x00 0x2000>;
reset-names = "phy";
resets = <0x05 0x31>;
};
phy@46000 {
#phy-cells = <0x01>;
assigned-clock-rates = <0x5f5e100>;
assigned-clocks = <0x02 0xc9>;
clock-names = "ref_clk";
clocks = <0x02 0xc9>;
compatible = "amlogic,g12a-usb3-pcie-phy";
phandle = <0x06>;
phy-supply = <0x22>;
reg = <0x00 0x46000 0x00 0x2000>;
reset-names = "phy";
resets = <0x05 0x0e>;
};
temperature-sensor@34800 {
#thermal-sensor-cells = <0x00>;
amlogic,ao-secure = <0x1f>;
clocks = <0x02 0xd4>;
compatible = "amlogic,g12a-cpu-thermal\0amlogic,g12a-thermal";
interrupts = <0x00 0x23 0x01>;
phandle = <0x08>;
reg = <0x00 0x34800 0x00 0x50>;
};
temperature-sensor@34c00 {
#thermal-sensor-cells = <0x00>;
amlogic,ao-secure = <0x1f>;
clocks = <0x02 0xd4>;
compatible = "amlogic,g12a-ddr-thermal\0amlogic,g12a-thermal";
interrupts = <0x00 0x24 0x01>;
phandle = <0x13>;
reg = <0x00 0x34c00 0x00 0x50>;
};
};
bus@ff800000 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "simple-bus";
phandle = <0xfb>;
ranges = <0x00 0x00 0x00 0xff800000 0x00 0x100000>;
reg = <0x00 0xff800000 0x00 0x100000>;
adc@9000 {
#io-channel-cells = <0x01>;
clock-names = "clkin\0core\0adc_clk\0adc_sel";
clocks = <0x20 0x29 0x08 0x29 0x12 0x29 0x10>;
compatible = "amlogic,meson-g12a-saradc\0amlogic,meson-saradc";
interrupts = <0x00 0xc8 0x01>;
phandle = <0x50>;
reg = <0x00 0x9000 0x00 0x48>;
status = "okay";
vref-supply = <0x33>;
};
ao-secure@140 {
amlogic,has-chip-id;
compatible = "amlogic,meson-gx-ao-secure\0syscon";
phandle = <0x1f>;
reg = <0x00 0x140 0x00 0x140>;
};
cec@100 {
clock-names = "core";
clocks = <0x29 0x1b>;
compatible = "amlogic,meson-gx-ao-cec";
hdmi-phandle = <0x2b>;
interrupts = <0x00 0xc7 0x01>;
phandle = <0x112>;
pinctrl-0 = <0x2a>;
pinctrl-names = "default";
reg = <0x00 0x100 0x00 0x14>;
status = "disabled";
};
cec@280 {
amlogic,ao-sysctrl = <0x23>;
clock-names = "oscin";
clocks = <0x29 0x13>;
compatible = "amlogic,meson-g12a-ao-cec";
hdmi-phandle = <0x2b>;
interrupts = <0x00 0xcb 0x01>;
phandle = <0x113>;
pinctrl-0 = <0x2c>;
pinctrl-names = "default";
reg = <0x00 0x280 0x00 0x1c>;
status = "okay";
};
i2c@5000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clocks = <0x02 0x18>;
compatible = "amlogic,meson-axg-i2c";
interrupts = <0x00 0xc3 0x01>;
phandle = <0x116>;
pinctrl-0 = <0x2f 0x30>;
pinctrl-names = "default";
reg = <0x00 0x5000 0x00 0x20>;
status = "okay";
gpio-controller@20 {
#gpio-cells = <0x02>;
compatible = "ti,tca6408";
gpio-controller;
phandle = <0x52>;
reg = <0x20>;
vcc-supply = <0x31>;
};
rtc@51 {
#clock-cells = <0x00>;
compatible = "haoyu,hym8563";
reg = <0x51>;
};
system-controller@18 {
#cooling-cells = <0x02>;
compatible = "khadas,mcu";
phandle = <0x12>;
reg = <0x18>;
};
};
ir@8000 {
compatible = "amlogic,meson-gxbb-ir";
interrupts = <0x00 0xc4 0x01>;
linux,rc-map-name = "rc-khadas";
phandle = <0x118>;
pinctrl-0 = <0x32>;
pinctrl-names = "default";
reg = <0x00 0x8000 0x00 0x20>;
status = "okay";
};
pwm@2000 {
#pwm-cells = <0x03>;
clock-names = "clkin1";
clocks = <0x20>;
compatible = "amlogic,meson-g12a-ao-pwm-cd";
phandle = <0x5c>;
pinctrl-0 = <0x2d>;
pinctrl-names = "default";
reg = <0x00 0x2000 0x00 0x20>;
status = "okay";
};
pwm@7000 {
#pwm-cells = <0x03>;
compatible = "amlogic,meson-g12a-ao-pwm-ab";
phandle = <0x117>;
reg = <0x00 0x7000 0x00 0x20>;
status = "disabled";
};
rtc@0a8 {
compatible = "amlogic,meson-vrtc";
phandle = <0x111>;
reg = <0x00 0xa8 0x00 0x04>;
};
serial@3000 {
clock-names = "xtal\0pclk\0baud";
clocks = <0x20 0x29 0x04 0x20>;
compatible = "amlogic,meson-gx-uart\0amlogic,meson-ao-uart";
interrupts = <0x00 0xc1 0x01>;
phandle = <0x114>;
pinctrl-0 = <0x2e>;
pinctrl-names = "default";
reg = <0x00 0x3000 0x00 0x18>;
status = "okay";
};
serial@4000 {
clock-names = "xtal\0pclk\0baud";
clocks = <0x20 0x29 0x06 0x20>;
compatible = "amlogic,meson-gx-uart\0amlogic,meson-ao-uart";
interrupts = <0x00 0xc5 0x01>;
phandle = <0x115>;
reg = <0x00 0x4000 0x00 0x18>;
status = "disabled";
};
sys-ctrl@0 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "amlogic,meson-gx-ao-sysctrl\0simple-mfd\0syscon";
phandle = <0x23>;
ranges = <0x00 0x00 0x00 0x00 0x00 0x100>;
reg = <0x00 0x00 0x00 0x100>;
clock-controller {
#clock-cells = <0x01>;
#reset-cells = <0x01>;
clock-names = "xtal\0mpeg-clk";
clocks = <0x20 0x02 0x0a>;
compatible = "amlogic,meson-g12a-aoclkc";
phandle = <0x29>;
};
pinctrl@14 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "amlogic,meson-g12a-aobus-pinctrl";
phandle = <0x28>;
ranges;
bank@14 {
#gpio-cells = <0x02>;
gpio-controller;
gpio-ranges = <0x28 0x00 0x00 0x0f>;
phandle = <0x51>;
reg = <0x00 0x14 0x00 0x08 0x00 0x1c 0x00 0x08 0x00 0x24 0x00 0x14>;
reg-names = "mux\0ds\0gpio";
};
i2c_ao_sck_e {
phandle = <0xfc>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c_ao";
groups = "i2c_ao_sck_e";
};
};
i2c_ao_sck_pins {
phandle = <0x2f>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c_ao";
groups = "i2c_ao_sck";
};
};
i2c_ao_sda {
phandle = <0x30>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c_ao";
groups = "i2c_ao_sda";
};
};
i2c_ao_sda_e {
phandle = <0xfd>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "i2c_ao";
groups = "i2c_ao_sda_e";
};
};
mclk0-ao {
phandle = <0xfe>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "mclk0_ao";
groups = "mclk0_ao";
};
};
pwm-a-e {
phandle = <0x38>;
mux {
bias-disable;
function = "pwm_a_e";
groups = "pwm_a_e";
};
};
pwm-ao-a {
phandle = <0x10b>;
mux {
bias-disable;
function = "pwm_ao_a";
groups = "pwm_ao_a";
};
};
pwm-ao-b {
phandle = <0x10c>;
mux {
bias-disable;
function = "pwm_ao_b";
groups = "pwm_ao_b";
};
};
pwm-ao-c-4 {
phandle = <0x10d>;
mux {
bias-disable;
function = "pwm_ao_c";
groups = "pwm_ao_c_4";
};
};
pwm-ao-c-6 {
phandle = <0x10e>;
mux {
bias-disable;
function = "pwm_ao_c";
groups = "pwm_ao_c_6";
};
};
pwm-ao-d-10 {
phandle = <0x110>;
mux {
bias-disable;
function = "pwm_ao_d";
groups = "pwm_ao_d_10";
};
};
pwm-ao-d-5 {
phandle = <0x10f>;
mux {
bias-disable;
function = "pwm_ao_d";
groups = "pwm_ao_d_5";
};
};
pwm-ao-d-e {
phandle = <0x2d>;
mux {
function = "pwm_ao_d";
groups = "pwm_ao_d_e";
};
};
remote-input-ao {
phandle = <0x32>;
mux {
bias-disable;
function = "remote_ao_input";
groups = "remote_ao_input";
};
};
spdif-ao-out {
phandle = <0x100>;
mux {
bias-disable;
drive-strength-microamp = <0x1f4>;
function = "spdif_ao_out";
groups = "spdif_ao_out";
};
};
tdm-ao-b-din0 {
phandle = <0xff>;
mux {
bias-disable;
function = "tdm_ao_b";
groups = "tdm_ao_b_din0";
};
};
tdm-ao-b-din1 {
phandle = <0x101>;
mux {
bias-disable;
function = "tdm_ao_b";
groups = "tdm_ao_b_din1";
};
};
tdm-ao-b-din2 {
phandle = <0x102>;
mux {
bias-disable;
function = "tdm_ao_b";
groups = "tdm_ao_b_din2";
};
};
tdm-ao-b-dout0 {
phandle = <0x103>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_ao_b";
groups = "tdm_ao_b_dout0";
};
};
tdm-ao-b-dout1 {
phandle = <0x104>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_ao_b";
groups = "tdm_ao_b_dout1";
};
};
tdm-ao-b-dout2 {
phandle = <0x105>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_ao_b";
groups = "tdm_ao_b_dout2";
};
};
tdm-ao-b-fs {
phandle = <0x106>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_ao_b";
groups = "tdm_ao_b_fs";
};
};
tdm-ao-b-sclk {
phandle = <0x107>;
mux {
bias-disable;
drive-strength-microamp = <0xbb8>;
function = "tdm_ao_b";
groups = "tdm_ao_b_sclk";
};
};
tdm-ao-b-slv-fs {
phandle = <0x108>;
mux {
bias-disable;
function = "tdm_ao_b";
groups = "tdm_ao_b_slv_fs";
};
};
tdm-ao-b-slv-sclk {
phandle = <0x109>;
mux {
bias-disable;
function = "tdm_ao_b";
groups = "tdm_ao_b_slv_sclk";
};
};
uart-a-ao {
phandle = <0x2e>;
mux {
bias-disable;
function = "uart_ao_a";
groups = "uart_ao_a_tx\0uart_ao_a_rx";
};
};
uart-ao-a-cts-rts {
phandle = <0x10a>;
mux {
bias-disable;
function = "uart_ao_a";
groups = "uart_ao_a_cts\0uart_ao_a_rts";
};
};
};
};
};
bus@ffd00000 {
#address-cells = <0x02>;
#size-cells = <0x02>;
compatible = "simple-bus";
phandle = <0x11d>;
ranges = <0x00 0x00 0x00 0xffd00000 0x00 0x100000>;
reg = <0x00 0xffd00000 0x00 0x100000>;
clock-measure@18000 {
compatible = "amlogic,meson-g12a-clk-measure";
phandle = <0x127>;
reg = <0x00 0x18000 0x00 0x10>;
};
i2c@1c000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clocks = <0x02 0x18>;
compatible = "amlogic,meson-axg-i2c";
interrupts = <0x00 0x27 0x01>;
phandle = <0x123>;
reg = <0x00 0x1c000 0x00 0x20>;
status = "disabled";
};
i2c@1d000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clocks = <0x02 0x18>;
compatible = "amlogic,meson-axg-i2c";
interrupts = <0x00 0xd7 0x01>;
phandle = <0x124>;
reg = <0x00 0x1d000 0x00 0x20>;
status = "disabled";
};
i2c@1e000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clocks = <0x02 0x18>;
compatible = "amlogic,meson-axg-i2c";
interrupts = <0x00 0xd6 0x01>;
phandle = <0x125>;
reg = <0x00 0x1e000 0x00 0x20>;
status = "disabled";
};
i2c@1f000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clocks = <0x02 0x18>;
compatible = "amlogic,meson-axg-i2c";
interrupts = <0x00 0x15 0x01>;
phandle = <0x126>;
reg = <0x00 0x1f000 0x00 0x20>;
status = "disabled";
};
interrupt-controller@f080 {
#interrupt-cells = <0x02>;
amlogic,channel-interrupts = <0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47>;
compatible = "amlogic,meson-g12a-gpio-intc\0amlogic,meson-gpio-intc";
interrupt-controller;
phandle = <0x25>;
reg = <0x00 0xf080 0x00 0x10>;
};
pwm@19000 {
#pwm-cells = <0x03>;
compatible = "amlogic,meson-g12a-ee-pwm";
phandle = <0x5a>;
pinctrl-0 = <0x37>;
pinctrl-names = "default";
reg = <0x00 0x19000 0x00 0x20>;
status = "okay";
};
pwm@1a000 {
#pwm-cells = <0x03>;
compatible = "amlogic,meson-g12a-ee-pwm";
phandle = <0x122>;
reg = <0x00 0x1a000 0x00 0x20>;
status = "disabled";
};
pwm@1b000 {
#pwm-cells = <0x03>;
clock-names = "clkin0";
clocks = <0x20>;
compatible = "amlogic,meson-g12a-ee-pwm";
phandle = <0x5b>;
pinctrl-0 = <0x38>;
pinctrl-names = "default";
reg = <0x00 0x1b000 0x00 0x20>;
status = "okay";
};
reset-controller@1004 {
#reset-cells = <0x01>;
compatible = "amlogic,meson-axg-reset";
phandle = <0x05>;
reg = <0x00 0x1004 0x00 0x9c>;
};
serial@22000 {
clock-names = "xtal\0pclk\0baud";
clocks = <0x20 0x02 0x39 0x20>;
compatible = "amlogic,meson-gx-uart";
interrupts = <0x00 0x5d 0x01>;
phandle = <0x128>;
pinctrl-0 = <0xe3>;
pinctrl-names = "default";
reg = <0x00 0x22000 0x00 0x18>;
status = "okay";
};
serial@23000 {
clock-names = "xtal\0pclk\0baud";
clocks = <0x20 0x02 0x2a 0x20>;
compatible = "amlogic,meson-gx-uart";
interrupts = <0x00 0x4b 0x01>;
phandle = <0x129>;
reg = <0x00 0x23000 0x00 0x18>;
status = "disabled";
};
serial@24000 {
clock-names = "xtal\0pclk\0baud";
clocks = <0x20 0x02 0x1c 0x20>;
compatible = "amlogic,meson-gx-uart";
interrupts = <0x00 0x1a 0x01>;
phandle = <0x12a>;
pinctrl-0 = <0x39 0x3a>;
pinctrl-names = "default";
reg = <0x00 0x24000 0x00 0x18>;
status = "okay";
uart-has-rtscts;
bluetooth {
clock-names = "lpo";
clocks = <0x3b>;
compatible = "brcm,bcm43438-bt";
max-speed = <0x1e8480>;
shutdown-gpios = <0x07 0x52 0x00>;
};
};
spi@13000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clock-names = "core\0pclk";
clocks = <0x02 0x17 0x02 0x102>;
compatible = "amlogic,meson-g12a-spicc";
interrupts = <0x00 0x51 0x04>;
phandle = <0x11e>;
reg = <0x00 0x13000 0x00 0x44>;
status = "disabled";
};
spi@14000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clocks = <0x02 0x0a>;
compatible = "amlogic,meson-gxbb-spifc";
phandle = <0x120>;
pinctrl-0 = <0x36>;
pinctrl-names = "default";
reg = <0x00 0x14000 0x00 0x80>;
status = "disabled";
spi-flash@0 {
#address-cells = <0x01>;
#size-cells = <0x01>;
compatible = "winbond,w25q128fw\0jedec,spi-nor";
phandle = <0x121>;
reg = <0x00>;
spi-max-frequency = <0x632ea00>;
};
};
spi@15000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
clock-names = "core\0pclk";
clocks = <0x02 0x1d 0x02 0x105>;
compatible = "amlogic,meson-g12a-spicc";
interrupts = <0x00 0x5a 0x04>;
phandle = <0x11f>;
reg = <0x00 0x15000 0x00 0x44>;
status = "disabled";
};
};
ethernet@ff3f0000 {
amlogic,tx-delay-ns = <0x02>;
clock-names = "stmmaceth\0clkin0\0clkin1\0timing-adjustment";
clocks = <0x02 0x26 0x02 0x02 0x02 0x0d 0x02 0x02>;
compatible = "amlogic,meson-g12a-dwmac\0snps,dwmac-3.70a\0snps,dwmac";
interrupt-names = "macirq";
interrupts = <0x00 0x08 0x04>;
local-mac-address = [06 ec b1 e6 2c b2];
phandle = <0x67>;
phy-handle = <0x18>;
phy-mode = "rgmii";
pinctrl-0 = <0x16 0x17>;
pinctrl-names = "default";
power-domains = <0x03 0x01>;
reg = <0x00 0xff3f0000 0x00 0x10000 0x00 0xff634540 0x00 0x08>;
rx-fifo-depth = <0x1000>;
status = "okay";
tx-fifo-depth = <0x800>;
mdio {
#address-cells = <0x01>;
#size-cells = <0x00>;
compatible = "snps,dwmac-mdio";
phandle = <0x24>;
};
};
gpu@ffe40000 {
#cooling-cells = <0x02>;
clocks = <0x02 0xaf>;
compatible = "amlogic,meson-g12a-mali\0arm,mali-bifrost";
dma-coherent;
interrupt-names = "job\0mmu\0gpu";
interrupt-parent = <0x01>;
interrupts = <0x00 0xa2 0x04 0x00 0xa1 0x04 0x00 0xa0 0x04>;
operating-points-v2 = <0x4a>;
phandle = <0x15>;
reg = <0x00 0xffe40000 0x00 0x40000>;
resets = <0x05 0x14 0x05 0x4e>;
};
interrupt-controller@ffc01000 {
#address-cells = <0x00>;
#interrupt-cells = <0x03>;
compatible = "arm,gic-400";
interrupt-controller;
interrupts = <0x01 0x09 0xff04>;
phandle = <0x01>;
reg = <0x00 0xffc01000 0x00 0x1000 0x00 0xffc02000 0x00 0x2000 0x00 0xffc04000 0x00 0x2000 0x00 0xffc06000 0x00 0x2000>;
};
mmc@ffe07000 {
bus-width = <0x08>;
cap-mmc-highspeed;
clock-names = "core\0clkin0\0clkin1";
clocks = <0x02 0x23 0x02 0x3e 0x02 0x02>;
compatible = "amlogic,meson-axg-mmc";
disable-wp;
interrupts = <0x00 0xbf 0x01>;
max-frequency = <0xbebc200>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-pwrseq = <0x46>;
phandle = <0x12e>;
pinctrl-0 = <0x42 0x43 0x44>;
pinctrl-1 = <0x45>;
pinctrl-names = "default\0clk-gate";
reg = <0x00 0xffe07000 0x00 0x800>;
resets = <0x05 0x2e>;
status = "okay";
vmmc-supply = <0x31>;
vqmmc-supply = <0x47>;
};
pcie@fc000000 {
#address-cells = <0x03>;
#interrupt-cells = <0x01>;
#size-cells = <0x02>;
bus-range = <0x00 0xff>;
clock-names = "general\0pclk\0port";
clocks = <0x02 0x30 0x02 0x2d 0x02 0xc9>;
compatible = "amlogic,g12a-pcie\0snps,dw-pcie";
device_type = "pci";
interrupt-map = <0x00 0x00 0x00 0x00 0x01 0x00 0xdf 0x04>;
interrupt-map-mask = <0x00 0x00 0x00 0x00>;
interrupts = <0x00 0xdd 0x04>;
num-lanes = <0x01>;
phandle = <0x62>;
phy-names = "pcie";
phys = <0x06 0x02>;
ranges = <0x81000000 0x00 0x00 0x00 0xfc600000 0x00 0x100000 0x82000000 0x00 0xfc700000 0x00 0xfc700000 0x00 0x1900000>;
reg = <0x00 0xfc000000 0x00 0x400000 0x00 0xff648000 0x00 0x2000 0x00 0xfc400000 0x00 0x200000>;
reg-names = "elbi\0cfg\0config";
reset-gpios = <0x07 0x39 0x01>;
reset-names = "port\0apb";
resets = <0x05 0x0c 0x05 0x0f>;
status = "disabled";
};
sd@ffe03000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
amlogic,dram-access-quirk;
bus-width = <0x04>;
cap-sd-highspeed;
clock-names = "core\0clkin0\0clkin1";
clocks = <0x02 0x21 0x02 0x3c 0x02 0x02>;
compatible = "amlogic,meson-axg-mmc";
disable-wp;
interrupts = <0x00 0xbd 0x01>;
keep-power-in-suspend;
max-frequency = <0x5f5e100>;
mmc-pwrseq = <0x3e>;
non-removable;
phandle = <0x12b>;
pinctrl-0 = <0x3c>;
pinctrl-1 = <0x3d>;
pinctrl-names = "default\0clk-gate";
reg = <0x00 0xffe03000 0x00 0x800>;
resets = <0x05 0x2c>;
status = "okay";
vmmc-supply = <0x3f>;
vqmmc-supply = <0x33>;
wifi@1 {
compatible = "brcm,bcm4329-fmac";
phandle = <0x12c>;
reg = <0x01>;
};
};
sd@ffe05000 {
bus-width = <0x04>;
cap-sd-highspeed;
cd-gpios = <0x07 0x2f 0x01>;
clock-names = "core\0clkin0\0clkin1";
clocks = <0x02 0x22 0x02 0x3d 0x02 0x02>;
compatible = "amlogic,meson-axg-mmc";
disable-wp;
interrupts = <0x00 0xbe 0x01>;
max-frequency = <0x2faf080>;
phandle = <0x12d>;
pinctrl-0 = <0x40>;
pinctrl-1 = <0x41>;
pinctrl-names = "default\0clk-gate";
reg = <0x00 0xffe05000 0x00 0x800>;
resets = <0x05 0x2d>;
status = "okay";
vmmc-supply = <0x3f>;
vqmmc-supply = <0x3f>;
};
thermal-zones {
cpu-thermal {
phandle = <0x63>;
polling-delay = <0x3e8>;
polling-delay-passive = <0x64>;
thermal-sensors = <0x08>;
cooling-maps {
map {
cooling-device = <0x12 0xffffffff 0xffffffff>;
trip = <0x11>;
};
map0 {
cooling-device = <0x0a 0xffffffff 0xffffffff 0x0b 0xffffffff 0xffffffff 0x0c 0xffffffff 0xffffffff 0x0d 0xffffffff 0xffffffff 0x0e 0xffffffff 0xffffffff 0x0f 0xffffffff 0xffffffff>;
trip = <0x09>;
};
map1 {
cooling-device = <0x0a 0xffffffff 0xffffffff 0x0b 0xffffffff 0xffffffff 0x0c 0xffffffff 0xffffffff 0x0d 0xffffffff 0xffffffff 0x0e 0xffffffff 0xffffffff 0x0f 0xffffffff 0xffffffff>;
trip = <0x10>;
};
};
trips {
cpu-active {
hysteresis = <0x7d0>;
phandle = <0x11>;
temperature = <0x13880>;
type = "active";
};
cpu-critical {
hysteresis = <0x7d0>;
phandle = <0x64>;
temperature = <0x1adb0>;
type = "critical";
};
cpu-hot {
hysteresis = <0x7d0>;
phandle = <0x10>;
temperature = <0x17318>;
type = "hot";
};
cpu-passive {
hysteresis = <0x7d0>;
phandle = <0x09>;
temperature = <0x14c08>;
type = "passive";
};
};
};
ddr-thermal {
phandle = <0x65>;
polling-delay = <0x3e8>;
polling-delay-passive = <0x64>;
thermal-sensors = <0x13>;
cooling-maps {
map {
cooling-device = <0x15 0xffffffff 0xffffffff>;
trip = <0x14>;
};
};
trips {
ddr-critical {
hysteresis = <0x7d0>;
phandle = <0x66>;
temperature = <0x1adb0>;
type = "critical";
};
ddr-passive {
hysteresis = <0x7d0>;
phandle = <0x14>;
temperature = <0x14c08>;
type = "passive";
};
};
};
};
usb@ffe09000 {
#address-cells = <0x02>;
#size-cells = <0x02>;
clocks = <0x02 0x2f>;
compatible = "amlogic,meson-g12a-usb-ctrl";
dr_mode = "peripheral";
interrupts = <0x00 0x10 0x04>;
phandle = <0x12f>;
phy-names = "usb2-phy0\0usb2-phy1\0usb3-phy0";
phys = <0x48 0x49 0x06 0x04>;
ranges;
reg = <0x00 0xffe09000 0x00 0xa0>;
resets = <0x05 0x22>;
status = "okay";
usb@ff400000 {
clock-names = "otg";
clocks = <0x02 0x37>;
compatible = "amlogic,meson-g12a-usb\0snps,dwc2";
dr_mode = "peripheral";
g-np-tx-fifo-size = <0x80>;
g-rx-fifo-size = <0xc0>;
g-tx-fifo-size = <0x80 0x80 0x10 0x10 0x10>;
interrupts = <0x00 0x1f 0x04>;
phandle = <0x130>;
phy-names = "usb2-phy";
phys = <0x49>;
reg = <0x00 0xff400000 0x00 0x40000>;
};
usb@ff500000 {
compatible = "snps,dwc3";
dr_mode = "host";
interrupts = <0x00 0x1e 0x04>;
phandle = <0x131>;
reg = <0x00 0xff500000 0x00 0x100000>;
snps,dis_u2_susphy_quirk;
snps,parkmode-disable-ss-quirk;
snps,quirk-frame-length-adjustment = <0x20>;
};
};
video-decoder@ff620000 {
amlogic,ao-sysctrl = <0x23>;
amlogic,canvas = <0x34>;
clock-names = "dos_parser\0dos\0vdec_1\0vdec_hevc\0vdec_hevcf";
clocks = <0x02 0x2e 0x02 0x10 0x02 0xcc 0x02 0xcf 0x02 0xd2>;
compatible = "amlogic,g12a-vdec";
interrupt-names = "vdec\0esparser";
interrupts = <0x00 0x2c 0x01 0x00 0x20 0x01>;
phandle = <0x119>;
reg = <0x00 0xff620000 0x00 0x10000 0x00 0xffd0e180 0x00 0xe4>;
reg-names = "dos\0esparser";
reset-names = "esparser";
resets = <0x05 0x28>;
};
vpu@ff900000 {
#address-cells = <0x01>;
#size-cells = <0x00>;
amlogic,canvas = <0x34>;
compatible = "amlogic,meson-g12a-vpu";
interrupts = <0x00 0x03 0x01>;
phandle = <0x11a>;
power-domains = <0x03 0x00>;
reg = <0x00 0xff900000 0x00 0x100000 0x00 0xff63c000 0x00 0x1000>;
reg-names = "vpu\0hhi";
port@0 {
phandle = <0x11b>;
reg = <0x00>;
};
port@1 {
phandle = <0x11c>;
reg = <0x01>;
endpoint {
phandle = <0x1c>;
remote-endpoint = <0x35>;
};
};
};
};
sound {
assigned-clock-parents = <0x00 0x00 0x00>;
assigned-clock-rates = <0x11940000 0x10266000 0x17700000>;
assigned-clocks = <0x02 0x0d 0x02 0x0b 0x02 0x0c>;
audio-aux-devs = <0x54>;
audio-routing = "TDMOUT_A IN 0\0FRDDR_A OUT 0\0TDMOUT_A IN 1\0FRDDR_B OUT 0\0TDMOUT_A IN 2\0FRDDR_C OUT 0\0TDM_A Playback\0TDMOUT_A OUT";
compatible = "amlogic,axg-sound-card";
model = "G12B-KHADAS-VIM3";
status = "okay";
dai-link-0 {
sound-dai = <0x55>;
};
dai-link-1 {
sound-dai = <0x56>;
};
dai-link-2 {
sound-dai = <0x57>;
};
dai-link-3 {
dai-format = "i2s";
dai-tdm-slot-tx-mask-0 = <0x01 0x01>;
dai-tdm-slot-tx-mask-1 = <0x01 0x01>;
dai-tdm-slot-tx-mask-2 = <0x01 0x01>;
dai-tdm-slot-tx-mask-3 = <0x01 0x01>;
mclk-fs = <0x100>;
sound-dai = <0x58>;
codec {
sound-dai = <0x59 0x00>;
};
};
dai-link-4 {
sound-dai = <0x59 0x03>;
codec {
sound-dai = <0x2b>;
};
};
};
timer {
arm,no-tick-in-suspend;
compatible = "arm,armv8-timer";
interrupts = <0x01 0x0d 0xff08 0x01 0x0e 0xff08 0x01 0x0b 0xff08 0x01 0x0a 0xff08>;
};
wifi32k {
#clock-cells = <0x00>;
clock-frequency = <0x8000>;
compatible = "pwm-clock";
phandle = <0x3b>;
pwms = <0x5a 0x00 0x7736 0x00>;
};
xtal-clk {
#clock-cells = <0x00>;
clock-frequency = <0x16e3600>;
clock-output-names = "xtal";
compatible = "fixed-clock";
phandle = <0x20>;
};
};