From 114fad147c1781cad674652a7dd153d8e6f6aaf8 Mon Sep 17 00:00:00 2001 From: Alex Deryskyba Date: Fri, 23 Jan 2015 02:56:00 +0100 Subject: [PATCH] projects/WeTek_Play: Use wetek_play.dtd instead of meson6_g18.dtd --- projects/WeTek_Play/linux/linux.arm.conf | 2 +- projects/WeTek_Play/options | 2 +- .../30-add_bootargs_to_device_tree.patch | 14 + .../WeTek_Play/patches/linux/30-g18dtd.patch | 2728 ----------------- 4 files changed, 16 insertions(+), 2730 deletions(-) create mode 100644 projects/WeTek_Play/patches/linux/30-add_bootargs_to_device_tree.patch delete mode 100644 projects/WeTek_Play/patches/linux/30-g18dtd.patch diff --git a/projects/WeTek_Play/linux/linux.arm.conf b/projects/WeTek_Play/linux/linux.arm.conf index 9f0d883e90..2de5dfe958 100644 --- a/projects/WeTek_Play/linux/linux.arm.conf +++ b/projects/WeTek_Play/linux/linux.arm.conf @@ -475,7 +475,7 @@ CONFIG_USE_OF=y CONFIG_ATAGS=y CONFIG_DEPRECATED_PARAM_STRUCT=y CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE=y -CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="meson6_g18" +CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES="wetek_play" CONFIG_ZBOOT_ROM_TEXT=0 CONFIG_ZBOOT_ROM_BSS=0 CONFIG_ARM_APPENDED_DTB=y diff --git a/projects/WeTek_Play/options b/projects/WeTek_Play/options index 1197328209..5144f004a0 100644 --- a/projects/WeTek_Play/options +++ b/projects/WeTek_Play/options @@ -51,7 +51,7 @@ KERNEL_UBOOT_TARGET="uImage-dtb" # Kernel extra targets to build - KERNEL_UBOOT_EXTRA_TARGET="meson6_g18.dtd" + KERNEL_UBOOT_EXTRA_TARGET="wetek_play.dtd" # Additional kernel make parameters (for example to specify the u-boot loadaddress) KERNEL_MAKE_EXTRACMD="" diff --git a/projects/WeTek_Play/patches/linux/30-add_bootargs_to_device_tree.patch b/projects/WeTek_Play/patches/linux/30-add_bootargs_to_device_tree.patch new file mode 100644 index 0000000000..0dfa920439 --- /dev/null +++ b/projects/WeTek_Play/patches/linux/30-add_bootargs_to_device_tree.patch @@ -0,0 +1,14 @@ +diff --git a/arch/arm/boot/dts/amlogic/wetek_play.dtd b/arch/arm/boot/dts/amlogic/wetek_play.dtd +index 3fc5e4e..3d3601f 100755 +--- a/arch/arm/boot/dts/amlogic/wetek_play.dtd ++++ b/arch/arm/boot/dts/amlogic/wetek_play.dtd +@@ -20,6 +20,9 @@ void root_func(){ + interrupt-parent = <&gic>; + #address-cells = <1>; + #size-cells = <1>; ++ chosen { ++ bootargs = "root=/dev/ram0 rdinit=/init boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 BOOT_IMAGE=kernel.img console=tty0 consoleblank=0 scaling_governor=hotplug scaling_min_freq=200000 scaling_max_freq=1500000 systemd.show_status=auto"; ++ }; + + /// *************************************************************************************** + /// - CPU diff --git a/projects/WeTek_Play/patches/linux/30-g18dtd.patch b/projects/WeTek_Play/patches/linux/30-g18dtd.patch deleted file mode 100644 index 8fc6cd3a5c..0000000000 --- a/projects/WeTek_Play/patches/linux/30-g18dtd.patch +++ /dev/null @@ -1,2728 +0,0 @@ -diff -Naur a/arch/arm/boot/dts/amlogic/meson6_g18.dtd b/arch/arm/boot/dts/amlogic/meson6_g18.dtd ---- a/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2015-01-12 21:28:39.000000000 +0100 -+++ b/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2015-01-12 21:25:40.000000000 +0100 -@@ -1,761 +1,751 @@ --/* -- * Amlogic-MX SKT Device Tree Source -- * -- * Copyright Amlogic 2013 -- * -- * This program is free software; you can redistribute it and/or modify it -- * under the terms of the GNU General Public License as published by the -- * Free Software Foundation; either version 2 of the License, or (at your -- * option) any later version. -- */ -- --/dts-v1/; --/// ***************************************************************************************\n --//$$ PROJECT="meson6" --//$$ REMOVE 1 --void root_func(){ --//$$ ADD /{ -- compatible = "AMLOGIC,8726_MX"; -- model = "AMLOGIC"; -- interrupt-parent = <&gic>; -- #address-cells = <1>; -- #size-cells = <1>; -- --/// *************************************************************************************** --/// - CPU --//$$ MODULE="CPU" -- cpus { -- #address-cells = <1>; -- #size-cells = <0>; --//$$ DEVICE="cpu0" -- cpu@0 { -- device_type = "cpu"; -- compatible = "arm,cortex-a9"; -- reg = <0x200>; -- }; --//$$ DEVICE="cpu1" -- cpu@1 { -- device_type = "cpu"; -- compatible = "arm,cortex-a9"; -- reg = <0x1>; -- }; -- }; -+/* -+ * Amlogic-MX SKT Device Tree Source -+ * -+ * Copyright Amlogic 2013 -+ * -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License as published by the -+ * Free Software Foundation; either version 2 of the License, or (at your -+ * option) any later version. -+ */ -+ -+/dts-v1/; -+/// ***************************************************************************************\n -+//$$ PROJECT="meson6" -+//$$ REMOVE 1 -+void root_func(){ -+//$$ ADD /{ -+ compatible = "AMLOGIC,8726_MX"; -+ model = "AMLOGIC"; -+ interrupt-parent = <&gic>; -+ #address-cells = <1>; -+ #size-cells = <1>; -+ chosen { -+ bootargs = "root=/dev/ram0 rdinit=/init boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 BOOT_IMAGE=kernel.img console=tty0 consoleblank=0 scaling_governor=hotplug scaling_min_freq=200000 scaling_max_freq=1512000 systemd.show_status=auto"; -+ }; -+ -+/// *************************************************************************************** -+/// - CPU -+//$$ MODULE="CPU" -+ cpus { -+ #address-cells = <1>; -+ #size-cells = <0>; -+//$$ DEVICE="cpu0" -+ cpu@0 { -+ device_type = "cpu"; -+ compatible = "arm,cortex-a9"; -+ reg = <0x200>; -+ }; -+//$$ DEVICE="cpu1" -+ cpu@1 { -+ device_type = "cpu"; -+ compatible = "arm,cortex-a9"; -+ reg = <0x1>; -+ }; -+ }; - /// *************************************************************************************** - /// - Cache - //$$ MODULE="Cache" - //$$ DEVICE="cache" - cache-controller { - compatible = "arm,meson-pl310-cache"; -- reg = <0xc4200000 0x1000>; -+ reg = <0xc4200000 0x1000>; - cache-unified; - cache-level = <2>; - aux-instruction_prefetch; - aux-data_prefetch; -- aux-ns_lockdown; -- aux-ns_int_ctrl; -- aux-share_override; -- aux-cache_replace_policy_round_robin; -- prefetch-prefetch_offset = <6>; -- }; -- --/// *************************************************************************************** --/// - Memory --//$$ MODULE="Memory" --//$$ DEVICE="memory" --//$$ L2 PROP_U32 = "aml_reserved_start" --//$$ L2 PROP_U32 = "aml_reserved_end" --//$$ L2 PROP_U32 = "linux,usable-memory" -- memory{ -- device_type = "memory"; -- aml_reserved_start = <0x85000000>; /**reserved memory start-for kernel */ -- aml_reserved_end = <0x84000000>;/**reserved uImage and dtb memory-for uboot*/ -+ aux-ns_lockdown; -+ aux-ns_int_ctrl; -+ aux-share_override; -+ aux-cache_replace_policy_round_robin; -+ prefetch-prefetch_offset = <6>; -+ }; -+ -+/// *************************************************************************************** -+/// - Memory -+//$$ MODULE="Memory" -+//$$ DEVICE="memory" -+//$$ L2 PROP_U32 = "aml_reserved_start" -+//$$ L2 PROP_U32 = "aml_reserved_end" -+//$$ L2 PROP_U32 = "linux,usable-memory" -+ memory{ -+ device_type = "memory"; -+ aml_reserved_start = <0x85000000>; /**reserved memory start-for kernel */ -+ aml_reserved_end = <0x84000000>;/**reserved uImage and dtb memory-for uboot*/ - phys_offset = <0x80000000>; -- linux,total-memory = <0x40000000>;/**0x40000000--1G memory 0x80000000--2G memory*/ -- }; -- --/// *************************************************************************************** --/// - GIC --//$$ MODULE="GIC" --//$$ DEVICE="gic" -- gic:interrupt-controller{ -- compatible = "arm,cortex-a9-gic"; -- reg = <0xc4301000 0x1000 -- 0xc4300100 0x0100>; -- interrupt-controller; -- #interrupt-cells = <3>; -- #address-cells = <0>; -- }; -- --/// *************************************************************************************** --/// - ION --//$$ MODULE="ION" --//$$ DEVICE="ion_dev" --//$$ L2 PROP_STR = "status" -- ion_dev{ -- compatible = "amlogic,ion_dev"; -- dev_name = "ion_dev"; -- status = "ok"; -+ linux,total-memory = <0x40000000>;/**0x40000000--1G memory 0x80000000--2G memory*/ -+ }; -+ -+/// *************************************************************************************** -+/// - GIC -+//$$ MODULE="GIC" -+//$$ DEVICE="gic" -+ gic:interrupt-controller{ -+ compatible = "arm,cortex-a9-gic"; -+ reg = <0xc4301000 0x1000 -+ 0xc4300100 0x0100>; -+ interrupt-controller; -+ #interrupt-cells = <3>; -+ #address-cells = <0>; -+ }; -+ -+/// *************************************************************************************** -+/// - ION -+//$$ MODULE="ION" -+//$$ DEVICE="ion_dev" -+//$$ L2 PROP_STR = "status" -+ ion_dev{ -+ compatible = "amlogic,ion_dev"; -+ dev_name = "ion_dev"; -+ status = "ok"; - reserve-memory = <0x02000000>; -- reserve-iomap = "true"; -- }; -- --/// ************************************************************************************** --/// - DISP&MM-FB --//$$ MODULE = "DISP&MM-FB" --//$$ DEVICE = "mesonfb" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 2 ="reserve-memory" --//$$ L2 PROP_U32 = "vmode" --//$$ L2 PROP_U32 5 = "display_size_default" -- mesonfb{ -- compatible = "amlogic,mesonfb"; -- dev_name = "mesonfb"; -- status = "okay"; -- reserve-memory = <0x01000000 0x00100000>; -- reserve-iomap = "true"; -- vmode = <0>; /*0:VMODE_720P 1:VMODE_LCD 2:VMODE_LVDS_1080P 3:VMODE_1080P*/ -- scale_mode = <0>; /*0:default 1:new*/ -- display_size_default = <1280 1080 1280 3240 32>; // osd0:16M, osd1:1m 1280*1080*4*3 = 16,588,800 -- }; --//$$ DEVICE="deinterlace" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_U32 = "reserve-memory" -- deinterlace{ -- compatible = "amlogic,deinterlace"; -- dev_name = "deinterlace"; -- status = "okay"; -- reserve-memory = <0x01c00000>; // 27M -- reserve-iomap = "true"; -- }; -- --/// *************************************************************************************** --/// - DISP&MM-A/V stream --//$$ MODULE = "DISP&MM-A/V stream" --//$$ DEVICE="mesonstream" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 4 ="reserve-memory" -- mesonstream{ -- compatible = "amlogic,mesonstream"; -- dev_name = "mesonstream.0"; -- status = "okay"; -- reserve-memory = <0x00a00000>; //10M -- reserve-iomap = "true"; -- }; -- -- --/// *************************************************************************************** --/// - DISP&MM-A/V stream --//$$ MODULE = "DISP&MM-A/V video dec" --//$$ DEVICE="vdec" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 4 ="reg" -- vdec{ -- compatible = "amlogic,vdec"; -- dev_name = "vdec.0"; -- status = "okay"; -- reserve-memory = <0x02000000>; //32M -- reserve-iomap = "true"; -- }; -- --/// *************************************************************************************** --/// - DISP&MM-PostProcess --//$$ MODULE="DISP&MM-PostProcess" --//$$ DEVICE="ppmgr" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 ="reserve-memory" -- ppmgr{ -- compatible = "amlogic,ppmgr"; -- dev_name = "ppmgr"; -- status = "okay"; -- reserve-memory = <0x01300000>; // 1280*732*21 = 19,676,160 -- reserve-iomap = "true"; -- }; -- -- --/// *************************************************************************************** --/// - DISP&MM-Vout --//$$ MODULE = "DISP&MM-Vout" --//$$ DEVICE = "mesonvout" --//$$ L2 PROP_STR = "status" -- mesonvout{ -- compatible = "amlogic,mesonvout"; -- dev_name = "mesonvout"; -- status = "okay"; -- }; -- --/// *************************************************************************************** --/// - EARLY_INIT --//$$ MODULE="early_init" --//$$ DEVICE = "early_init" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_STR ="gpio-1" --//$$ L2 PROP_STR = "gpio-2" -- early_init{ -- compatible = "amlogic,early_init"; -- dev_name = "early_init"; -- status = "ok"; -- gpio-1 = "GPIOAO_3"; -- gpio-2 = "GPIOAO_2"; -- }; -- --/// *************************************************************************************** --/// - RTC --//$$ MODULE="RTC" --//$$ DEVICE="Rtc" --//$$ L2 PROP_STR = "status" -- rtc{ -- compatible = "amlogic,aml_rtc"; -- status = "okay"; -- }; -- --/// *************************************************************************************** --/// - UART --//$$ MODULE="UART" --//$$ DEVICE="uart_ao" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_STR = "pinctrl-names" --//$$ L3 PROP_CHOICE "uart_ao_pin_match" = "pinctrl-0" -- uart_ao{ -- compatible = "amlogic,aml_uart"; -- port_name = "uart_ao"; -- status = "okay"; -- dev_name = "uart_ao"; -- pinctrl-names = "default"; -- pinctrl-0 = <&ao_uart_pins>; -- }; -- --//$$ DEVICE="uart_0" --//$$ L2 PROP_STR = "status" -- uart_0{ -- compatible = "amlogic,aml_uart"; -- port_name = "uart_a"; -- status = "okay"; -- dev_name = "uart_0"; -- }; -- --//$$ DEVICE="uart_1" --//$$ L2 PROP_STR = "status" -- uart_1{ -- compatible = "amlogic,aml_uart"; -- port_name = "uart_b"; -- status = "disabled"; -- dev_name = "uart_1"; -- }; -- --//$$ DEVICE="uart_2" --//$$ L2 PROP_STR = "status" -- uart_2{ -- compatible = "amlogic,aml_uart"; -- port_name = "uart_c"; -- status = "disabled"; -- dev_name = "uart_2"; -- }; -- --//$$ DEVICE="uart_3" --//$$ L2 PROP_STR = "status" -- uart_3{ -- compatible = "amlogic,aml_uart"; -- port_name = "uart_d"; -- status = "ok"; -- dev_name = "uart_3"; -- }; -- --/// *************************************************************************************** --/// - WiFi --//$$ MODULE="WiFi" --//$$ DEVICE="wifi_power" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_STR = "power_gpio" -- wifi_power{ -- compatible = "amlogic,wifi_power"; -- dev_name = "wifi_power"; -- status = "okay"; -- power_gpio = "GPIOE_11"; -- }; -- --/// *************************************************************************************** --/// - MMC --//$$ MODULE="MMC" --//$$ DEVICE="aml_sdio" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 2 ="reg" --//$$ L2 PROP_STR 7 = "pinctrl-names" --//$$ L2 PROP_CHOICE "sdio_pin_0_match" = "pinctrl-0" --//$$ L2 PROP_CHOICE "sdio_pin_1_match" = "pinctrl-1" --//$$ L2 PROP_CHOICE "sdio_pin_2_match" = "pinctrl-2" --//$$ L2 PROP_CHOICE "sdio_pin_3_match" = "pinctrl-3" --//$$ L2 PROP_CHOICE "sdio_pin_4_match" = "pinctrl-4" --//$$ L2 PROP_CHOICE "sdio_pin_5_match" = "pinctrl-5" --// L2 PROP_CHOICE "sdio_pin_6_match" = "pinctrl-6" -- sdio{ -- compatible = "amlogic,aml_sdio"; -- dev_name = "aml_sdio.0"; -- status = "okay"; -- reg = <0xc1108c20 0x20>; -- pinctrl-names = "sd_clk_cmd_pins", "sd_all_pins", "emmc_clk_cmd_pins", "emmc_all_pins", "sdio_clk_cmd_pins", "sdio_all_pins"; /*sd:sdio_b, emmc:sdio_c, sdio:sdio_a*/ -- // pinctrl-0 = <&sd_pins>; -- // pinctrl-1 = <&emmc_pins>; -- // pinctrl-2 = <&sdio_pins>; -- pinctrl-0 = <&sd_clk_cmd_pins>; -- pinctrl-1 = <&sd_all_pins>; -- pinctrl-2 = <&emmc_clk_cmd_pins>; -- pinctrl-3 = <&emmc_all_pins>; -- pinctrl-4 = <&sdio_clk_cmd_pins>; -- pinctrl-5 = <&sdio_all_pins>; -- --//$$ DEVICE="sd" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 = "port" --//$$ L2 PROP_STR = "pinname" --//$$ L3 PROP_U32 = "ocr_avail" --//$$ L2 PROP_STR 3 = "caps" --//$$ L3 PROP_U32 = "f_min" --//$$ L3 PROP_U32 = "f_max" --//$$ L3 PROP_U32 = "f_max_w" --//$$ L3 PROP_U32 = "max_req_size" --//$$ L2 PROP_STR = "gpio_dat3" --//$$ L2 PROP_STR = "jtag_pin" --//$$ L2 PROP_STR = "gpio_cd" --//$$ L2 PROP_STR = "gpio_ro" --//$$ L2 PROP_U32 = "irq_in" --//$$ L2 PROP_U32 = "irq_out" --//$$ L2 PROP_U32 = "card_type" -- sd{ -- status = "okay"; -- port = <1>; /**0:sdio_a, 1:sdio_b, 2:sdio_c, 3:sdhc_a, 4:sdhc_b, 5:sdhc_c */ -- pinname = "sd"; -- ocr_avail = <0x200000>; /**VDD voltage 3.3 ~ 3.4 */ -- caps = "MMC_CAP_4_BIT_DATA","MMC_CAP_MMC_HIGHSPEED","MMC_CAP_SD_HIGHSPEED"; -- f_min = <300000>; -- f_max = <50000000>; -- f_max_w = <50000000>; -- max_req_size = <0x20000>; /**128KB*/ -- gpio_dat3 = "CARD_3"; -- gpio_cd = "CARD_6"; -- gpio_power = "CARD_8"; -- power_level = <0>; -- irq_in = <5>; -- #irq_in_edge = "GPIO_IRQ_FALLING"; -- irq_out = <6>; -- #irq_out_edge = "GPIO_IRQ_RISING"; -- card_type = <5>; /* 0:unknown, 1:mmc card(include eMMC), 2:sd card(include tSD), 3:sdio device(ie:sdio-wifi), 4:SD combo (IO+mem) card, 5:NON sdio device(means sd/mmc card), other:reserved */ -- }; -- --//$$ DEVICE="emmc" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 = "port" --//$$ L2 PROP_STR = "pinname" --//$$ L3 PROP_U32 = "ocr_avail" --//$$ L2 PROP_STR 4 = "caps" --//$$ L3 PROP_U32 = "f_min" --//$$ L3 PROP_U32 = "f_max" --//$$ L3 PROP_U32 = "f_max_w" --//$$ L3 PROP_U32 = "max_req_size" --//$$ L2 PROP_STR = "gpio_dat3" --//$$ L2 PROP_U32 = "card_type" -- // emmc{ -- // port = <2>; /*0:sdio_a, 1:sdio_b, 2:sdio_c, 3:sdhc_a, 4:sdhc_b, 5:sdhc_c */ -- // pinname = "emmc"; -- // ocr_avail = <0x200000>; /*VDD voltage 3.3 ~ 3.4 */ -- // caps = "MMC_CAP_4_BIT_DATA","MMC_CAP_MMC_HIGHSPEED","MMC_CAP_SD_HIGHSPEED", "MMC_CAP_NONREMOVABLE"; // MMC_CAP_NEEDS_POLL -- for detect, MMC_CAP_NONREMOVABLE -- for eMMC/TSD -- // f_min = <300000>; -- // f_max = <50000000>; -- // f_max_w = <50000000>; -- // max_req_size = <0x20000>; /*128KB*/ -- // gpio_dat3 = "BOOT_3"; -- // #gpio_cd = "CARD_6"; -- // #gpio_power = "CARD_8"; -- // #power_level = <0>; -- // card_type = <5>; /* 0:unknown, 1:mmc card(include eMMC), 2:sd card(include tSD), 3:sdio device(ie:sdio-wifi), 4:SD combo (IO+mem) card, 5:NON sdio device(means sd/mmc card), other:reserved */ -- // }; -- -- // sdio{ -- // port = <0>; /*0:sdio_a, 1:sdio_b, 2:sdio_c, 3:sdhc_a, 4:sdhc_b, 5:sdhc_c */ -- // pinname = "sdio"; -- // ocr_avail = <0x200000>; /*VDD voltage 3.3 ~ 3.4 */ -- // caps = "MMC_CAP_4_BIT_DATA","MMC_CAP_MMC_HIGHSPEED","MMC_CAP_SD_HIGHSPEED", "MMC_CAP_NONREMOVABLE"; -- // f_min = <300000>; -- // f_max = <50000000>; -- // f_max_w = <50000000>; -- // max_req_size = <0x20000>; /*128KB*/ -- // card_type = <3>; /* 0:unknown, 1:mmc card(include eMMC), 2:sd card(include tSD), 3:sdio device(ie:sdio-wifi), 4:SD combo (IO+mem) card, 5:NON sdio device(means sd/mmc card), other:reserved */ -- // }; -- }; -- -- // sdhc{ -- // compatible = "amlogic,aml_sdhc"; -- // dev_name = "aml_sdhc.0"; -- // reg = <0xc1108e00 0x30>; -- // pinctrl-names = "sd"; /*sd:sdio_b, emmc:sdio_c, sdio:sdio_a*/ -- // pinctrl-0 = <&sdhc_b_pins>; -- -- // sd{ -- // port = <4>; /*0:sdio_a, 1:sdio_b, 2:sdio_c, 3:sdhc_a, 4:sdhc_b, 5:sdhc_c */ -- // pinname = "sd"; -- // ocr_avail = <0x200000>; /*VDD voltage 3.3 ~ 3.4 */ -- // caps = "MMC_CAP_4_BIT_DATA","MMC_CAP_MMC_HIGHSPEED","MMC_CAP_SD_HIGHSPEED"; -- // f_min = <300000>; -- // f_max = <50000000>; -- // f_max_w = <50000000>; -- // max_req_size = <0x80000>; /*512KB*/ -- // gpio_cd = "CARD_6"; -- // gpio_power = "CARD_8"; -- // power_level = <0>; -- // irq_in = <5>; -- // irq_out = <6>; -- // }; -- // }; -- -- --/// *************************************************************************************** --/// - I2C --//$$ MODULE="I2C" --//$$ DEVICE="I2C_AO" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 2 ="reg" --//$$ L3 PROP_STR = "pinctrl-names" --//$$ L2 PROP_CHOICE "I2C_AO_pin_match" = "pinctrl-0" -- i2c@c8100500{ /*I2C-AO*/ -- compatible = "amlogic,aml_i2c"; -- dev_name = "i2c-AO"; -- status = "ok"; -- reg = <0xc8100500 0x1d>; -- #address-cells = <1>; -- #size-cells = <0>; -- device_id = <0>; -- pinctrl-names="default"; -- pinctrl-0=<&ao_i2c_master>; -- use_pio = <0>; -- master_i2c_speed = <100000>; -- }; -- --//$$ DEVICE = "I2C_A" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 2 ="reg" --//$$ L3 PROP_STR = "pinctrl-names" --//$$ L2 PROP_CHOICE "I2C_A_pin_match" = "pinctrl-0" -- i2c@c1108500{ /*I2C-A*/ -- compatible = "amlogic,aml_i2c"; -- dev_name = "i2c-A"; -- status = "ok"; -- reg = <0xc1108500 0x20>; -- device_id = <1>; -- pinctrl-names="default"; -- pinctrl-0=<&a_i2c_master>; -- #address-cells = <1>; -- #size-cells = <0>; -- use_pio = <0>; -- master_i2c_speed = <300000>; -- }; -- --//$$ DEVICE="I2C_B" --//$$ L2 PROP_STR = "status" --//$$ L3 PROP_U32 2="reg" --//$$ L3 PROP_STR = "pinctrl-names" --//$$ L2 PROP_CHOICE "I2C_B_pin_match" = "pinctrl-0" -- i2c@c11087c0{ /*I2C-B*/ -- compatible = "amlogic,aml_i2c"; -- dev_name = "i2c-B"; -- status = "ok"; -- reg = <0xc11087c0 0x20>; -- device_id = <2>; -- pinctrl-names="default"; -- pinctrl-0=<&b_i2c_master>; -- #address-cells = <1>; -- #size-cells = <0>; -- use_pio = <0>; -- master_i2c_speed = <300000>; -- }; -- --/// *************************************************************************************** --/// - Power --//$$ MODULE="Power" --//$$ DEVICE="dvfs" --//$$ L2 PROP_STR = "status" -- dvfs { -- compatible = "amlogic, amlogic-dvfs"; /** fixed for driver, don't change */ -- #address-cells = <1>; -- #size-cells = <0>; -- status = "ok"; -- --//$$ L2 PROP_U32 = "dvfs_id" --//$$ L2 PROP_U32 = "table_count" --//$$ L2 PROP_U32 11*3 = "dvfs_table" -- vcck_dvfs { -- dvfs_id = <1>; /** must be value of (1 << n) */ -- table_count = <11>; /** must be correct count for dvfs_table */ -- dvfs_table = < -- /* NOTE: frequent in this table must be ascending order */ -- /* frequent(Khz) min_uV max_uV */ -- 200000 1079000 1079000 -- 600000 1079000 1079000 -- 792000 1079000 1079000 -- 816000 1147000 1147000 -- 840000 1147000 1147000 -- 984000 1147000 1147000 -- 1000000 1147000 1147000 -- 1080000 1249000 1249000 -- 1200000 1266000 1266000 -- 1320000 1334000 1334000 -- 1500000 1334000 1334000 -- >; -- }; -- }; --//$$ DEVICE="meson_vcck_dvfs_driver" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_STR = "pinctrl-names" --//$$ L2 PROP_CHOICE "meson_vcck_dvfs_pin_0_match" = "pinctrl-0" --//$$ L2 PROP_U32 = "use_pwm" --//$$ L2 PROP_U32 = "table_count" --//$$ L2 PROP_U32 16*2 = "cs_voltage_table" -- meson_vcck_dvfs_driver{ -- compatible = "amlogic, meson_vcck_dvfs"; -- dev_name = "meson_vcck_dvfs_driver"; -- status = "ok"; -- pinctrl-names = "default"; -- pinctrl-0 = <&aml_pwm_pins>; -- use_pwm = <1>; -- pmw_controller = "PWM_C"; -- table_count = <16>; -- cs_voltage_table = < -- /* -- * Note: This table is hardware depended, If your hardware use PWM method, -- * then first line in this table is PWM register value, second line is -- * voltage of VCCK according this PWM register value. If your platform use -- * constant-current source to adjust vcck voltage, then the first line should -- * set to 0, means not valid, member 'use_pwm' in this node should set to 0. -- * -- * ---- This table must be in ascending order by voltage ---- -- * -- * PWM value VCCK voltage -- */ -- 0x130009 1079000 -- 0x12000a 1096000 -- 0x11000b 1113000 -- 0x10000c 1130000 -- 0x0f000d 1147000 -- 0x0e000e 1164000 -- 0x0d000f 1181000 -- 0x0c0010 1198000 -- 0x0b0011 1215000 -- 0x0a0012 1232000 -- 0x090013 1249000 -- 0x080014 1266000 -- 0x070015 1283000 -- 0x060016 1300000 -- 0x050017 1317000 -- 0x040018 1334000 -- >; -- }; -- -- -- --/// *************************************************************************************** --/// - USB Controller --//$$ MODULE="USB Controller" -- usb_con { -- lm-compatible = "logicmodule-bus"; -- --//$$ DEVICE="usb_b" --//$$ L2 PROP_U32 = "lm-periph-id" --//$$ L2 PROP_STR = "clock-src" --//$$ L2 PROP_U32 = "port-id" --//$$ L2 PROP_U32 = "port-type" --//$$ L2 PROP_U32 = "port-speed" --//$$ L2 PROP_U32 = "port-config" --//$$ L2 PROP_U32 = "port-dma" --//$$ L2 PROP_U32 = "port-id-mode" --//$$ L2 PROP_STR = "status" -- usb_b{ -- lm-compatible = "amlogic,usb"; -- lm-periph-id = <1>; /** lm name */ -- clock-src = "usb1"; /** clock src */ -- port-id = <1>; /** ref to mach/usb.h */ -- port-type = <1>; /** 0: otg, 1: host, 2: slave */ -- port-speed = <0>; /** 0: default, 1: high, 2: full */ -- port-config = <0>; /** 0: default */ -- port-dma = <0>; /** 0: default, 1: single, 2: incr, 3: incr4, 4: incr8, 5: incr16, 6: disable*/ -- port-id-mode = <1>; /** 0: hardware, 1: sw_host, 2: sw_slave*/ -- status = "okay"; -- }; -- --//$$ DEVICE="usb_a" --//$$ L2 PROP_U32 = "lm-periph-id" --//$$ L2 PROP_STR = "clock-src" --//$$ L2 PROP_U32 = "port-id" --//$$ L2 PROP_U32 = "port-type" --//$$ L2 PROP_U32 = "port-speed" --//$$ L2 PROP_U32 = "port-config" --//$$ L2 PROP_U32 = "port-dma" --//$$ L2 PROP_U32 = "port-id-mode" --//$$ L2 PROP_STR = "gpio-vbus-power" --//$$ L2 PROP_U32 = "gpio-work-mask" --// L2 PROP_U32 = "charger_detect" --//$$ L2 PROP_STR = "status" -- usb_a{ -- lm-compatible = "amlogic,usb"; -- lm-periph-id = <0>; /** lm name */ -- clock-src = "usb0"; /** clock src */ -- port-id = <0>; /** ref to mach/usb.h */ -- port-type = <0>; /** 0: otg, 1: host, 2: slave */ -- port-speed = <0>; /** 0: default, high, 1: full */ -- port-config = <0>; /** 0: default */ -- port-dma = <0>; /** 0: default, 1: single, 2: incr, 3: incr4, 4: incr8, 5: incr16, 6: disable*/ -- port-id-mode = <0>; /** 0: hardware, 1: sw_host, 2: sw_slave*/ -- gpio-vbus-power = "GPIOD_9"; -- gpio-work-mask = <1>; /**0: work on pulldown,1:work on pullup*/ -- status = "okay"; -- }; -- }; -- -- -- --/// *************************************************************************************** --/// - Audio --//$$ MODULE="Audio" --//$$ DEVICE="audio" --//$$ L2 PROP_STR = "status" -- audio{ -- compatible = "amlogic,aml-audio"; -- dev_name = "aml-audio.0"; -- status = "okay"; -- }; -- --//$$ DEVICE="audio_dai" --//$$ L2 PROP_STR = "status" -- audio_dai{ -- compatible = "amlogic,aml-dai"; -- dev_name = "aml-dai.0"; -- status = "okay"; -- }; -- --//$$ DEVICE="dummy_codec_audio" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_STR = "pinctrl-names" --//$$ L3 PROP_CHOICE "dummy_codec_audio_0_pin_match" = "pinctrl-0" -- dummy_codec_audio{ -- status = "okay"; -- compatible = "amlogic,aml_dummy_codec_audio"; -- dev_name = "aml_dummy_codec_audio.0"; -- pinctrl-names = "dummy_codec_audio"; -- pinctrl-0 = <&aml_dummy_codec_pins>; -- }; -- --//$$ DEVICE="dummy_codec" --//$$ L2 PROP_STR = "status" -- dummy_codec{ -- status = "okay"; -- compatible = "amlogic,aml_dummy_codec"; -- dev_name = "dummy_codec.0"; -- }; -- -- -- --/// *************************************************************************************** --/// - Input --//$$ MODULE="Input" --//$$ DEVICE="saradc" --//$$ L2 PROP_STR = "status" -- saradc{ -- compatible = "amlogic,saradc"; -- status = "okay"; -- }; --//$$ DEVICE="adc_keypad" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_STR 5 = "key_name" --//$$ L2 PROP_U32 = "key_num" --//$$ L2 PROP_U32 = "name_len" --//$$ L2 PROP_U32 5 = "key_code" --//$$ L2 PROP_U32 5 = "key_chan" --//$$ L2 PROP_U32 5 = "key_val" --//$$ L2 PROP_U32 5 = "key_tolerance" -- adc_keypad{ -- compatible = "amlogic,adc_keypad"; -- status = "okay"; -- key_num = <6>; -- name_len = <20>; -- key_name = "menu","vol-","vol+","back","home","ok"; -- key_code = <139 114 115 158 102 232>; -- key_chan = <4 4 4 4 4 4>; -- key_val = <9 150 275 392 513 639>; -- key_tolerance = <40 40 40 40 40 40>; -- }; --//$$ DEVICE="key_input" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_U32 = "scan_period" --//$$ L2 PROP_U32 = "fuzz_time" --//$$ L2 PROP_U32 = "key_code_list" --//$$ L2 PROP_U32 = "key_num" --//$$ L2 PROP_U32 = "config" -- key_input{ -- compatible = "amlogic,key_input"; -- status = "okay"; -- scan_period = <20>; -- fuzz_time = <60>; -- key_code_list = <116>; -- key_num = <1>; -- config = <0>; -- }; --//$$ DEVICE="aml_remote" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_U32 = "ao_baseaddr" --//$$ L2 PROP_STR = "pinctrl-names" --//$$ L2 PROP_CHOICE "Remote_pin_match" = "pinctrl-0" -- meson-remote{ -- compatible = "amlogic,aml_remote"; -- dev_name = "meson-remote"; -- status = "okay"; -- ao_baseaddr = <0xf3100480>; -- pinctrl-names="default"; -- pinctrl-0=<&remote_pins>; -- }; -- -- --/// *************************************************************************************** --/// - Spi --//$$ MODULE="Spi" --//$$ DEVICE="spi" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_U32 2 = "reg" --//$$ L2 PROP_STR = "pinctrl-names" --//$$ L2 PROP_CHOICE "Spi_pin_0_match" = "pinctrl-0" --//$$ L2 PROP_U32 = "nr-parts" --//$$ L2 PROP_CHOICE "Spi_nr-part-0_match" = "nr-part-0" --//$$ L2 PROP_CHOICE "Spi_nr-part-1_match" = "nr-part-1" -- spi@cc000000{ -- compatible = "amlogic,apollo_spi_nor"; -- status = "ok"; -- reg = <0xcc000000 0x04000000>; -- pinctrl-names = "default"; -- pinctrl-0 = <&aml_spi_nor_pins>; -- -- nr-parts = <2>; -- nr-part-0 = <&bootloader>; -- nr-part-1 = <&ubootenv>; -- --//$$ MATCH "Spi_nr-part-0_match" = <&bootloader> --//$$ L2 PROP_STR = "name" --//$$ L2 PROP_U32 = "offset" --//$$ L2 PROP_U32 = "size" -- bootloader:bootloader{ -- name = "bootloader"; -- offset = <0>; -- size = <0x60000>; -- }; -- --//$$ MATCH "Spi_nr-part-1_match" = <&ubootenv> --//$$ L2 PROP_STR = "name" --//$$ L2 PROP_U32 = "offset" --//$$ L2 PROP_U32 = "size" -- ubootenv:ubootenv{ -- name = "ubootenv"; -- offset = <0x80000>; -- size = <0x8000>; -- }; -- }; -- --/// *************************************************************************************** --/// - Nand -+ reserve-iomap = "true"; -+ }; -+ -+/// ************************************************************************************** -+/// - DISP&MM-FB -+//$$ MODULE = "DISP&MM-FB" -+//$$ DEVICE = "mesonfb" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 2 ="reserve-memory" -+//$$ L2 PROP_U32 = "vmode" -+//$$ L2 PROP_U32 5 = "display_size_default" -+ mesonfb{ -+ compatible = "amlogic,mesonfb"; -+ dev_name = "mesonfb"; -+ status = "okay"; -+ reserve-memory = <0x01000000 0x00100000>; -+ reserve-iomap = "true"; -+ vmode = <0>; /*0:VMODE_720P 1:VMODE_LCD 2:VMODE_LVDS_1080P 3:VMODE_1080P*/ -+ scale_mode = <0>; /*0:default 1:new*/ -+ display_size_default = <1280 720 1280 2160 32>; // osd0:8M, osd1:1m 1280*720*4*3 = 11,059,200 -+ }; -+//$$ DEVICE="deinterlace" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_U32 = "reserve-memory" -+ deinterlace{ -+ compatible = "amlogic,deinterlace"; -+ dev_name = "deinterlace"; -+ status = "okay"; -+ reserve-memory = <0x01c00000>; // 27M -+ reserve-iomap = "true"; -+ }; -+ -+/// *************************************************************************************** -+/// - DISP&MM-A/V stream -+//$$ MODULE = "DISP&MM-A/V stream" -+//$$ DEVICE="mesonstream" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 4 ="reserve-memory" -+ mesonstream{ -+ compatible = "amlogic,mesonstream"; -+ dev_name = "mesonstream.0"; -+ status = "okay"; -+ reserve-memory = <0x00a00000>; //10M -+ reserve-iomap = "true"; -+ }; -+ -+ -+/// *************************************************************************************** -+/// - DISP&MM-A/V stream -+//$$ MODULE = "DISP&MM-A/V video dec" -+//$$ DEVICE="vdec" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 4 ="reg" -+ vdec{ -+ compatible = "amlogic,vdec"; -+ dev_name = "vdec.0"; -+ status = "okay"; -+ reserve-memory = <0x02000000>; //32M -+ reserve-iomap = "true"; -+ }; -+ -+/// *************************************************************************************** -+/// - DISP&MM-PostProcess -+//$$ MODULE="DISP&MM-PostProcess" -+//$$ DEVICE="ppmgr" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 ="reserve-memory" -+ ppmgr{ -+ compatible = "amlogic,ppmgr"; -+ dev_name = "ppmgr"; -+ status = "okay"; -+ reserve-memory = <0x01300000>; // 1280*732*21 = 19,676,160 -+ reserve-iomap = "true"; -+ }; -+ -+ -+/// *************************************************************************************** -+/// - DISP&MM-Vout -+//$$ MODULE = "DISP&MM-Vout" -+//$$ DEVICE = "mesonvout" -+//$$ L2 PROP_STR = "status" -+ mesonvout{ -+ compatible = "amlogic,mesonvout"; -+ dev_name = "mesonvout"; -+ status = "okay"; -+ }; -+ -+/// *************************************************************************************** -+/// - EARLY_INIT -+//$$ MODULE="early_init" -+//$$ DEVICE = "early_init" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_STR ="gpio-1" -+//$$ L2 PROP_STR = "gpio-2" -+ early_init{ -+ compatible = "amlogic,early_init"; -+ dev_name = "early_init"; -+ status = "ok"; -+ gpio-1 = "GPIOAO_3"; -+ gpio-2 = "GPIOAO_2"; -+ }; -+ -+/// *************************************************************************************** -+/// - RTC -+//$$ MODULE="RTC" -+//$$ DEVICE="Rtc" -+//$$ L2 PROP_STR = "status" -+ rtc{ -+ compatible = "amlogic,aml_rtc"; -+ status = "okay"; -+ }; -+ -+/// *************************************************************************************** -+/// - UART -+//$$ MODULE="UART" -+//$$ DEVICE="uart_ao" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_STR = "pinctrl-names" -+//$$ L3 PROP_CHOICE "uart_ao_pin_match" = "pinctrl-0" -+ uart_ao{ -+ compatible = "amlogic,aml_uart"; -+ port_name = "uart_ao"; -+ status = "okay"; -+ dev_name = "uart_ao"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&ao_uart_pins>; -+ }; -+ -+//$$ DEVICE="uart_0" -+//$$ L2 PROP_STR = "status" -+ uart_0{ -+ compatible = "amlogic,aml_uart"; -+ port_name = "uart_a"; -+ status = "okay"; -+ dev_name = "uart_0"; -+ }; -+ -+//$$ DEVICE="uart_1" -+//$$ L2 PROP_STR = "status" -+ uart_1{ -+ compatible = "amlogic,aml_uart"; -+ port_name = "uart_b"; -+ status = "disabled"; -+ dev_name = "uart_1"; -+ }; -+ -+//$$ DEVICE="uart_2" -+//$$ L2 PROP_STR = "status" -+ uart_2{ -+ compatible = "amlogic,aml_uart"; -+ port_name = "uart_c"; -+ status = "disabled"; -+ dev_name = "uart_2"; -+ }; -+ -+//$$ DEVICE="uart_3" -+//$$ L2 PROP_STR = "status" -+ uart_3{ -+ compatible = "amlogic,aml_uart"; -+ port_name = "uart_d"; -+ status = "ok"; -+ dev_name = "uart_3"; -+ }; -+ -+/// *************************************************************************************** -+/// - Bluetooth -+//$$ MODULE="Bluetooth" -+ -+ bt-dev{ -+ compatible = "amlogic,bt-dev"; -+ dev_name = "bt-dev"; -+ gpio_reset = "GPIOE_11"; -+ gpio_en = "GPIOE_11"; -+ status = "ok"; -+ }; -+ -+/// *************************************************************************************** -+/// - WiFi -+//$$ MODULE="WiFi" -+//$$ DEVICE="aml_broadcm_wifi" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_STR = "interrupt_pin" -+//$$ L2 PROP_U32 = "irq_num" -+//$$ L2 PROP_STR = "irq_trigger_type" -+//$$ L2 PROP_STR = "power_on_pin" -+//$$ L2 PROP_STR = "clock_32k_pin" -+ wifi{ -+ compatible = "amlogic,aml_broadcm_wifi"; -+ dev_name = "aml_broadcm_wifi"; -+ status = "okay"; -+ interrupt_pin = "GPIOX_11"; -+ irq_num = <4>; -+ irq_trigger_type = "GPIO_IRQ_HIGH"; -+ power_on_pin = "GPIOC_7"; -+ clock_32k_pin = "GPIOX_12"; -+ }; -+ -+//$$ DEVICE="wifi_power" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_STR = "power_gpio" -+// wifi_power{ -+// compatible = "amlogic,wifi_power"; -+// dev_name = "wifi_power"; -+// status = "okay"; -+// power_gpio = "GPIOC_7"; -+// }; -+ -+/// *************************************************************************************** -+/// - MMC -+//$$ MODULE="MMC" -+//$$ DEVICE="aml_sdio" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 2 ="reg" -+//$$ L2 PROP_STR 7 = "pinctrl-names" -+//$$ L2 PROP_CHOICE "sdio_pin_0_match" = "pinctrl-0" -+//$$ L2 PROP_CHOICE "sdio_pin_1_match" = "pinctrl-1" -+//$$ L2 PROP_CHOICE "sdio_pin_2_match" = "pinctrl-2" -+//$$ L2 PROP_CHOICE "sdio_pin_3_match" = "pinctrl-3" -+//$$ L2 PROP_CHOICE "sdio_pin_4_match" = "pinctrl-4" -+//$$ L2 PROP_CHOICE "sdio_pin_5_match" = "pinctrl-5" -+// L2 PROP_CHOICE "sdio_pin_6_match" = "pinctrl-6" -+ sdio{ -+ compatible = "amlogic,aml_sdio"; -+ dev_name = "aml_sdio.0"; -+ status = "okay"; -+ reg = <0xc1108c20 0x20>; -+ pinctrl-names = "sd_clk_cmd_pins", "sd_all_pins", "emmc_clk_cmd_pins", "emmc_all_pins", "sdio_clk_cmd_pins", "sdio_all_pins"; /*sd:sdio_b, emmc:sdio_c, sdio:sdio_a*/ -+ // pinctrl-0 = <&sd_pins>; -+ // pinctrl-1 = <&emmc_pins>; -+ // pinctrl-2 = <&sdio_pins>; -+ pinctrl-0 = <&sd_clk_cmd_pins>; -+ pinctrl-1 = <&sd_all_pins>; -+ pinctrl-2 = <&emmc_clk_cmd_pins>; -+ pinctrl-3 = <&emmc_all_pins>; -+ pinctrl-4 = <&sdio_clk_cmd_pins>; -+ pinctrl-5 = <&sdio_all_pins>; -+ -+//$$ DEVICE="sd" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 = "port" -+//$$ L2 PROP_STR = "pinname" -+//$$ L3 PROP_U32 = "ocr_avail" -+//$$ L2 PROP_STR 3 = "caps" -+//$$ L3 PROP_U32 = "f_min" -+//$$ L3 PROP_U32 = "f_max" -+//$$ L3 PROP_U32 = "f_max_w" -+//$$ L3 PROP_U32 = "max_req_size" -+//$$ L2 PROP_STR = "gpio_dat3" -+//$$ L2 PROP_STR = "jtag_pin" -+//$$ L2 PROP_STR = "gpio_cd" -+//$$ L2 PROP_STR = "gpio_ro" -+//$$ L2 PROP_U32 = "irq_in" -+//$$ L2 PROP_U32 = "irq_out" -+//$$ L2 PROP_U32 = "card_type" -+ sd{ -+ status = "okay"; -+ port = <1>; /**0:sdio_a, 1:sdio_b, 2:sdio_c, 3:sdhc_a, 4:sdhc_b, 5:sdhc_c */ -+ pinname = "sd"; -+ ocr_avail = <0x200000>; /**VDD voltage 3.3 ~ 3.4 */ -+ caps = "MMC_CAP_4_BIT_DATA","MMC_CAP_MMC_HIGHSPEED","MMC_CAP_SD_HIGHSPEED"; -+ f_min = <300000>; -+ f_max = <50000000>; -+ f_max_w = <50000000>; -+ max_req_size = <0x20000>; /**128KB*/ -+ gpio_dat3 = "CARD_3"; -+ gpio_cd = "CARD_6"; -+ gpio_power = "CARD_8"; -+ power_level = <0>; -+ irq_in = <5>; -+ #irq_in_edge = "GPIO_IRQ_FALLING"; -+ irq_out = <6>; -+ #irq_out_edge = "GPIO_IRQ_RISING"; -+ card_type = <5>; /* 0:unknown, 1:mmc card(include eMMC), 2:sd card(include tSD), 3:sdio device(ie:sdio-wifi), 4:SD combo (IO+mem) card, 5:NON sdio device(means sd/mmc card), other:reserved */ -+ }; -+ -+//$$ L3 PROP_U32 = "port" -+//$$ L2 PROP_STR = "pinname" -+//$$ L3 PROP_U32 = "ocr_avail" -+//$$ L2 PROP_STR 4 = "caps" -+//$$ L3 PROP_U32 = "f_min" -+//$$ L3 PROP_U32 = "f_max" -+//$$ L3 PROP_U32 = "max_req_size" -+//$$ L2 PROP_U32 = "card_type" -+ sdio{ -+ status = "okay"; -+ port = <0>; /*0:sdio_a, 1:sdio_b, 2:sdio_c, 3:sdhc_a, 4:sdhc_b, 5:sdhc_c */ -+ pinname = "sdio"; -+ ocr_avail = <0x200000>; /*VDD voltage 3.3 ~ 3.4 */ -+ caps = "MMC_CAP_4_BIT_DATA","MMC_CAP_MMC_HIGHSPEED","MMC_CAP_SD_HIGHSPEED", "MMC_CAP_NONREMOVABLE"; -+ f_min = <300000>; -+ f_max = <50000000>; -+ f_max_w = <50000000>; -+ max_req_size = <0x20000>; /*128KB*/ -+ card_type = <3>; /* 0:unknown, 1:mmc card(include eMMC), 2:sd card(include tSD), 3:sdio device(ie:sdio-wifi), 4:SD combo (IO+mem) card, 5:NON sdio device(means sd/mmc card), other:reserved */ -+ }; -+ }; -+ -+/// *************************************************************************************** -+/// - I2C -+//$$ MODULE="I2C" -+//$$ DEVICE="I2C_AO" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 2 ="reg" -+//$$ L3 PROP_STR = "pinctrl-names" -+//$$ L2 PROP_CHOICE "I2C_AO_pin_match" = "pinctrl-0" -+ i2c@c8100500{ /*I2C-AO*/ -+ compatible = "amlogic,aml_i2c"; -+ dev_name = "i2c-AO"; -+ status = "ok"; -+ reg = <0xc8100500 0x1d>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ device_id = <0>; -+ pinctrl-names="default"; -+ pinctrl-0=<&ao_i2c_master>; -+ use_pio = <0>; -+ master_i2c_speed = <100000>; -+ }; -+ -+//$$ DEVICE = "I2C_A" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 2 ="reg" -+//$$ L3 PROP_STR = "pinctrl-names" -+//$$ L2 PROP_CHOICE "I2C_A_pin_match" = "pinctrl-0" -+ i2c@c1108500{ /*I2C-A*/ -+ compatible = "amlogic,aml_i2c"; -+ dev_name = "i2c-A"; -+ status = "ok"; -+ reg = <0xc1108500 0x20>; -+ device_id = <1>; -+ pinctrl-names="default"; -+ pinctrl-0=<&a_i2c_master>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ use_pio = <0>; -+ master_i2c_speed = <300000>; -+ }; -+ -+//$$ DEVICE="I2C_B" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 2="reg" -+//$$ L3 PROP_STR = "pinctrl-names" -+//$$ L2 PROP_CHOICE "I2C_B_pin_match" = "pinctrl-0" -+ i2c@c11087c0{ /*I2C-B*/ -+ compatible = "amlogic,aml_i2c"; -+ dev_name = "i2c-B"; -+ status = "ok"; -+ reg = <0xc11087c0 0x20>; -+ device_id = <2>; -+ pinctrl-names="default"; -+ pinctrl-0=<&b_i2c_master>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ use_pio = <0>; -+ master_i2c_speed = <300000>; -+ }; -+ -+/// *************************************************************************************** -+/// - Power -+//$$ MODULE="Power" -+//$$ DEVICE="dvfs" -+//$$ L2 PROP_STR = "status" -+ dvfs { -+ compatible = "amlogic, amlogic-dvfs"; /** fixed for driver, don't change */ -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "ok"; -+ -+//$$ L2 PROP_U32 = "dvfs_id" -+//$$ L2 PROP_U32 = "table_count" -+//$$ L2 PROP_U32 11*3 = "dvfs_table" -+ vcck_dvfs { -+ dvfs_id = <1>; /** must be value of (1 << n) */ -+ table_count = <11>; /** must be correct count for dvfs_table */ -+ dvfs_table = < -+ /* NOTE: frequent in this table must be ascending order */ -+ /* frequent(Khz) min_uV max_uV */ -+ 200000 1010000 1010000 -+ 600000 1010000 1010000 -+ 792000 1010000 1010000 -+ 816000 1110000 1110000 -+ 840000 1110000 1110000 -+ 984000 1110000 1110000 -+ 1000000 1110000 1110000 -+ 1080000 1220000 1220000 -+ 1200000 1240000 1240000 -+ 1320000 1320000 1320000 -+ 1512000 1320000 1320000 -+ >; -+ }; -+ }; -+//$$ DEVICE="meson_vcck_dvfs_driver" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_STR = "pinctrl-names" -+//$$ L2 PROP_CHOICE "meson_vcck_dvfs_pin_0_match" = "pinctrl-0" -+//$$ L2 PROP_U32 = "use_pwm" -+//$$ L2 PROP_U32 = "table_count" -+//$$ L2 PROP_U32 16*2 = "cs_voltage_table" -+ meson_vcck_dvfs_driver{ -+ compatible = "amlogic, meson_vcck_dvfs"; -+ dev_name = "meson_vcck_dvfs_driver"; -+ status = "ok"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&aml_pwm_pins>; -+ use_pwm = <1>; -+ pmw_controller = "PWM_C"; -+ table_count = <16>; -+ cs_voltage_table = < -+ /* -+ * Note: This table is hardware depended, If your hardware use PWM method, -+ * then first line in this table is PWM register value, second line is -+ * voltage of VCCK according this PWM register value. If your platform use -+ * constant-current source to adjust vcck voltage, then the first line should -+ * set to 0, means not valid, member 'use_pwm' in this node should set to 0. -+ * -+ * ---- This table must be in ascending order by voltage ---- -+ * -+ * PWM value VCCK voltage -+ */ -+ 0x130009 1010000 -+ 0x12000a 1050000 -+ 0x11000b 1070000 -+ 0x10000c 1090000 -+ 0x0f000d 1110000 -+ 0x0e000e 1130000 -+ 0x0d000f 1150000 -+ 0x0c0010 1170000 -+ 0x0b0011 1190000 -+ 0x0a0012 1210000 -+ 0x090013 1220000 -+ 0x080014 1240000 -+ 0x070015 1270000 -+ 0x060016 1280000 -+ 0x050017 1300000 -+ 0x040018 1320000 -+ >; -+ }; -+ -+ -+ -+/// *************************************************************************************** -+/// - USB Controller -+//$$ MODULE="USB Controller" -+ usb_con { -+ lm-compatible = "logicmodule-bus"; -+ -+//$$ DEVICE="usb_b" -+//$$ L2 PROP_U32 = "lm-periph-id" -+//$$ L2 PROP_STR = "clock-src" -+//$$ L2 PROP_U32 = "port-id" -+//$$ L2 PROP_U32 = "port-type" -+//$$ L2 PROP_U32 = "port-speed" -+//$$ L2 PROP_U32 = "port-config" -+//$$ L2 PROP_U32 = "port-dma" -+//$$ L2 PROP_U32 = "port-id-mode" -+//$$ L2 PROP_STR = "status" -+ usb_b{ -+ lm-compatible = "amlogic,usb"; -+ lm-periph-id = <1>; /** lm name */ -+ clock-src = "usb1"; /** clock src */ -+ port-id = <1>; /** ref to mach/usb.h */ -+ port-type = <1>; /** 0: otg, 1: host, 2: slave */ -+ port-speed = <0>; /** 0: default, 1: high, 2: full */ -+ port-config = <0>; /** 0: default */ -+ port-dma = <0>; /** 0: default, 1: single, 2: incr, 3: incr4, 4: incr8, 5: incr16, 6: disable*/ -+ port-id-mode = <1>; /** 0: hardware, 1: sw_host, 2: sw_slave*/ -+ status = "okay"; -+ }; -+ -+//$$ DEVICE="usb_a" -+//$$ L2 PROP_U32 = "lm-periph-id" -+//$$ L2 PROP_STR = "clock-src" -+//$$ L2 PROP_U32 = "port-id" -+//$$ L2 PROP_U32 = "port-type" -+//$$ L2 PROP_U32 = "port-speed" -+//$$ L2 PROP_U32 = "port-config" -+//$$ L2 PROP_U32 = "port-dma" -+//$$ L2 PROP_U32 = "port-id-mode" -+//$$ L2 PROP_STR = "gpio-vbus-power" -+//$$ L2 PROP_U32 = "gpio-work-mask" -+// L2 PROP_U32 = "charger_detect" -+//$$ L2 PROP_STR = "status" -+ usb_a{ -+ lm-compatible = "amlogic,usb"; -+ lm-periph-id = <0>; /** lm name */ -+ clock-src = "usb0"; /** clock src */ -+ port-id = <0>; /** ref to mach/usb.h */ -+ port-type = <0>; /** 0: otg, 1: host, 2: slave */ -+ port-speed = <0>; /** 0: default, high, 1: full */ -+ port-config = <0>; /** 0: default */ -+ port-dma = <0>; /** 0: default, 1: single, 2: incr, 3: incr4, 4: incr8, 5: incr16, 6: disable*/ -+ port-id-mode = <0>; /** 0: hardware, 1: sw_host, 2: sw_slave*/ -+ gpio-vbus-power = "GPIOD_9"; -+ gpio-work-mask = <1>; /**0: work on pulldown,1:work on pullup*/ -+ status = "okay"; -+ }; -+ }; -+ -+ -+ -+/// *************************************************************************************** -+/// - Audio -+//$$ MODULE="Audio" -+//$$ DEVICE="audio" -+//$$ L2 PROP_STR = "status" -+ audio{ -+ compatible = "amlogic,aml-audio"; -+ dev_name = "aml-audio.0"; -+ status = "okay"; -+ }; -+ -+//$$ DEVICE="audio_dai" -+//$$ L2 PROP_STR = "status" -+ audio_dai{ -+ compatible = "amlogic,aml-dai"; -+ dev_name = "aml-dai.0"; -+ status = "okay"; -+ }; -+ -+//$$ DEVICE="dummy_codec_audio" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_STR = "pinctrl-names" -+//$$ L3 PROP_CHOICE "dummy_codec_audio_0_pin_match" = "pinctrl-0" -+ dummy_codec_audio{ -+ status = "okay"; -+ compatible = "amlogic,aml_dummy_codec_audio"; -+ dev_name = "aml_dummy_codec_audio.0"; -+ pinctrl-names = "dummy_codec_audio"; -+ pinctrl-0 = <&aml_dummy_codec_pins>; -+ }; -+ -+//$$ DEVICE="dummy_codec" -+//$$ L2 PROP_STR = "status" -+ dummy_codec{ -+ status = "okay"; -+ compatible = "amlogic,aml_dummy_codec"; -+ dev_name = "dummy_codec.0"; -+ }; -+ -+ -+ -+/// *************************************************************************************** -+/// - Input -+//$$ MODULE="Input" -+//$$ DEVICE="saradc" -+//$$ L2 PROP_STR = "status" -+ saradc{ -+ compatible = "amlogic,saradc"; -+ status = "okay"; -+ }; -+//$$ DEVICE="adc_keypad" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_STR 5 = "key_name" -+//$$ L2 PROP_U32 = "key_num" -+//$$ L2 PROP_U32 = "name_len" -+//$$ L2 PROP_U32 5 = "key_code" -+//$$ L2 PROP_U32 5 = "key_chan" -+//$$ L2 PROP_U32 5 = "key_val" -+//$$ L2 PROP_U32 5 = "key_tolerance" -+ adc_keypad{ -+ compatible = "amlogic,adc_keypad"; -+ status = "okay"; -+ key_num = <6>; -+ name_len = <20>; -+ key_name = "menu","vol-","vol+","back","home","ok"; -+ key_code = <139 114 115 158 102 232>; -+ key_chan = <4 4 4 4 4 4>; -+ key_val = <9 150 275 392 513 639>; -+ key_tolerance = <40 40 40 40 40 40>; -+ }; -+//$$ DEVICE="key_input" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_U32 = "scan_period" -+//$$ L2 PROP_U32 = "fuzz_time" -+//$$ L2 PROP_U32 = "key_code_list" -+//$$ L2 PROP_U32 = "key_num" -+//$$ L2 PROP_U32 = "config" -+ key_input{ -+ compatible = "amlogic,key_input"; -+ status = "okay"; -+ scan_period = <20>; -+ fuzz_time = <60>; -+ key_code_list = <116>; -+ key_num = <1>; -+ config = <0>; -+ }; -+//$$ DEVICE="aml_remote" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_U32 = "ao_baseaddr" -+//$$ L2 PROP_STR = "pinctrl-names" -+//$$ L2 PROP_CHOICE "Remote_pin_match" = "pinctrl-0" -+ meson-remote{ -+ compatible = "amlogic,aml_remote"; -+ dev_name = "meson-remote"; -+ status = "okay"; -+ ao_baseaddr = <0xf3100480>; -+ pinctrl-names="default"; -+ pinctrl-0=<&remote_pins>; -+ }; -+ -+ -+/// *************************************************************************************** -+/// - Spi -+//$$ MODULE="Spi" -+//$$ DEVICE="spi" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_U32 2 = "reg" -+//$$ L2 PROP_STR = "pinctrl-names" -+//$$ L2 PROP_CHOICE "Spi_pin_0_match" = "pinctrl-0" -+//$$ L2 PROP_U32 = "nr-parts" -+//$$ L2 PROP_CHOICE "Spi_nr-part-0_match" = "nr-part-0" -+//$$ L2 PROP_CHOICE "Spi_nr-part-1_match" = "nr-part-1" -+ spi@cc000000{ -+ compatible = "amlogic,apollo_spi_nor"; -+ status = "ok"; -+ reg = <0xcc000000 0x04000000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&aml_spi_nor_pins>; -+ -+ nr-parts = <2>; -+ nr-part-0 = <&bootloader>; -+ nr-part-1 = <&ubootenv>; -+ -+//$$ MATCH "Spi_nr-part-0_match" = <&bootloader> -+//$$ L2 PROP_STR = "name" -+//$$ L2 PROP_U32 = "offset" -+//$$ L2 PROP_U32 = "size" -+ bootloader:bootloader{ -+ name = "bootloader"; -+ offset = <0>; -+ size = <0x100000>; -+ }; -+ -+//$$ MATCH "Spi_nr-part-1_match" = <&ubootenv> -+//$$ L2 PROP_STR = "name" -+//$$ L2 PROP_U32 = "offset" -+//$$ L2 PROP_U32 = "size" -+ ubootenv:ubootenv{ -+ name = "ubootenv"; -+ offset = <0x100000>; -+ size = <0x8000>; -+ }; -+ }; -+ -+/// *************************************************************************************** -+/// - Nand -+//$$ MODULE="Nand" - //$$ DEVICE="aml_nand" - //$$ L2 PROP_STR = "status" - //$$ L3 PROP_U32 2 ="reg" -@@ -765,7 +755,7 @@ - //$$ L3 PROP_STR 2 ="plat-names" - //$$ L2 PROP_U32 = "plat-num" - //$$ L2 PROP_CHOICE "plat-part-0_match" = "plat-part-0" --//$$ L2 PROP_CHOICE "plat-part-1_match" = "plat-part-1" -+// L2 PROP_CHOICE "plat-part-1_match" = "plat-part-1" - nand{ - compatible = "amlogic,aml_nand"; - dev_name = "nand"; -@@ -779,34 +769,11 @@ - &nand_ce0 &nand_ce1 - &nand_ce2 &nand_ce3>; - device_id = <0>; -- plat-names = "bootloader","nandnormal"; -- plat-num = <2>; -- plat-part-0 = <&bootload>; -- plat-part-1 = <&normal>; -- --//$$ MATCH "plat-part-0_match" = <&bootload> --//$$ L2 PROP_STR = "enable_pad" --//$$ L2 PROP_STR = "busy_pad" --//$$ L2 PROP_STR = "timming_mode" --//$$ L2 PROP_STR = "bch_mode" --//$$ L2 PROP_U32 = "t_rea" --//$$ L2 PROP_U32 = "t_rhoh" --//$$ L2 PROP_U32 = "chip_num" --//$$ L2 PROP_U32 = "part_num" --//$$ L2 PROP_U32 = "rb_detect" -- bootload: bootload{ -- enable_pad ="ce0"; -- busy_pad = "rb0"; -- timming_mode = "mode5"; -- bch_mode = "bch60_1k"; -- t_rea = <20>; -- t_rhoh = <15>; -- chip_num = <1>; -- part_num = <0>; -- rb_detect = <1>; -- }; -+ plat-names = "nandnormal"; -+ plat-num = <1>; -+ plat-part-0 = <&normal>; - --//$$ MATCH "plat-part-1_match" = <&normal> -+//$$ MATCH "plat-part-0_match" = <&normal> - //$$ L2 PROP_STR 2 = "enable_pad" - //$$ L2 PROP_STR 2 = "busy_pad" - //$$ L2 PROP_STR = "timming_mode" -@@ -826,7 +793,7 @@ - t_rea = <20>; - t_rhoh = <15>; - chip_num = <2>; -- part_num = <7>; -+ part_num = <9>; - partition = <&nand_partitions>; - rb_detect = <1>; - }; -@@ -856,547 +823,595 @@ - offset=<0x0 0x4a800000>; - size=<0x0 0x20000000>; - }; -- backup{ -- offset=<0x0 0x6a800000>; -- size=<0x0 0x10000000>; -- }; -+ backup{ -+ offset=<0x0 0x6a800000>; -+ size=<0x0 0x10000000>; -+ }; - userdata{ - offset=<0xffffffff 0xffffffff>; - size=<0x0 0x0>; - }; - }; - }; -- --/// *************************************************************************************** --/// - Efuse --//$$ MODULE="Efuse" --//$$ DEVICE="efuse" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_U32 2 = "plat-pos" --//$$ L2 PROP_U32 = "plat-count" --//$$ L2 PROP_U32 = "usid-min" --//$$ L2 PROP_U32 = "usid-max" -- efuse{ -- compatible = "amlogic,efuse"; -- dev_name = "efuse"; -- status = "okay"; -- plat-pos = <0 454>; -- plat-count = <58>; -- usid-min = <8>; /*reserved*/ -- usid-max = <31>; /*reserved*/ -- }; -- --/// *************************************************************************************** --/// - HDMI --//$$ MODULE="HDMI" --//$$ DEVICE="amhdmitx" --//$$ L2 PROP_STR = "status" --//$$ L2 PROP_CHOICE "HDMI_vend-data_match" = "vend-data" --//$$ L2 PROP_CHOICE "HDMI_pwr-ctrl_match" = "pwr-ctrl" -- amhdmitx{ -- compatible = "amlogic,amhdmitx"; -- dev_name = "amhdmitx"; -- status = "ok"; -- vend-data = <&vend_data>; -- pwr-ctrl = <&pwr_ctrl>; -- phy-size = <3>; -- phy-data = <27 0x16 0x30 /* 480i/p 576i/p */ -- 74 0x16 0x40 /* 720p 1080i */ -- 148 0x16 0x40 /* 1080p */ -- >; -- --//$$ MATCH "HDMI_vend-data_match" = <&vend_data> --//$$ L2 PROP_STR = "vendor_name" --//$$ L2 PROP_U32 = "vendor_id" --//$$ L2 PROP_STR = "product_desc" --//$$ L2 PROP_STR = "cec_osd_string" -- vend_data: vend_data{ -- vendor_name = "Amlogic"; /* Max Chars: 8 */ -- vendor_id = <0x000000>; /* Refer to http://standards.ieee.org/develop/regauth/oui/oui.txt */ -- product_desc = "MX MBox G18Ref"; /* Max Chars: 16 */ -- cec_osd_string = "Amlogic MBox"; /* Max Chars: 14 */ -- }; -- --//$$ MATCH "HDMI_pwr-ctrl_match" = <&pwr_ctrl> --//$$ L2 PROP_STR = "pwr_5v_on" --//$$ L2 PROP_STR 3 = "pwr_5v_off" --//$$ L2 PROP_STR 3 = "pwr_3v3_on" --//$$ L2 PROP_STR = "pwr_3v3_off" --//$$ L2 PROP_STR = "pwr_hpll_vdd_on" --//$$ L2 PROP_STR = "pwr_hpll_vdd_off" -- pwr_ctrl: pwr_ctrl{ -- pwr_5v_on = "cpu","GPIOD_5","H"; -- pwr_5v_off = "cpu","GPIOD_5","L"; -- pwr_3v3_on = ""; -- pwr_3v3_off = ""; -- pwr_hpll_vdd_on = ""; -- pwr_hpll_vdd_off = ""; -- }; -- }; -- --/// *************************************************************************************** --/// - Securitykey --//$$ MODULE="Securitykey" -- securitykey{ -- compatible = "amlogic,aml_keys"; -- }; -- --/// *************************************************************************************** --/// - PowerManager --//$$ MODULE="PowerManager" --//$$ DEVICE="amvenc_avc" --//$$ L2 PROP_STR = "status" -- aml_pm{ -- compatible = "amlogic,pm"; -- dev_name = "aml_pm"; -- status = "okay"; -- }; -- --/// *************************************************************************************** --/// - Cpufreq --//$$ MODULE="Cpufreq" --//$$ DEVICE="cpufreq-meson" --//$$ L2 PROP_STR = "status" -- cpufreq-meson{ -- compatible = "amlogic,cpufreq-meson"; -- status = "okay"; -- }; -- -- -- -- -- -- --/// *************************************************************************************** --/// - Ethernet --//$$ MODULE="Ethernet" --//$$ DEVICE="meson-eth" --//$$ L2 PROP_STR = "status" -- meson-eth{ -- compatible = "amlogic,meson-eth"; -- dev_name = "meson-eth"; -- status = "okay"; -- ethbaseaddr = <0xf3610000>; -- interruptnum = <40>; -- }; -- -- -- -- -- -- --/// ************************************************************************************** --/// - GPIO --//$$ MODULE="GPIO" --//$$ DEVICE="m6-gpio" -- gpio:gpio{ -- compatible = "amlogic,m6-gpio"; -- dev_name = "gpio"; -- #gpio-cells=<2>; -- }; -- --/// ************************************************************************************** --/// - Pinmux --//$$ MODULE="Pinmux" --//$$ DEVICE="pinmux-m6" -- pinmux{ -- compatible = "amlogic,pinmux-m6"; -- dev_name = "pinmux"; -- #pinmux-cells=<2>; -- --//$$ MATCH "uart_ao_pin_match" = "&ao_uart_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_STR 2 = "amlogic,pins" -- ao_uart_pins:ao_uart{ -- amlogic,setmask=<10 0x1800>; -- amlogic,pins="GPIOAO_0", "GPIOAO_1"; -- }; -- --//$$ MATCH "uart_0_pin_match" = "&a_uart_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_STR 2 = "amlogic,pins" -- a_uart_pins:a_uart{ -- amlogic,setmask=<4 0x3c00>; -- amlogic,pins="GPIOX_13", "GPIOX_14", "GPIOX_15", "GPIOX_16"; -- }; -- --//$$ MATCH "meson_vcck_dvfs_pin_0_match" = "&aml_pwm_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR = "amlogic,pins" -- aml_pwm_pins:aml_pwm{ -- amlogic,setmask=<2 0x4>; -- amlogic,clrmask=<1 0x20000000>; -- amlogic,pins="GPIOD_0"; -- }; -- --//$$ MATCH "I2C_AO_pin_match" = "&ao_i2c_master" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR 2 = "amlogic,pins" -- ao_i2c_master:ao_i2c{ -- amlogic,setmask=<10 0x60>; -- amlogic,clrmask=<10 0x1800006>; -- amlogic,pins="GPIOAO_4","GPIOAO_5"; -- }; -- --//$$ MATCH "I2C_A_pin_match" = "&a_i2c_master" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR 2 = "amlogic,pins" -- a_i2c_master:a_i2c{ -- amlogic,setmask=<5 0xc000000>; -- amlogic,clrmask=<5 0x3000000>; -- amlogic,pins="GPIOX_25","GPIOX_26"; -- }; -- --//$$ MATCH "I2C_B_pin_match" = "&b_i2c_master" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR 2 = "amlogic,pins" -- b_i2c_master:b_i2c{ -- amlogic,setmask=<5 0xc0000000>; -- amlogic,clrmask=<5 0x30000000>; -- amlogic,pins="GPIOX_27","GPIOX_28"; -- }; -- --//$$ MATCH "Nand_pin_0_match" = "&nand_input_state" --//$$ MATCH "Nand_pin_1_match" = "&nand_input_state" --//$$ L2 PROP_STR 17 = "amlogic,pins" --//$$ L2 PROP_U32 = "amlogic,enable-output" -- nand_input_state:nand_input{ -- amlogic,pins = "BOOT_0","BOOT_1","BOOT_2","BOOT_3","BOOT_4", -- "BOOT_5","BOOT_6","BOOT_7","BOOT_12","BOOT_13", -- "BOOT_8","BOOT_9","BOOT_10","BOOT_11", -- "BOOT_14","BOOT_15","BOOT_16"; -- amlogic,enable-output=<1>; -- }; -- --//$$ MATCH "Nand_pin_0_match" = "&conf_nand_state" --//$$ MATCH "Nand_pin_1_match" = "&conf_nand_state" --//$$ L2 PROP_STR 9 = "amlogic,pins" --//$$ L2 PROP_U32 = "amlogic,pullup" -- conf_nand_state: conf_nand{ -- amlogic,pins = "BOOT_0","BOOT_1","BOOT_2","BOOT_3","BOOT_4", -- "BOOT_5","BOOT_6","BOOT_7","BOOT_16"; -- amlogic,pullup=<1>; -- }; -- --//$$ MATCH "Nand_pin_0_match" = "&nand_base" --//$$ MATCH "Nand_pin_1_match" = "&nand_base" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 4*2 = "amlogic,clrmask" --//$$ L2 PROP_STR 13 = "amlogic,pins" -- nand_base: nand{ -- amlogic,setmask=<2 0xc3c0000>; -- amlogic,clrmask=< 5 0xe -- 3 0x80000000 -- 6 0x3c000000 -- 4 0x70000000>; -- amlogic,pins = "BOOT_0","BOOT_1","BOOT_2","BOOT_3","BOOT_4", -- "BOOT_5","BOOT_6","BOOT_7","BOOT_12","BOOT_13", -- "BOOT_14","BOOT_15","BOOT_16"; -- }; -- --//$$ MATCH "Nand_pin_0_match" = "&nand_ce0" --//$$ MATCH "Nand_pin_1_match" = "&nand_ce0" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_STR = "amlogic,pins" -- nand_ce0: nand_ce0{ -- amlogic,setmask=<2 0x2000000>; -- amlogic,pins = "BOOT_8"; -- }; -- --//$$ MATCH "Nand_pin_0_match" = "&nand_ce1" --//$$ MATCH "Nand_pin_1_match" = "&nand_ce1" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_STR = "amlogic,pins" -- nand_ce1: nand_ce1{ -- amlogic,setmask=<2 0x1000000>; -- amlogic,pins = "BOOT_9"; -- }; -- --//$$ MATCH "Nand_pin_1_match" = "&nand_ce2" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_STR = "amlogic,pins" -- nand_ce2: nand_ce2{ -- amlogic,setmask=<2 0x800000>; -- amlogic,pins = "BOOT_10"; -- }; -- --//$$ MATCH "Nand_pin_1_match" = "&nand_ce3" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_STR = "amlogic,pins" -- nand_ce3: nand_ce3{ -- amlogic,setmask=<2 0x400000>; -- amlogic,pins = "BOOT_11"; -- }; -- --//$$ MATCH "Nand_pin_0_match" = "&nand_rb0" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR = "amlogic,pins" -- nand_rb0: nand_rb0{ -- amlogic,setmask=<2 0x20000>; -- amlogic,clrmask=<2 0x800000>; -- amlogic,pins = "BOOT_10"; -- }; -- --//$$ MATCH "Nand_pin_0_match" = "&nand_rb1" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR = "amlogic,pins" -- nand_rb1: nand_rb1{ -- amlogic,setmask=<2 0x10000>; -- amlogic,clrmask=<2 0x400000>; -- amlogic,pins = "BOOT_11"; -- }; -- -- -- sdio_all_pins:sdio_all_pins{ -- amlogic,setmask=<8 0x0000003f>; /*sdio a*/ -- amlogic,clrmask=<6 0x3f000000 /*sdio c*/ -- 2 0x0000fc00 /*sdio b*/ -- 5 0x00006c00>; /*sdhc a*/ -- amlogic,pins = "GPIOX_0","GPIOX_1","GPIOX_2","GPIOX_3","GPIOX_8","GPIOX_9"; -- amlogic,enable-output=<1>; /* 0:output, 1:input */ -- amlogic,pullup=<0>; -- }; -- sdio_clk_cmd_pins:sdio_clk_cmd_pins{ -- amlogic,setmask=<8 0x00000003>; /*sdio a*/ -- amlogic,clrmask=<6 0x3f000000 /*sdio c*/ -- 2 0x0000fc00 /*sdio b*/ -- 5 0x00006c00>; /*sdhc a*/ -- amlogic,pins = "GPIOX_8","GPIOX_9"; -- amlogic,enable-output=<1>; /* 0:output, 1:input */ -- amlogic,pullup=<0>; -- }; -- sd_all_pins:sd_all_pins{ -- amlogic,setmask=<2 0x0000fc00>; /*sdio b*/ -- amlogic,clrmask=<6 0x3f000000 /*sdio c*/ -- 8 0x0000003f /*sdio a*/ -- 2 0x000000f0>; /*sdhc b*/ -- amlogic,pins = "CARD_0","CARD_1","CARD_2","CARD_3","CARD_4","CARD_5"; -- amlogic,enable-output=<1>; /* 0:output, 1:input */ -- amlogic,pullup=<0>; -- }; -- sd_clk_cmd_pins:sd_clk_cmd_pins{ -- amlogic,setmask=<2 0x00000c00>; /*sdio b*/ -- amlogic,clrmask=<6 0x3f000000 /*sdio c*/ -- 8 0x0000003f /*sdio a*/ -- 2 0x000000f0>; /*sdhc b*/ -- amlogic,pins = "CARD_4","CARD_5"; /* CARD_4:CLK, CARD_5:CMD */ -- amlogic,enable-output=<1>; /* 0:output, 1:input */ -- amlogic,pullup=<0>; -- }; -- emmc_all_pins:emmc_all_pins{ -- amlogic,setmask=<6 0x3f000000>; /*sdio c, */ -- amlogic,clrmask=<2 0x04c3fc00 /*sdio b & nand*/ -- 8 0x0000003f /*sdio a*/ -- 4 0x6c000000 /*sdhc c*/ -- 3 0x80000000>; /*I2C*/ -- amlogic,pins = "BOOT_0","BOOT_1","BOOT_2","BOOT_3","BOOT_10","BOOT_11"; -- amlogic,enable-output=<1>; /* 0:output, 1:input */ -- amlogic,pullup=<0>; -- }; -- emmc_clk_cmd_pins:emmc_clk_cmd_pins{ -- amlogic,setmask=<6 0x03000000>; /*bit[24-25] */ -- amlogic,clrmask=<2 0x04c3fc00 /*sdio b & nand*/ -- 8 0x0000003f /*sdio a*/ -- 4 0x6c000000 /*sdhc c*/ -- 3 0x80000000>; /*I2C*/ -- amlogic,pins = "BOOT_10","BOOT_11"; -- amlogic,enable-output=<1>; /* 0:output, 1:input */ -- amlogic,pullup=<0>; -- }; -- --//$$ MATCH "Remote_pin_match" = "&remote_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_STR= "amlogic,pins" -- remote_pins:remote_pin{ -- amlogic,setmask=<10 0x1>; -- amlogic,pins="GPIOAO_7"; -- }; -- --//$$ MATCH "wm8960_pin_match" = "&aml_i2s_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR 4 = "amlogic,pins" -- aml_i2s_pins: aml_i2s_pins{ -- amlogic,setmask=<9 0xAB0>; -- amlogic,clrmask=<9 0x440>; -- amlogic,pins = "GPIOE_0","GPIOE_1","GPIOE_2","GPIOE_3"; -- }; -- --//$$ MATCH "wm8960_pin_match" = "&config_aml_hp_det_pins" --//$$ L2 PROP_STR= "amlogic,pins" --//$$ L2 PROP_U32 = "amlogic,pullup" -- config_aml_hp_det_pins: config_aml_hp_det_pins{ -- amlogic,pins = "GPIOA_19"; -- amlogic,pullup=<1>; -- }; -- --//$$ MATCH "dummy_codec_audio_0_pin_match" = "&aml_dummy_codec_pins" --//$$ L2 PROP_U32 2*2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR 5 = "amlogic,pins" -- aml_dummy_codec_pins: aml_dummy_codec_pins{ -- amlogic,setmask=<9 0x2B0 -- 3 0x1000000>; -- amlogic,clrmask=<9 0x380c4e>; -- amlogic,pins = "GPIOE_1","GPIOE_2","GPIOE_3","GPIOE_4","GPIOC_9"; -- }; --//$$ MATCH "Bl_pin_0_match" = "&lcd_backlight_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR = "amlogic,pins" -- lcd_backlight_pins:lcd_backlight{ -- amlogic,setmask=<2 0x8>; -- amlogic,clrmask=<1 0x10000000>; -- amlogic,pins = "GPIOD_1"; -- }; -- lcd_ttl_hvsync_pins_on:lcd_ttl_hvsync_on{ -- amlogic,setmask=<1 0xc0000>; -- amlogic,clrmask=<0 0xc00000>; -- amlogic,pins = "GPIOD_2","GPIOD_3"; -- }; -- lcd_ttl_hvsync_pins_off:lcd_ttl_hvsync_off{ -- amlogic,clrmask=<0 0xc00000 1 0xc0000>; -- amlogic,pins = "GPIOD_2","GPIOD_3"; -- amlogic,enable-output=<1>; -- }; -- lcd_ttl_de_pins_on:lcd_ttl_de_on{ -- amlogic,setmask=<1 0x20000>; -- amlogic,clrmask=<0 0x1000000>; -- amlogic,pins = "GPIOD_4"; -- }; -- lcd_ttl_de_pins_off:lcd_ttl_de_off{ -- amlogic,clrmask=<0 0x1000000 1 0x20000>; -- amlogic,pins = "GPIOD_4"; -- amlogic,enable-output=<1>; -- }; -- lcd_ttl_clk_pins_on:lcd_ttl_clk_on{ -- amlogic,setmask=<1 0x4000>; -- amlogic,clrmask=<0 0x8000000 1 0x3800>; -- amlogic,pins = "GPIOD_7"; -- }; -- lcd_ttl_clk_pins_off:lcd_ttl_clk_off{ -- amlogic,clrmask=<0 0x8000000 1 0x7800>; -- amlogic,pins = "GPIOD_7"; -- amlogic,enable-output=<1>; -- }; -- lcd_ttl_rgb_8bit_pins_on:lcd_ttl_rgb_8bit_on{ -- amlogic,setmask=<0 0x3f>; -- amlogic,clrmask=<5 0xff8000>; -- amlogic,pins = "GPIOB_0","GPIOB_1","GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7", //R0~R7 -- "GPIOB_8","GPIOB_9","GPIOB_10","GPIOB_11","GPIOB_12","GPIOB_13","GPIOB_14","GPIOB_15", //G0~G7 -- "GPIOB_16","GPIOB_17","GPIOB_18","GPIOB_19","GPIOB_20","GPIOB_21","GPIOB_22","GPIOB_23";//B0~B7 -- }; -- lcd_ttl_rgb_8bit_pins_off:lcd_ttl_rgb_8bit_off{ -- amlogic,clrmask=<0 0x3f 5 0xff8000>; -- amlogic,pins = "GPIOB_0","GPIOB_1","GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7", //R0~R7 -- "GPIOB_8","GPIOB_9","GPIOB_10","GPIOB_11","GPIOB_12","GPIOB_13","GPIOB_14","GPIOB_15", //G0~G7 -- "GPIOB_16","GPIOB_17","GPIOB_18","GPIOB_19","GPIOB_20","GPIOB_21","GPIOB_22","GPIOB_23";//B0~B7 -- amlogic,enable-output=<1>; -- }; -- lcd_ttl_rgb_6bit_pins_on:lcd_ttl_rgb_6bit_on{ -- amlogic,setmask=<0 0x15>; -- amlogic,clrmask=<5 0xf98000>; -- amlogic,pins = "GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7", //R2~R7 -- "GPIOB_10","GPIOB_11","GPIOB_12","GPIOB_13","GPIOB_14","GPIOB_15", //G2~G7 -- "GPIOB_18","GPIOB_19","GPIOB_20","GPIOB_21","GPIOB_22","GPIOB_23"; //B2~B7 -- }; -- lcd_ttl_rgb_6bit_pins_off:lcd_ttl_rgb_6bit_off{ -- amlogic,clrmask=<0 0x15 5 0xf98000>; -- amlogic,pins = "GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7", //R2~R7 -- "GPIOB_10","GPIOB_11","GPIOB_12","GPIOB_13","GPIOB_14","GPIOB_15", //G2~G7 -- "GPIOB_18","GPIOB_19","GPIOB_20","GPIOB_21","GPIOB_22","GPIOB_23"; //B2~B7 -- amlogic,enable-output=<1>; -- }; -- --//$$ MATCH "Camera_pin_match" = "&aml_cam_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_STR = "amlogic,pins" -- aml_cam_pins: aml_cam_pins{ -- amlogic,setmask=<9 0x1000>; -- amlogic,pins = "GPIOZ_12"; -- }; -- --//$$ MATCH "Spi_pin_0_match" = "&aml_spi_nor_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 2 = "amlogic,clrmask" --//$$ L2 PROP_STR 4 = "amlogic,pins" -- aml_spi_nor_pins: aml_spi_nor_pins{ -- amlogic,setmask=<5 0xf>; -- amlogic,clrmask=<2 0x380000>; -- amlogic,pins = "BOOT_12","BOOT_13","BOOT_14","BOOT_17"; -- }; --//$$ MATCH "dvb_p_ts2_pins_match" = "&dvb_p_ts2_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 8 = "amlogic,clrmask" --//$$ L2 PROP_STR 12 = "amlogic,pins" -- dvb_p_ts2_pins: dvb_p_ts2_pins { -- amlogic,setmask = <3 0xfc0>; -- amlogic,clrmask = <0 0xf -- 5 0xff00>; -- amlogic,pins = "GPIOB_0","GPIOB_1","GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7","GPIOB_8","GPIOB_9","GPIOB_10","GPIOB_11"; -- }; -- --//$$ MATCH "dvb_s_ts2_pins_match" = "&dvb_s_ts2_pins" --//$$ L2 PROP_U32 2 = "amlogic,setmask" --//$$ L2 PROP_U32 6 = "amlogic,clrmask" --//$$ L2 PROP_STR 5 = "amlogic,pins" -- dvb_s_ts2_pins: dvb_s_ts2_pins { -- amlogic,setmask = <3 0xfc0>; -- amlogic,clrmask = <0 0xf -- 5 0xff00>; -- amlogic,pins = "GPIOB_0","GPIOB_1","GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7","GPIOB_8","GPIOB_9","GPIOB_10","GPIOB_11"; -- }; -- }; --/// *************************************************************************************** --/// - DVB --//$$ MODULE="DVB" -- --//$$ DEVICE="dvb" --//$$ L2 PROP_STR = "ts2" --//$$ L2 PROP_U32 = "ts2_invert" --//$$ L2 PROP_U32 = "ts2_control" --//$$ L2 PROP_STR 6 = "pinctrl-names" --//$$ L2 PROP_CHOICE "dvb_p_ts2_pins_match" = "pinctrl-0" --//$$ L2 PROP_CHOICE "dvb_s_ts2_pins_match" = "pinctrl-1" -- dvb{ -- compatible = "amlogic,dvb"; -- /*"parallel","serial","disable"*/ -- ts2 = "parallel"; -- ts2_control = <0>; -- ts2_invert = <0>; -- pinctrl-names = "p_ts2", "s_ts2"; -- pinctrl-0 = <&dvb_p_ts2_pins>; -- pinctrl-1 = <&dvb_s_ts2_pins>; -- }; -- --//$$ DEVICE="dvbfe" --//$$ L2 PROP_STR = "dtv_demod0" --//$$ L2 PROP_U32 = "dtv_demod0_i2c_adap_id" --//$$ L2 PROP_U32 = "dtv_demod0_i2c_addr" --//$$ L2 PROP_U32 = "dtv_demod0_reset_value" --//$$ L2 PROP_STR = "dtv_demod0_reset_gpio" --//$$ L2 PROP_U32 = "fe0_dtv_demod" --//$$ L2 PROP_U32 = "fe0_ts" --//$$ L2 PROP_U32 = "fe0_dev" --//$$ L2 PROP_STR 6 = "pinctrl-names" --//$$ L2 PROP_CHOICE "dvb_fe_pins_match" = "pinctrl-0" -- dvbfe{ -- compatible = "amlogic,dvbfe"; -- dtv_demod0 = "Avl6211"; -- dtv_demod0_i2c_adap_id = <1>; -- dtv_demod0_i2c_addr = <0xC0>; -- dtv_demod0_reset_value = <0>; -- dtv_demod0_reset_gpio = "GPIOD_8"; -- fe0_dtv_demod = <0>; -- fe0_ts = <2>; -- fe0_dev = <0>; -- -- }; --}; /* end of / */ -- -+ -+/// *************************************************************************************** -+/// - Efuse -+//$$ MODULE="Efuse" -+//$$ DEVICE="efuse" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_U32 2 = "plat-pos" -+//$$ L2 PROP_U32 = "plat-count" -+//$$ L2 PROP_U32 = "usid-min" -+//$$ L2 PROP_U32 = "usid-max" -+ efuse{ -+ compatible = "amlogic,efuse"; -+ dev_name = "efuse"; -+ status = "okay"; -+ plat-pos = <0 454>; -+ plat-count = <58>; -+ usid-min = <8>; /*reserved*/ -+ usid-max = <31>; /*reserved*/ -+ }; -+ -+/// *************************************************************************************** -+/// - HDMI -+//$$ MODULE="HDMI" -+//$$ DEVICE="amhdmitx" -+//$$ L2 PROP_STR = "status" -+//$$ L2 PROP_CHOICE "HDMI_vend-data_match" = "vend-data" -+//$$ L2 PROP_CHOICE "HDMI_pwr-ctrl_match" = "pwr-ctrl" -+ amhdmitx{ -+ compatible = "amlogic,amhdmitx"; -+ dev_name = "amhdmitx"; -+ status = "ok"; -+ vend-data = <&vend_data>; -+ pwr-ctrl = <&pwr_ctrl>; -+ phy-size = <3>; -+ phy-data = <27 0x16 0x30 /* 480i/p 576i/p */ -+ 74 0x16 0x40 /* 720p 1080i */ -+ 148 0x16 0x40 /* 1080p */ -+ >; -+ -+//$$ MATCH "HDMI_vend-data_match" = <&vend_data> -+//$$ L2 PROP_STR = "vendor_name" -+//$$ L2 PROP_U32 = "vendor_id" -+//$$ L2 PROP_STR = "product_desc" -+//$$ L2 PROP_STR = "cec_osd_string" -+ vend_data: vend_data{ -+ vendor_name = "Amlogic"; /* Max Chars: 8 */ -+ vendor_id = <0x000000>; /* Refer to http://standards.ieee.org/develop/regauth/oui/oui.txt */ -+ product_desc = "MX MBox G18Ref"; /* Max Chars: 16 */ -+ cec_osd_string = "Amlogic MBox"; /* Max Chars: 14 */ -+ }; -+ -+//$$ MATCH "HDMI_pwr-ctrl_match" = <&pwr_ctrl> -+//$$ L2 PROP_STR = "pwr_5v_on" -+//$$ L2 PROP_STR 3 = "pwr_5v_off" -+//$$ L2 PROP_STR 3 = "pwr_3v3_on" -+//$$ L2 PROP_STR = "pwr_3v3_off" -+//$$ L2 PROP_STR = "pwr_hpll_vdd_on" -+//$$ L2 PROP_STR = "pwr_hpll_vdd_off" -+ pwr_ctrl: pwr_ctrl{ -+ pwr_5v_on = "cpu","GPIOD_5","H"; -+ pwr_5v_off = "cpu","GPIOD_5","L"; -+ pwr_3v3_on = ""; -+ pwr_3v3_off = ""; -+ pwr_hpll_vdd_on = ""; -+ pwr_hpll_vdd_off = ""; -+ }; -+ }; -+ -+/// *************************************************************************************** -+/// - Securitykey -+//$$ MODULE="Securitykey" -+ securitykey{ -+ compatible = "amlogic,aml_keys"; -+ }; -+ -+/// *************************************************************************************** -+/// - PowerManager -+//$$ MODULE="PowerManager" -+//$$ DEVICE="amvenc_avc" -+//$$ L2 PROP_STR = "status" -+ aml_pm{ -+ compatible = "amlogic,pm"; -+ dev_name = "aml_pm"; -+ status = "okay"; -+ }; -+ -+/// *************************************************************************************** -+/// - Cpufreq -+//$$ MODULE="Cpufreq" -+//$$ DEVICE="cpufreq-meson" -+//$$ L2 PROP_STR = "status" -+ cpufreq-meson{ -+ compatible = "amlogic,cpufreq-meson"; -+ status = "okay"; -+ }; -+ -+ -+ -+ -+ -+ -+/// *************************************************************************************** -+/// - Ethernet -+//$$ MODULE="Ethernet" -+//$$ DEVICE="meson-eth" -+//$$ L2 PROP_STR = "status" -+ meson-eth{ -+ compatible = "amlogic,meson-eth"; -+ dev_name = "meson-eth"; -+ status = "okay"; -+ ethbaseaddr = <0xf3610000>; -+ interruptnum = <40>; -+ }; -+ -+ -+/// ************************************************************************************** -+/// - Smartcard -+ smartcard{ -+ compatible = "amlogic,smartcard"; -+ smc_reset_level = <1>; -+ smc_reset = "GPIOX_31"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&smc_pins>; -+ }; -+ -+ -+ -+ -+/// ************************************************************************************** -+/// - GPIO -+//$$ MODULE="GPIO" -+//$$ DEVICE="m6-gpio" -+ gpio:gpio{ -+ compatible = "amlogic,m6-gpio"; -+ dev_name = "gpio"; -+ #gpio-cells=<2>; -+ }; -+ -+/// ************************************************************************************** -+/// - Pinmux -+//$$ MODULE="Pinmux" -+//$$ DEVICE="pinmux-m6" -+ pinmux{ -+ compatible = "amlogic,pinmux-m6"; -+ dev_name = "pinmux"; -+ #pinmux-cells=<2>; -+ -+ smc_pins:smc_pins{ -+ amlogic,setmask = <4 0x003c0000>; -+ amlogic,clrmask = <4 0x000003c0 -+ 4 0x03c00000 -+ 8 0x3f000000>; -+ amlogic,pins = "GPIOX_17","GPIOX_18","GPIOX_19","GPIOX_20"; -+ }; -+ -+//$$ MATCH "uart_ao_pin_match" = "&ao_uart_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_STR 2 = "amlogic,pins" -+ ao_uart_pins:ao_uart{ -+ amlogic,setmask=<10 0x1800>; -+ amlogic,pins="GPIOAO_0", "GPIOAO_1"; -+ }; -+ -+//$$ MATCH "uart_0_pin_match" = "&a_uart_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_STR 2 = "amlogic,pins" -+ a_uart_pins:a_uart{ -+ amlogic,setmask=<4 0x3c00>; -+ amlogic,pins="GPIOX_13", "GPIOX_14", "GPIOX_15", "GPIOX_16"; -+ }; -+ -+//$$ MATCH "meson_vcck_dvfs_pin_0_match" = "&aml_pwm_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR = "amlogic,pins" -+ aml_pwm_pins:aml_pwm{ -+ amlogic,setmask=<2 0x4>; -+ amlogic,clrmask=<1 0x20000000>; -+ amlogic,pins="GPIOD_0"; -+ }; -+ -+//$$ MATCH "I2C_AO_pin_match" = "&ao_i2c_master" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR 2 = "amlogic,pins" -+ ao_i2c_master:ao_i2c{ -+ amlogic,setmask=<10 0x60>; -+ amlogic,clrmask=<10 0x1800006>; -+ amlogic,pins="GPIOAO_4","GPIOAO_5"; -+ }; -+ -+//$$ MATCH "I2C_A_pin_match" = "&a_i2c_master" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR 2 = "amlogic,pins" -+ a_i2c_master:a_i2c{ -+ amlogic,setmask=<5 0xc000000>; -+ amlogic,clrmask=<5 0x3000000>; -+ amlogic,pins="GPIOX_25","GPIOX_26"; -+ }; -+ -+//$$ MATCH "I2C_B_pin_match" = "&b_i2c_master" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR 2 = "amlogic,pins" -+ b_i2c_master:b_i2c{ -+ amlogic,setmask=<5 0xc0000000>; -+ amlogic,clrmask=<5 0x30000000>; -+ amlogic,pins="GPIOX_27","GPIOX_28"; -+ }; -+ -+//$$ MATCH "Nand_pin_0_match" = "&nand_input_state" -+//$$ MATCH "Nand_pin_1_match" = "&nand_input_state" -+//$$ L2 PROP_STR 17 = "amlogic,pins" -+//$$ L2 PROP_U32 = "amlogic,enable-output" -+ nand_input_state:nand_input{ -+ amlogic,pins = "BOOT_0","BOOT_1","BOOT_2","BOOT_3","BOOT_4", -+ "BOOT_5","BOOT_6","BOOT_7","BOOT_12","BOOT_13", -+ "BOOT_8","BOOT_9","BOOT_10","BOOT_11", -+ "BOOT_14","BOOT_15","BOOT_16"; -+ amlogic,enable-output=<1>; -+ }; -+ -+//$$ MATCH "Nand_pin_0_match" = "&conf_nand_state" -+//$$ MATCH "Nand_pin_1_match" = "&conf_nand_state" -+//$$ L2 PROP_STR 9 = "amlogic,pins" -+//$$ L2 PROP_U32 = "amlogic,pullup" -+ conf_nand_state: conf_nand{ -+ amlogic,pins = "BOOT_0","BOOT_1","BOOT_2","BOOT_3","BOOT_4", -+ "BOOT_5","BOOT_6","BOOT_7","BOOT_16"; -+ amlogic,pullup=<1>; -+ }; -+ -+//$$ MATCH "Nand_pin_0_match" = "&nand_base" -+//$$ MATCH "Nand_pin_1_match" = "&nand_base" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 4*2 = "amlogic,clrmask" -+//$$ L2 PROP_STR 13 = "amlogic,pins" -+ nand_base: nand{ -+ amlogic,setmask=<2 0xc3c0000>; -+ amlogic,clrmask=< 5 0xe -+ 3 0x80000000 -+ 6 0x3c000000 -+ 4 0x70000000>; -+ amlogic,pins = "BOOT_0","BOOT_1","BOOT_2","BOOT_3","BOOT_4", -+ "BOOT_5","BOOT_6","BOOT_7","BOOT_12","BOOT_13", -+ "BOOT_14","BOOT_15","BOOT_16"; -+ }; -+ -+//$$ MATCH "Nand_pin_0_match" = "&nand_ce0" -+//$$ MATCH "Nand_pin_1_match" = "&nand_ce0" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_STR = "amlogic,pins" -+ nand_ce0: nand_ce0{ -+ amlogic,setmask=<2 0x2000000>; -+ amlogic,pins = "BOOT_8"; -+ }; -+ -+//$$ MATCH "Nand_pin_0_match" = "&nand_ce1" -+//$$ MATCH "Nand_pin_1_match" = "&nand_ce1" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_STR = "amlogic,pins" -+ nand_ce1: nand_ce1{ -+ amlogic,setmask=<2 0x1000000>; -+ amlogic,pins = "BOOT_9"; -+ }; -+ -+//$$ MATCH "Nand_pin_1_match" = "&nand_ce2" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_STR = "amlogic,pins" -+ nand_ce2: nand_ce2{ -+ amlogic,setmask=<2 0x800000>; -+ amlogic,pins = "BOOT_10"; -+ }; -+ -+//$$ MATCH "Nand_pin_1_match" = "&nand_ce3" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_STR = "amlogic,pins" -+ nand_ce3: nand_ce3{ -+ amlogic,setmask=<2 0x400000>; -+ amlogic,pins = "BOOT_11"; -+ }; -+ -+//$$ MATCH "Nand_pin_0_match" = "&nand_rb0" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR = "amlogic,pins" -+ nand_rb0: nand_rb0{ -+ amlogic,setmask=<2 0x20000>; -+ amlogic,clrmask=<2 0x800000>; -+ amlogic,pins = "BOOT_10"; -+ }; -+ -+//$$ MATCH "Nand_pin_0_match" = "&nand_rb1" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR = "amlogic,pins" -+ nand_rb1: nand_rb1{ -+ amlogic,setmask=<2 0x10000>; -+ amlogic,clrmask=<2 0x400000>; -+ amlogic,pins = "BOOT_11"; -+ }; -+ -+ -+ sdio_all_pins:sdio_all_pins{ -+ amlogic,setmask=<8 0x0000003f>; /*sdio a*/ -+ amlogic,clrmask=<6 0x3f000000 /*sdio c*/ -+ 2 0x0000fc00 /*sdio b*/ -+ 5 0x00006c00>; /*sdhc a*/ -+ amlogic,pins = "GPIOX_0","GPIOX_1","GPIOX_2","GPIOX_3","GPIOX_8","GPIOX_9"; -+ amlogic,enable-output=<1>; /* 0:output, 1:input */ -+ amlogic,pullup=<0>; -+ }; -+ sdio_clk_cmd_pins:sdio_clk_cmd_pins{ -+ amlogic,setmask=<8 0x00000003>; /*sdio a*/ -+ amlogic,clrmask=<6 0x3f000000 /*sdio c*/ -+ 2 0x0000fc00 /*sdio b*/ -+ 5 0x00006c00>; /*sdhc a*/ -+ amlogic,pins = "GPIOX_8","GPIOX_9"; -+ amlogic,enable-output=<1>; /* 0:output, 1:input */ -+ amlogic,pullup=<0>; -+ }; -+ sd_all_pins:sd_all_pins{ -+ amlogic,setmask=<2 0x0000fc00>; /*sdio b*/ -+ amlogic,clrmask=<6 0x3f000000 /*sdio c*/ -+ 8 0x0000003f /*sdio a*/ -+ 2 0x000000f0>; /*sdhc b*/ -+ amlogic,pins = "CARD_0","CARD_1","CARD_2","CARD_3","CARD_4","CARD_5"; -+ amlogic,enable-output=<1>; /* 0:output, 1:input */ -+ amlogic,pullup=<0>; -+ }; -+ sd_clk_cmd_pins:sd_clk_cmd_pins{ -+ amlogic,setmask=<2 0x00000c00>; /*sdio b*/ -+ amlogic,clrmask=<6 0x3f000000 /*sdio c*/ -+ 8 0x0000003f /*sdio a*/ -+ 2 0x000000f0>; /*sdhc b*/ -+ amlogic,pins = "CARD_4","CARD_5"; /* CARD_4:CLK, CARD_5:CMD */ -+ amlogic,enable-output=<1>; /* 0:output, 1:input */ -+ amlogic,pullup=<0>; -+ }; -+ emmc_all_pins:emmc_all_pins{ -+ amlogic,setmask=<6 0x3f000000>; /*sdio c, */ -+ amlogic,clrmask=<2 0x04c3fc00 /*sdio b & nand*/ -+ 8 0x0000003f /*sdio a*/ -+ 4 0x6c000000 /*sdhc c*/ -+ 3 0x80000000>; /*I2C*/ -+ amlogic,pins = "BOOT_0","BOOT_1","BOOT_2","BOOT_3","BOOT_10","BOOT_11"; -+ amlogic,enable-output=<1>; /* 0:output, 1:input */ -+ amlogic,pullup=<0>; -+ }; -+ emmc_clk_cmd_pins:emmc_clk_cmd_pins{ -+ amlogic,setmask=<6 0x03000000>; /*bit[24-25] */ -+ amlogic,clrmask=<2 0x04c3fc00 /*sdio b & nand*/ -+ 8 0x0000003f /*sdio a*/ -+ 4 0x6c000000 /*sdhc c*/ -+ 3 0x80000000>; /*I2C*/ -+ amlogic,pins = "BOOT_10","BOOT_11"; -+ amlogic,enable-output=<1>; /* 0:output, 1:input */ -+ amlogic,pullup=<0>; -+ }; -+ -+//$$ MATCH "Remote_pin_match" = "&remote_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_STR= "amlogic,pins" -+ remote_pins:remote_pin{ -+ amlogic,setmask=<10 0x1>; -+ amlogic,pins="GPIOAO_7"; -+ }; -+ -+//$$ MATCH "wm8960_pin_match" = "&aml_i2s_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR 4 = "amlogic,pins" -+ aml_i2s_pins: aml_i2s_pins{ -+ amlogic,setmask=<9 0xAB0>; -+ amlogic,clrmask=<9 0x440>; -+ amlogic,pins = "GPIOE_0","GPIOE_1","GPIOE_2","GPIOE_3"; -+ }; -+ -+//$$ MATCH "wm8960_pin_match" = "&config_aml_hp_det_pins" -+//$$ L2 PROP_STR= "amlogic,pins" -+//$$ L2 PROP_U32 = "amlogic,pullup" -+ config_aml_hp_det_pins: config_aml_hp_det_pins{ -+ amlogic,pins = "GPIOA_19"; -+ amlogic,pullup=<1>; -+ }; -+ -+//$$ MATCH "dummy_codec_audio_0_pin_match" = "&aml_dummy_codec_pins" -+//$$ L2 PROP_U32 2*2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR 5 = "amlogic,pins" -+ aml_dummy_codec_pins: aml_dummy_codec_pins{ -+ amlogic,setmask=<9 0x2B0 -+ 3 0x1000000>; -+ amlogic,clrmask=<9 0x380c4e>; -+ amlogic,pins = "GPIOE_1","GPIOE_2","GPIOE_3","GPIOE_4","GPIOC_9"; -+ }; -+//$$ MATCH "Bl_pin_0_match" = "&lcd_backlight_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR = "amlogic,pins" -+ lcd_backlight_pins:lcd_backlight{ -+ amlogic,setmask=<2 0x8>; -+ amlogic,clrmask=<1 0x10000000>; -+ amlogic,pins = "GPIOD_1"; -+ }; -+ lcd_ttl_hvsync_pins_on:lcd_ttl_hvsync_on{ -+ amlogic,setmask=<1 0xc0000>; -+ amlogic,clrmask=<0 0xc00000>; -+ amlogic,pins = "GPIOD_2","GPIOD_3"; -+ }; -+ lcd_ttl_hvsync_pins_off:lcd_ttl_hvsync_off{ -+ amlogic,clrmask=<0 0xc00000 1 0xc0000>; -+ amlogic,pins = "GPIOD_2","GPIOD_3"; -+ amlogic,enable-output=<1>; -+ }; -+ lcd_ttl_de_pins_on:lcd_ttl_de_on{ -+ amlogic,setmask=<1 0x20000>; -+ amlogic,clrmask=<0 0x1000000>; -+ amlogic,pins = "GPIOD_4"; -+ }; -+ lcd_ttl_de_pins_off:lcd_ttl_de_off{ -+ amlogic,clrmask=<0 0x1000000 1 0x20000>; -+ amlogic,pins = "GPIOD_4"; -+ amlogic,enable-output=<1>; -+ }; -+ lcd_ttl_clk_pins_on:lcd_ttl_clk_on{ -+ amlogic,setmask=<1 0x4000>; -+ amlogic,clrmask=<0 0x8000000 1 0x3800>; -+ amlogic,pins = "GPIOD_7"; -+ }; -+ lcd_ttl_clk_pins_off:lcd_ttl_clk_off{ -+ amlogic,clrmask=<0 0x8000000 1 0x7800>; -+ amlogic,pins = "GPIOD_7"; -+ amlogic,enable-output=<1>; -+ }; -+ lcd_ttl_rgb_8bit_pins_on:lcd_ttl_rgb_8bit_on{ -+ amlogic,setmask=<0 0x3f>; -+ amlogic,clrmask=<5 0xff8000>; -+ amlogic,pins = "GPIOB_0","GPIOB_1","GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7", //R0~R7 -+ "GPIOB_8","GPIOB_9","GPIOB_10","GPIOB_11","GPIOB_12","GPIOB_13","GPIOB_14","GPIOB_15", //G0~G7 -+ "GPIOB_16","GPIOB_17","GPIOB_18","GPIOB_19","GPIOB_20","GPIOB_21","GPIOB_22","GPIOB_23";//B0~B7 -+ }; -+ lcd_ttl_rgb_8bit_pins_off:lcd_ttl_rgb_8bit_off{ -+ amlogic,clrmask=<0 0x3f 5 0xff8000>; -+ amlogic,pins = "GPIOB_0","GPIOB_1","GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7", //R0~R7 -+ "GPIOB_8","GPIOB_9","GPIOB_10","GPIOB_11","GPIOB_12","GPIOB_13","GPIOB_14","GPIOB_15", //G0~G7 -+ "GPIOB_16","GPIOB_17","GPIOB_18","GPIOB_19","GPIOB_20","GPIOB_21","GPIOB_22","GPIOB_23";//B0~B7 -+ amlogic,enable-output=<1>; -+ }; -+ lcd_ttl_rgb_6bit_pins_on:lcd_ttl_rgb_6bit_on{ -+ amlogic,setmask=<0 0x15>; -+ amlogic,clrmask=<5 0xf98000>; -+ amlogic,pins = "GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7", //R2~R7 -+ "GPIOB_10","GPIOB_11","GPIOB_12","GPIOB_13","GPIOB_14","GPIOB_15", //G2~G7 -+ "GPIOB_18","GPIOB_19","GPIOB_20","GPIOB_21","GPIOB_22","GPIOB_23"; //B2~B7 -+ }; -+ lcd_ttl_rgb_6bit_pins_off:lcd_ttl_rgb_6bit_off{ -+ amlogic,clrmask=<0 0x15 5 0xf98000>; -+ amlogic,pins = "GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7", //R2~R7 -+ "GPIOB_10","GPIOB_11","GPIOB_12","GPIOB_13","GPIOB_14","GPIOB_15", //G2~G7 -+ "GPIOB_18","GPIOB_19","GPIOB_20","GPIOB_21","GPIOB_22","GPIOB_23"; //B2~B7 -+ amlogic,enable-output=<1>; -+ }; -+ -+//$$ MATCH "Camera_pin_match" = "&aml_cam_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_STR = "amlogic,pins" -+ aml_cam_pins: aml_cam_pins{ -+ amlogic,setmask=<9 0x1000>; -+ amlogic,pins = "GPIOZ_12"; -+ }; -+ -+//$$ MATCH "Spi_pin_0_match" = "&aml_spi_nor_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 2 = "amlogic,clrmask" -+//$$ L2 PROP_STR 4 = "amlogic,pins" -+ aml_spi_nor_pins: aml_spi_nor_pins{ -+ amlogic,setmask=<5 0xf>; -+ amlogic,clrmask=<2 0x380000>; -+ amlogic,pins = "BOOT_12","BOOT_13","BOOT_14","BOOT_17"; -+ }; -+//$$ MATCH "dvb_p_ts2_pins_match" = "&dvb_p_ts2_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 8 = "amlogic,clrmask" -+//$$ L2 PROP_STR 12 = "amlogic,pins" -+ dvb_p_ts2_pins: dvb_p_ts2_pins { -+ amlogic,setmask = <3 0xfff>; -+ amlogic,clrmask = <0 0xf 5 0xff00>; -+ amlogic,pins = "GPIOB_0","GPIOB_1","GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7","GPIOB_8","GPIOB_9","GPIOB_10","GPIOB_11"; -+ }; -+ -+//$$ MATCH "dvb_s_ts2_pins_match" = "&dvb_s_ts2_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 6 = "amlogic,clrmask" -+//$$ L2 PROP_STR 5 = "amlogic,pins" -+ dvb_s_ts2_pins: dvb_s_ts2_pins { -+ amlogic,setmask = <3 0xfff>; -+ amlogic,clrmask = <0 0xf 5 0xff00>; -+ amlogic,pins = "GPIOB_0","GPIOB_1","GPIOB_2","GPIOB_3","GPIOB_4","GPIOB_5","GPIOB_6","GPIOB_7","GPIOB_8","GPIOB_9","GPIOB_10","GPIOB_11"; -+ }; -+ -+//$$ MATCH "dvb_p_ts0_pins_match" = "&dvb_p_ts0_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 8 = "amlogic,clrmask" -+//$$ L2 PROP_STR 12 = "amlogic,pins" -+ dvb_p_ts0_pins: dvb_p_ts0_pins { -+ amlogic,setmask = <3 0xfff>; -+ amlogic,clrmask = <0 0x40 6 0xf80000>; -+ amlogic,pins = "GPIOA_0","GPIOA_1","GPIOA_2","GPIOA_3","GPIOA_4","GPIOA_5","GPIOA_6","GPIOA_7","GPIOA_8","GPIOA_9","GPIOA_10","GPIOA_11"; -+ }; -+ -+//$$ MATCH "dvb_s_ts0_pins_match" = "&dvb_s_ts0_pins" -+//$$ L2 PROP_U32 2 = "amlogic,setmask" -+//$$ L2 PROP_U32 6 = "amlogic,clrmask" -+//$$ L2 PROP_STR 5 = "amlogic,pins" -+ dvb_s_ts0_pins: dvb_s_ts0_pins { -+ amlogic,setmask = <3 0xfff>; -+ amlogic,clrmask = <0 0x40 6 0xF80000>; -+ amlogic,pins = "GPIOA_0","GPIOA_1","GPIOA_2","GPIOA_3","GPIOA_4","GPIOA_5","GPIOA_6","GPIOA_7","GPIOA_8","GPIOA_9","GPIOA_10","GPIOA_11"; -+ }; -+ }; -+/// *************************************************************************************** -+/// - DVB -+//$$ MODULE="DVB" -+ -+//$$ DEVICE="dvb" -+//$$ L2 PROP_STR = "ts2" -+//$$ L2 PROP_U32 = "ts2_invert" -+//$$ L2 PROP_U32 = "ts2_control" -+//$$ L2 PROP_STR 6 = "pinctrl-names" -+//$$ L2 PROP_CHOICE "dvb_p_ts2_pins_match" = "pinctrl-0" -+//$$ L2 PROP_CHOICE "dvb_s_ts2_pins_match" = "pinctrl-1" -+ dvb{ -+ compatible = "amlogic,dvb"; -+ /*"parallel","serial","disable"*/ -+ ts2 = "parallel"; -+ ts2_control = <0>; -+ ts2_invert = <0>; -+ ts0 = "parallel"; -+ ts0_control = <0>; -+ ts0_invert = <0>; -+ pinctrl-names = "p_ts0", "s_ts0","p_ts2", "s_ts2"; -+ pinctrl-0 = <&dvb_p_ts0_pins>; -+ pinctrl-1 = <&dvb_s_ts0_pins>; -+ pinctrl-2 = <&dvb_p_ts2_pins>; -+ pinctrl-3 = <&dvb_s_ts2_pins>; -+ -+ }; -+ -+//$$ DEVICE="dvbfe" -+//$$ L2 PROP_STR = "dtv_demod0" -+//$$ L2 PROP_U32 = "dtv_demod0_i2c_adap_id" -+//$$ L2 PROP_U32 = "dtv_demod0_i2c_addr" -+//$$ L2 PROP_U32 = "dtv_demod0_reset_value" -+//$$ L2 PROP_STR = "dtv_demod0_reset_gpio" -+//$$ L2 PROP_U32 = "fe0_dtv_demod" -+//$$ L2 PROP_U32 = "fe0_ts" -+//$$ L2 PROP_U32 = "fe0_dev" -+//$$ L2 PROP_STR 6 = "pinctrl-names" -+//$$ L2 PROP_CHOICE "dvb_fe_pins_match" = "pinctrl-0" -+ dvbfe{ -+ compatible = "amlogic,dvbfe"; -+ dtv_demod0 = "Avl6211_0"; -+ dtv_demod0_i2c_adap_id = <1>; -+ dtv_demod0_i2c_addr = <0xC0>; -+ dtv_demod0_reset_value = <0>; -+ dtv_demod0_reset_gpio = "GPIOD_8"; -+ fe0_dtv_demod = <0>; -+ fe0_ts = <2>; -+ fe0_dev = <0>; -+ dtv_demod1 = "Avl6211_1"; -+ dtv_demod1_i2c_adap_id = <2>; -+ dtv_demod1_i2c_addr = <0xC0>; -+ dtv_demod1_reset_value = <0>; -+ dtv_demod1_reset_gpio = "GPIOD_8"; -+ fe1_dtv_demod = <1>; -+ fe1_ts = <0>; -+ fe1_dev = <1>; -+ }; -+}; /* end of / */ -+ ---- a/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2015-01-12 00:19:11.729405484 +0100 -+++ b/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2015-01-12 00:23:29.396031497 +0100 -@@ -1396,5 +1396,20 @@ - fe1_ts = <0>; - fe1_dev = <1>; - }; -+ -+/// *************************************************************************************** -+/// - DISP&MM-A/V Amvideocap -+//$$ MODULE = "DISP&MM-Amvideocap" -+//$$ DEVICE="amvideocap" -+//$$ L2 PROP_STR = "status" -+//$$ L3 PROP_U32 4 ="reg" -+ amvideocap{ -+ compatible = "amlogic,amvideocap"; -+ dev_name = "amvideocap.0"; -+ status = "okay"; -+ reserve-memory = <0x00a00000>; // 1920 * 1088 * 4 = 8,355,840 -+ reserve-iomap = "true"; -+ }; -+ - }; /* end of / */ - ---- a/arch/arm/boot/dts/amlogic/meson6_g18.dtd.orig 2015-01-18 14:59:49.171659096 +0100 -+++ b/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2015-01-18 14:59:59.147658701 +0100 -@@ -1428,5 +1428,10 @@ - reserve-iomap = "true"; - }; - -+ powerled{ -+ compatible = "amlogic,wetekplay-led"; -+ label = "wetek:blue:powerled"; -+ }; -+ - }; /* end of / */ -