/* * Allwinner Technology CO., Ltd. sun8iw21p1 soc board. * * soc board support. */ /dts-v1/; #include "sun8iw21p1.dtsi" #include /{ compatible = "allwinner,sun8iw21p1", "arm,sun8iw21p1", "allwinner,v851s3"; reg_usb_vbus: usb-vbus { compatible = "regulator-fixed"; gpio = <&pio PH 2 1 2 0 1>; regulator-name = "usb-vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; enable-active-high; }; chosen { /*bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=6 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:rootfs_data@mtdblock6:UDISK@mtdblock7 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";*/ /* for OTA recovery system:(kernel rootfs extend) */ bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:logo@mtdblock6:recovery@mtdblock7:UDISK@mtdblock8 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow"; /* for OTA recovery system:(kernel rootfs extend appImg recoveryImg) */ /*bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:usrapp@mtdblock6:recovery@mtdblock7:recoveryapp@mtdblock8:rootfs_data@mtdblock9:UDISK@mtdblock10 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";*/ /* for OTA AB system:(kernel rootfs extend) */ /* bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock3 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=boot@mtdblock1:boot_backup@mtdblock2:rootfs@mtdblock3:rootfs_backup@mtdblock4:extend@mtdblock5:extend_backup@mtdblock6:rootfs_data@mtdblock7:env@mtdblock8:UDISK@mtdblock9 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow"; */ }; aliases { /* pmu0 = &pmu0; */ /* standby_param = &standby_param; */ }; reserved-memory { e907_fw: e907_fw { reg = <0x0 0x43080000 0x0 0x00190000>; }; isp_reserved: isp_reserved { reg = <0x0 0x43210000 0x0 0x01E00000>; }; e907_dram: riscv_memserve { reg = <0x0 0x45010000 0x0 0x00530000>; no-map; }; /* * The name should be "vdev%dbuffer". * Its size should be not less than * RPMSG_BUF_SIZE * (num of buffers in a vring) * 2 * = 512 * (num of buffers in a vring) * 2 */ vdev0buffer: vdev0buffer@0x43000000 { /* 256k reserved for shared mem pool */ compatible = "shared-dma-pool"; reg = <0x0 0x43000000 0x0 0x40000>; no-map; }; /* * The name should be "vdev%dvring%d". * The size of each should be not less than * PAGE_ALIGN(vring_size(num, align)) * = PAGE_ALIGN(PAGE_ALIGN(16 * num + 6 + 2 * num) + 6 + 8 * num) * if size == 8K, the size should be not large than 227 * if size == 12K, the size should be not large than 454 * if size == 16K, the size should be not large than 454 * if size == 20K, the size should be not large than 682 * * (Please refer to the vring layout in include/uapi/linux/virtio_ring.h) */ vdev0vring0: vdev0vring0@0x43040000 { reg = <0x0 0x43040000 0x0 0x5000>; no-map; }; vdev0vring1: vdev0vring1@0x43045000 { reg = <0x0 0x43045000 0x0 0x5000>; no-map; }; rv_share_irq_table: share_irq_table@0 { reg = <0x0 0x4304A000 0x0 0x1000>; no-map; }; boot_param: boot_param@0x42FFF000 { reg = <0x0 0x42FFF000 0x0 0x1000>; }; }; reserved-irq { share-e907 { arch-name = "e907"; memory-region = <&rv_share_irq_table>; /* * each bit corresponds to a GPIO pin, and the corresponding bit=1 * indicates that the GPIO pin is assigned to the remote processor. * * WARNING: it is recommended to allocate in units of banks, not pins, * sp as not to affect system stability. */ share-irq = , , , , , , , ; }; }; rpbuf_controller0: rpbuf_controller@0 { compatible = "allwinner,rpbuf-controller"; remoteproc = <&e907_rproc>; ctrl_id = <0>; // iommus = <&mmu_aw 5 1>; status = "okay"; }; memory@40000000 { device_type = "memory"; reg = <0x00000000 0x40000000 0x00000000 0x08000000>; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; optee_reserve { reg = <0 0 0 0>; status = "disabled"; }; }; soc@03000000 { wlan: wlan@0 { compatible = "xradio,wlan"; wlan_data_rd = <&pio PD 21 0 0x1 0x2 0>; wlan_data_irq =<&pio PD 20 0x14 0x0 0x2 0>; status = "disabled"; linux,phandle = <0x00000120>; phandle = <0x00000120>; }; rt-media@01c0e000 { sensor_0_venc: sensor_0_venc@0 { status = "okay"; s0vencfg0: s0vencfg0@0 { status = "okay"; ch_id = <0>;//vipp_num codec_type = <0>;//0//0:H264; 1:JPG; 2:H265 res_w = <1920>; res_h = <1080>; fps = <15>; bit_rate = <1536>;//kb gop = <40>; vbr = <1>;//< operate venc. VBR=1, CBR=0 init_qp = <35>; i_min_qp = <25>; i_max_qp = <45>; p_min_qp = <25>; p_max_qp = <45>; out_mode = <0>;//0: stream; 1: yuv; 2: file_yuv; 3: outside_yuv pix_fmt = <12>;//12: RT_PIXEL_LBC_25X; 0: RT_PIXEL_YUV420SP, other ref RT_PIXELFORMAT_TYPE reduce_refrec_mem = <0>;//Can save memory space aiisp_en = <0>; tdm_rxbuf_cnt = <0>; }; }; sensor_1_venc: sensor_1_venc@1 { status = "okay"; s1vencfg0: s1vencfg0@0 { status = "okay"; ch_id = <1>;//vipp_num codec_type = <0>;//0//0:H264; 1:JPG; 2:H265 res_w = <1600>; res_h = <1200>; fps = <15>; bit_rate = <1536>;//kb gop = <40>; vbr = <1>;//< operate venc. VBR=1, CBR=0 init_qp = <35>; i_min_qp = <25>; i_max_qp = <45>; p_min_qp = <25>; p_max_qp = <45>; out_mode = <0>;//0: stream; 1: yuv; 2: file_yuv; 3: outside_yuv pix_fmt = <12>;//12: RT_PIXEL_LBC_25X; 0: RT_PIXEL_YUV420SP, other ref RT_PIXELFORMAT_TYPE reduce_refrec_mem = <0>;//Can save memory space aiisp_en = <0>; tdm_rxbuf_cnt = <0>; }; }; sensor_2_venc: sensor_2_venc@2 { status = "okay"; s2vencfg0: s2vencfg0@0 { status = "okay"; ch_id = <2>;//vipp_num codec_type = <0>;//0//0:H264; 1:JPG; 2:H265 res_w = <1600>; res_h = <1200>; fps = <15>; bit_rate = <1536>;//kb gop = <40>; vbr = <1>;//< operate venc. VBR=1, CBR=0 init_qp = <35>; i_min_qp = <25>; i_max_qp = <45>; p_min_qp = <25>; p_max_qp = <45>; out_mode = <0>;//0: stream; 1: yuv; 2: file_yuv; 3: outside_yuv pix_fmt = <12>;//12: RT_PIXEL_LBC_25X; 0: RT_PIXEL_YUV420SP, other ref RT_PIXELFORMAT_TYPE reduce_refrec_mem = <0>;//Can save memory space aiisp_en = <0>; tdm_rxbuf_cnt = <0>; }; }; }; vind0:vind@0 { vind0_clk = <300000000>; status = "okay"; csi2:csi@2 { pinctrl-names = "default","sleep"; pinctrl-0 = <&ncsi_pins_a>; pinctrl-1 = <&ncsi_pins_b>; status = "disabled"; }; tdm0:tdm@0 { iommus = <&mmu_aw 4 0>; work_mode = <1>; delay_init = <1>; }; isp00:isp@0 { work_mode = <1>; rpbuf = <&rpbuf_controller0>; iommus = <&mmu_aw 4 0>; isp-region = <&isp_reserved>; delay_init = <1>; }; isp01:isp@1 { rpbuf = <&rpbuf_controller0>; iommus = <&mmu_aw 4 0>; delay_init = <1>; }; isp02:isp@2 { rpbuf = <&rpbuf_controller0>; iommus = <&mmu_aw 4 0>; delay_init = <1>; }; isp03:isp@3 { status = "disabled"; }; isp10:isp@4 { status = "disabled"; iommus = <&mmu_aw 4 0>; }; scaler00:scaler@0 { work_mode = <1>; iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler01:scaler@1 { iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler02:scaler@2 { iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler03:scaler@3 { status = "disabled"; }; scaler10:scaler@4 { work_mode = <1>; iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler11:scaler@5 { iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler12:scaler@6 { iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler13:scaler@7 { status = "disabled"; }; scaler20:scaler@8 { work_mode = <1>; iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler21:scaler@9 { iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler22:scaler@10 { iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler23:scaler@11 { status = "disabled"; }; scaler30:scaler@12 { work_mode = <1>; iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler31:scaler@13 { iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler32:scaler@14 { iommus = <&mmu_aw 1 0>; delay_init = <1>; }; scaler33:scaler@15 { status = "disabled"; }; actuator0:actuator@0 { device_type = "actuator0"; actuator0_name = "ad5820_act"; actuator0_slave = <0x18>; actuator0_af_pwdn = <>; actuator0_afvdd = "afvcc-csi"; actuator0_afvdd_vol = <2800000>; status = "disabled"; }; flash0:flash@0 { device_type = "flash0"; flash0_type = <2>; flash0_en = <>; flash0_mode = <>; flash0_flvdd = ""; flash0_flvdd_vol = <>; status = "disabled"; }; sensor_vsync0: sensor_vsync0@0 { vsync_gpio = <&pio PE 11 1 0 1 0>; switch_gpio = <&pio PF 3 1 0 1 0>; }; /* sensor0:sensor@0 { device_type = "sensor0"; sensor0_mname = "ov02b10_mipi"; sensor0_twi_cci_id = <1>; sensor0_twi_addr = <0x78>; sensor0_mclk_id = <0>; sensor0_pos = "rear"; sensor0_isp_used = <1>; sensor0_fmt = <1>; sensor0_stby_mode = <0>; sensor0_vflip = <0>; sensor0_hflip = <0>; /* sensor0_iovdd-supply = <®_aldo2>; */ /* sensor0_iovdd_vol = <1800000>; */ /* sensor0_avdd-supply = <®_bldo2>; */ /* sensor0_avdd_vol = <2800000>; */ /* sensor0_dvdd-supply = <®_dldo2>; */ /* sensor0_dvdd_vol = <1200000>; */ /* sensor0_power_en = <>; */ /* sensor0_power_en = <&pio PF 3 1 1 1 0>; sensor0_reset = <&pio PD 20 1 0 1 0>; sensor0_pwdn = <&pio PE 10 1 0 1 0>; sensor0_sm_hs = <>; sensor0_sm_vs = <>; flash_handle = <&flash0>; act_handle = <&actuator0>; status = "okay"; }; */ sensor0:sensor@0 { device_type = "sensor0"; sensor0_mname = "gc2083_mipi"; sensor0_twi_cci_id = <0>; sensor0_twi_addr = <0x6e>; sensor0_mclk_id = <0>; sensor0_pos = "rear"; sensor0_isp_used = <1>; sensor0_fmt = <1>; sensor0_stby_mode = <0>; sensor0_vflip = <0>; sensor0_hflip = <0>; /* sensor0_iovdd-supply = <®_aldo2>; */ /* sensor0_iovdd_vol = <1800000>; */ /* sensor0_avdd-supply = <®_bldo2>; */ /* sensor0_avdd_vol = <2800000>; */ /* sensor0_dvdd-supply = <®_dldo2>; */ /* sensor0_dvdd_vol = <1200000>; */ /* sensor0_power_en = <>; */ sensor0_pwdn = <&pio PE 8 1 0 1 0>; sensor0_sm_hs = <>; sensor0_sm_vs = <>; flash_handle = <&flash0>; act_handle = <&actuator0>; status = "okay"; }; sensor1:sensor@1 { device_type = "sensor1"; sensor1_mname = "sc2356_mipi"; sensor1_twi_cci_id = <1>; sensor1_twi_addr = <0x6c>; sensor1_mclk_id = <1>; sensor1_pos = "front"; sensor1_isp_used = <1>; sensor1_fmt = <1>; sensor1_stby_mode = <0>; sensor1_vflip = <0>; sensor1_hflip = <0>; /* sensor0_iovdd-supply = <®_aldo2>; */ /* sensor0_iovdd_vol = <1800000>; */ /* sensor0_avdd-supply = <®_bldo2>; */ /* sensor0_avdd_vol = <2800000>; */ /* sensor0_dvdd-supply = <®_dldo2>; */ /* sensor0_dvdd_vol = <1200000>; */ /* sensor0_power_en = <>; */ sensor1_reset = <&pio PE 6 1 0 1 0>; sensor1_pwdn = <&pio PE 7 1 0 1 0>; sensor1_sm_hs = <>; sensor1_sm_vs = <>; flash_handle = <>; act_handle = <>; status = "okay"; }; vinc00:vinc@0 { vinc0_csi_sel = <0>; vinc0_mipi_sel = <0>; vinc0_isp_sel = <0>; vinc0_isp_tx_ch = <0>; vinc0_tdm_rx_sel = <0>; vinc0_rear_sensor_sel = <0>; vinc0_front_sensor_sel = <0>; vinc0_sensor_list = <0>; work_mode = <0x1>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc01:vinc@1 { vinc1_csi_sel = <1>; vinc1_mipi_sel = <1>; vinc1_csi_ch = <0x10>; vinc1_isp_sel = <1>; vinc1_isp_tx_ch = <0>; vinc1_tdm_rx_sel = <1>; vinc1_rear_sensor_sel = <1>; vinc1_front_sensor_sel = <1>; vinc1_sensor_list = <0>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc02:vinc@2 { vinc2_csi_sel = <1>; vinc2_mipi_sel = <1>; vinc2_csi_ch = <0x11>; vinc2_isp_sel = <2>; vinc2_isp_tx_ch = <0>; vinc2_tdm_rx_sel = <2>; vinc2_rear_sensor_sel = <1>; vinc2_front_sensor_sel = <1>; vinc2_sensor_list = <0>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc03:vinc@3 { vinc3_csi_sel = <0>; vinc3_mipi_sel = <0xff>; vinc3_isp_sel = <0>; vinc3_isp_tx_ch = <0>; vinc3_tdm_rx_sel = <0>; vinc3_rear_sensor_sel = <1>; vinc3_front_sensor_sel = <1>; vinc3_sensor_list = <0>; status = "disabled"; }; vinc10:vinc@4 { vinc4_csi_sel = <0>; vinc4_mipi_sel = <0>; vinc4_isp_sel = <0>; vinc4_isp_tx_ch = <0>; vinc4_tdm_rx_sel = <0>; vinc4_rear_sensor_sel = <0>; vinc4_front_sensor_sel = <0>; vinc4_sensor_list = <0>; work_mode = <0x1>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc11:vinc@5 { vinc5_csi_sel = <1>; vinc5_mipi_sel = <1>; vinc5_csi_ch = <0x10>; vinc5_isp_sel = <1>; vinc5_isp_tx_ch = <0>; vinc5_tdm_rx_sel = <1>; vinc5_rear_sensor_sel = <1>; vinc5_front_sensor_sel = <1>; vinc5_sensor_list = <0>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc12:vinc@6 { vinc6_csi_sel = <1>; vinc6_mipi_sel = <1>; vinc6_csi_ch = <0x11>; vinc6_isp_sel = <2>; vinc6_isp_tx_ch = <0>; vinc6_tdm_rx_sel = <2>; vinc6_rear_sensor_sel = <1>; vinc6_front_sensor_sel = <1>; vinc6_sensor_list = <0>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc13:vinc@7 { vinc7_csi_sel = <2>; vinc7_mipi_sel = <0xff>; vinc7_isp_sel = <0>; vinc7_isp_tx_ch = <0>; vinc7_tdm_rx_sel = <0>; vinc7_rear_sensor_sel = <0>; vinc7_front_sensor_sel = <0>; vinc7_sensor_list = <0>; status = "disabled"; }; vinc20:vinc@8 { vinc8_csi_sel = <0>; vinc8_mipi_sel = <0>; vinc8_isp_sel = <0>; vinc8_isp_tx_ch = <0>; vinc8_tdm_rx_sel = <0>; vinc8_rear_sensor_sel = <0>; vinc8_front_sensor_sel = <0>; vinc8_sensor_list = <0>; work_mode = <0x1>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc21:vinc@9 { vinc9_csi_sel = <1>; vinc9_mipi_sel = <1>; vinc9_csi_ch = <0x10>; vinc9_isp_sel = <1>; vinc9_isp_tx_ch = <0>; vinc9_tdm_rx_sel = <1>; vinc9_rear_sensor_sel = <1>; vinc9_front_sensor_sel = <1>; vinc9_sensor_list = <0>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc22:vinc@10 { vinc10_csi_sel = <1>; vinc10_mipi_sel = <1>; vinc10_csi_ch = <0x11>; vinc10_isp_sel = <2>; vinc10_isp_tx_ch = <0>; vinc10_tdm_rx_sel = <2>; vinc10_rear_sensor_sel = <1>; vinc10_front_sensor_sel = <1>; vinc10_sensor_list = <0>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc23:vinc@11 { vinc11_csi_sel = <2>; vinc11_mipi_sel = <0xff>; vinc11_isp_sel = <0>; vinc11_isp_tx_ch = <0>; vinc11_tdm_rx_sel = <0>; vinc11_rear_sensor_sel = <0>; vinc11_front_sensor_sel = <0>; vinc11_sensor_list = <0>; status = "disabled"; }; vinc30:vinc@12 { vinc12_csi_sel = <0>; vinc12_mipi_sel = <0>; vinc12_isp_sel = <0>; vinc12_isp_tx_ch = <0>; vinc12_tdm_rx_sel = <0>; vinc12_rear_sensor_sel = <0>; vinc12_front_sensor_sel = <0>; vinc12_sensor_list = <0>; work_mode = <0x1>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc31:vinc@13 { vinc13_csi_sel = <1>; vinc13_mipi_sel = <1>; vinc13_csi_ch = <0x10>; vinc13_isp_sel = <1>; vinc13_isp_tx_ch = <0>; vinc13_tdm_rx_sel = <1>; vinc13_rear_sensor_sel = <1>; vinc13_front_sensor_sel = <1>; vinc13_sensor_list = <0>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc32:vinc@14 { vinc14_csi_sel = <1>; vinc14_mipi_sel = <1>; vinc14_csi_ch = <0x11>; vinc14_isp_sel = <2>; vinc14_isp_tx_ch = <0>; vinc14_tdm_rx_sel = <2>; vinc14_rear_sensor_sel = <1>; vinc14_front_sensor_sel = <1>; vinc14_sensor_list = <0>; iommus = <&mmu_aw 1 0>; delay_init = <1>; status = "okay"; }; vinc33:vinc@15 { vinc15_csi_sel = <2>; vinc15_mipi_sel = <0xff>; vinc15_isp_sel = <0>; vinc15_isp_tx_ch = <0>; vinc15_tdm_rx_sel = <0>; vinc15_rear_sensor_sel = <0>; vinc15_front_sensor_sel = <0>; vinc15_sensor_list = <0>; status = "disabled"; }; }; gpio_charger: gpio_charger@0 { compatible = "gpio-charger"; gpios = <&pio PH 3 0 1 1 1>; charger-type = "usb-sdp"; status = "okay"; }; gpio_sw@0x02000000 { compatible = "allwinner,sunxi-init-gpio"; reg = <0x0 0x02000000 0x0 0x370>; gpio_num = <1>; gpio_pin_1 = <&pio PE 0 0x1 0x1 0x1 0x1>; }; }; }; &cpu0 { vf_tbl_sel = <0>; }; &npu { clock-frequency = <348000000>;/*0.93V 348M; 0.96V 348M*/ }; &uart0 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart0_pins_active>; pinctrl-1 = <&uart0_pins_sleep>; /* uart-supply = <®_dcdc1>; */ status = "okay"; }; &uart1 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart1_pins_active>; pinctrl-1 = <&uart1_pins_sleep>; /* uart-supply = <®_dcdc1>; */ status = "disabled"; }; &uart2 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart2_pins_active>; pinctrl-1 = <&uart2_pins_sleep>; /* uart-supply = <®_dcdc1>; */ status = "okay"; }; &uart3 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&uart3_pins_active>; pinctrl-1 = <&uart3_pins_sleep>; /* uart-supply = <®_dcdc1>; */ status = "disabled"; }; &pinctrl_test { status = "disabled"; }; &pio { wlan_pins_a: wlan@0 { allwinner,pins = "PG6"; allwinner,function = "clk"; allwinner,muxsel = <3>; }; uart0_pins_active: uart0@0 { allwinner,pins = "PH9", "PH10"; allwinner,function = "uart0"; allwinner,muxsel = <5>; allwinner,drive = <1>; allwinner,pull = <1>; }; uart0_pins_sleep: uart0@1 { allwinner,pins = "PH9", "PH10"; allwinner,function = "gpio_in"; allwinner,muxsel = <0>; }; uart1_pins_active: uart1@0 { allwinner,pins = "PG6", "PG7"; allwinner,function = "uart1"; allwinner,muxsel = <4>; allwinner,drive = <1>; allwinner,pull = <1>; }; uart1_pins_sleep: uart1@1 { allwinner,pins = "PG6", "PG7"; allwinner,function = "gpio_in"; allwinner,muxsel = <0>; }; uart2_pins_active: uart2@0 { allwinner,pins = "PD18", "PD19"; allwinner,function = "uart2"; allwinner,muxsel = <7>; allwinner,drive = <1>; allwinner,pull = <1>; }; uart2_pins_sleep: uart2@1 { allwinner,pins = "PD18", "PD19"; allwinner,function = "gpio_in"; allwinner,muxsel = <0>; }; uart3_pins_active: uart3@0 { allwinner,pins = "PH0", "PH1"; allwinner,function = "uart3"; allwinner,muxsel = <5>; allwinner,drive = <1>; allwinner,pull = <1>; }; uart3_pins_sleep: uart3@1 { allwinner,pins = "PH0", "PH1"; allwinner,function = "gpio_in"; allwinner,muxsel = <0>; }; spi0_pins_a: spi0@0 { allwinner,pins = "PC0", "PC2", "PC3"; allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; allwinner,function = "spi0"; allwinner,muxsel = <4>; allwinner,drive = <1>; allwinner,pull = <0>; }; spi0_pins_b: spi0@1 { allwinner,pins = "PC1", "PC5", "PC4"; allwinner,pname = "spi0_cs0", "spi0_hold", "spi0_wp"; allwinner,function = "spi0"; allwinner,muxsel = <4>; allwinner,drive = <1>; allwinner,pull = <1>; // only CS should be pulled up }; spi0_pins_c: spi0@2 { allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; spi1_pins_a: spi1@0 { allwinner,pins = "PF31", "PF24", "PF29", "PF26", "PF30"; allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso", "spi0_hold", "spi0_wp"; allwinner,function = "spi0"; allwinner,muxsel = <5>; allwinner,drive = <1>; allwinner,pull = <0>; }; spi1_pins_b: spi1@1 { allwinner,pins = "PF25"; allwinner,pname = "spi0_cs0"; allwinner,function = "spi0"; allwinner,muxsel = <5>; allwinner,drive = <1>; allwinner,pull = <1>; // only CS should be pulled up }; spi1_pins_c: spi1@2 { allwinner,pins = "PF24", "PF25", "PF26", "PF29", "PF30", "PF31"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; spi3_pins_a: spi3@0 { allwinner,pins = "PH11", "PH12", "PH13"; allwinner,pname = "spi3_sclk", "spi3_mosi", "spi3_miso"; allwinner,function = "spi3"; allwinner,muxsel = <6>; allwinner,drive = <1>; allwinner,pull = <0>; }; spi3_pins_b: spi3@1 { allwinner,pins = "PH14"; allwinner,pname = "spi3_cs0"; allwinner,function = "spi3"; allwinner,muxsel = <6>; allwinner,drive = <1>; allwinner,pull = <1>; }; spi3_pins_c: spi3@2 { allwinner,pins = "PH11", "PH12", "PH13", "PH14"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; spif_pins_a: spif0@0 { allwinner,pins = "PC0", "PC2", "PC3", "PC6", "PC7", "PC8", "PC9", "PC10"; allwinner,pname = "spif_clk", "spif_mosi", "spif_miso", "spif_io4", "spif_io5", "spif_io6", "spif_io7", "spif_io8"; allwinner,function = "spif"; allwinner,muxsel = <2>; allwinner,drive = <1>; allwinner,pull = <0>; }; spif_pins_b: spif@1 { allwinner,pins = "PC1", "PC4", "PC5"; allwinner,pname = "spif_cs0", "spif_wp", "spif_hold"; allwinner,function = "spif"; allwinner,muxsel = <2>; allwinner,drive = <1>; allwinner,pull = <1>; // only CS should be pulled up }; spif_pins_c: spif@2 { allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10"; allwinner,function = "gpio_in"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; mipib_pins_a: mipib@0 { allwinner,pins = "PA10", "PA11"; allwinner,pname = "mipib_ck0n", "mipib_ck0p"; allwinner,function = "mipib_rx"; allwinner,muxsel = <2>; allwinner,drive = <1>; allwinner,pull = <0>; }; mipib_pins_b: mipib@1 { allwinner,pins = "PA10", "PA11"; allwinner,pname = "mipib_d1n", "mipib_d1p", "mipib_ck0n", "mipib_ck0p"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; /* mipib_4lane_pins_a: mipib_4lane@0 { allwinner,pins = "PA8", "PA9"; allwinner,pname = "mipib_d1n", "mipib_d1p"; allwinner,function = "mipib_rx"; allwinner,muxsel = <2>; allwinner,drive = <1>; allwinner,pull = <0>; }; mipib_4lane_pins_b: mipib_4lane@1 { allwinner,pins = "PA8", "PA9"; allwinner,pname = "mipib_d1n", "mipib_d1p"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; */ twi0_pins_a: twi0@0 { allwinner,pins = "PE4", "PE5"; allwinner,pname = "twi0_scl", "twi0_sda"; allwinner,function = "twi0"; allwinner,muxsel = <8>; allwinner,drive = <0>; allwinner,pull = <1>; }; twi0_pins_b: twi0@1 { allwinner,pins = "PE4", "PE5"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <0>; allwinner,pull = <0>; }; twi1_pins_a: twi1@0 { allwinner,pins = "PE2", "PE3"; allwinner,pname = "twi1_scl", "twi1_sda"; allwinner,function = "twi1"; allwinner,muxsel = <8>; allwinner,drive = <0>; allwinner,pull = <1>; }; twi1_pins_b: twi1@1 { allwinner,pins = "PE2", "PE3"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <0>; allwinner,pull = <0>; }; twi2_pins_a: twi2@0 { allwinner,pins = "PH11", "PH12"; allwinner,pname = "twi2_scl", "twi2_sda"; allwinner,function = "twi2"; allwinner,muxsel = <5>; allwinner,drive = <0>; allwinner,pull = <1>; }; twi2_pins_b: twi2@1 { allwinner,pins = "PH11", "PH12"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <0>; allwinner,pull = <0>; }; twi3_pins_a: twi3@0 { allwinner,pins = "PI3", "PI4"; allwinner,pname = "twi3_scl", "twi3_sda"; allwinner,function = "twi3"; allwinner,muxsel = <6>; allwinner,drive = <0>; allwinner,pull = <1>; }; twi3_pins_b: twi3@1 { allwinner,pins = "PI3", "PI4"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <0>; allwinner,pull = <0>; }; twi4_pins_a: twi4@0 { allwinner,pins = "PE6", "PE7"; allwinner,pname = "twi4_scl", "twi4_sda"; allwinner,function = "twi4"; allwinner,muxsel = <8>; allwinner,drive = <0>; allwinner,pull = <1>; }; twi4_pins_b: twi4@1 { allwinner,pins = "PE6", "PE7"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <0>; allwinner,pull = <0>; }; dmic_pins_a: dmic@0 { allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; allwinner,function = "dmic"; allwinner,muxsel = <6>; allwinner,drive = <1>; allwinner,pull = <0>; }; dmic_pins_b: dmic_sleep@0 { allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; daudio0_pins_a: daudio0@0 { allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; allwinner,function = "i2s0"; allwinner,muxsel = <3>; allwinner,drive = <1>; allwinner,pull = <0>; }; daudio0_pins_b: daudio0_sleep@0 { allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; daudio1_pins_a: daudio1@0 { allwinner,pins = "PE7", "PE8", "PE9", "PE10", "PE11"; allwinner,function = "i2s1"; allwinner,muxsel = <7>; allwinner,drive = <1>; allwinner,pull = <0>; }; daudio1_pins_b: daudio1_sleep@0 { allwinner,pins = "PE7", "PE8", "PE9", "PE10", "PE11"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; pwm0_pin_a: pwm0@0 { pins = "PH0"; function = "pwm0"; muxsel = <2>; drive-strength = <10>; bias-pull-up; }; pwm0_pin_b: pwm0@1 { pins = "PH0"; function = "gpio_in"; muxsel = <0>; }; pwm4_pin_a: pwm4@0 { pins = "PH11"; function = "pwm4"; muxsel = <8>; drive-strength = <10>; bias-pull-up; }; pwm4_pin_b: pwm4@1 { pins = "PH11"; function = "gpio_in"; muxsel = <0>; }; pwm6_pin_a: pwm6@0 { pins = "PE6"; function = "pwm6"; muxsel = <5>; drive-strength = <10>; bias-pull-up; }; pwm6_pin_b: pwm6@1 { pins = "PE6"; function = "gpio_in"; muxsel = <0>; }; pwm9_pin_a: pwm9@0 { pins = "PD22"; function = "pwm9"; muxsel = <2>; drive-strength = <10>; bias-pull-up; }; pwm9_pin_b: pwm9@1 { pins = "PD22"; function = "gpio_in"; muxsel = <0>; }; pwm10_pin_a: pwm10@0 { pins = "PD20"; function = "pwm10"; muxsel = <3>; drive-strength = <10>; bias-pull-up; }; pwm10_pin_b: pwm10@1 { pins = "PD20"; function = "gpio_in"; muxsel = <0>; }; wiegand_pins_a: wiegand@0 { pins = "PH13", "PH14"; function = "wiegand"; muxsel = <7>; drive-strength = <10>; bias-pull-up; }; wiegand_pins_b: wiegand@1 { pins = "PH13", "PH14"; function = "io_disabled"; muxsel = <0xf>; }; gmac0_pins_a: gmac0@0 { allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15"; allwinner,function = "rgmii"; allwinner,drive = <1>; allwinner,muxsel = <3>; allwinner,pull = <0>; }; gmac0_pins_b: gmac0@1 { allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15"; allwinner,function = "gpio_in"; allwinner,drive = <0>; allwinner,muxsel = <0>; allwinner,pull = <0>; }; csi_mclk0_pins_a: csi_mclk0@0 { allwinner,pins = "PE12"; allwinner,pname = "mipi_csi_mclk0"; allwinner,function = "mipi_csi_mclk0"; allwinner,muxsel = <5>; allwinner,drive = <2>; allwinner,pull = <0>; }; csi_mclk0_pins_b: csi_mclk0@1 { allwinner,pins = "PE12"; allwinner,pname = "mipi_csi_mclk0"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <2>; allwinner,pull = <0>; }; csi_mclk1_pins_a: csi_mclk1@0 { allwinner,pins = "PE13"; allwinner,pname = "mipi_csi_mclk1"; allwinner,function = "mipi_csi_mclk1"; allwinner,muxsel = <5>; allwinner,drive = <2>; allwinner,pull = <0>; }; csi_mclk1_pins_b: csi_mclk1@1 { allwinner,pins = "PE13"; allwinner,pname = "mipi_csi_mclk1"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <2>; allwinner,pull = <0>; }; csi_mclk2_pins_a: csi_mclk2@0 { allwinner,pins = "PE1"; allwinner,pname = "ncsi_mclk"; allwinner,function = "ncsi_mclk"; allwinner,muxsel = <2>; allwinner,drive = <2>; allwinner,pull = <0>; }; csi_mclk2_pins_b: csi_mclk2@1 { allwinner,pins = "PE1"; allwinner,pname = "ncsi_mclk"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <2>; allwinner,pull = <0>; }; dsi2lane_pins_a: dsi2lane@0 { allwinner,pins = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; allwinner,pname = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; allwinner,function = "dsi"; allwinner,muxsel = <5>; allwinner,drive = <3>; allwinner,pull = <0>; }; dsi2lane_pins_b: dsi2lane@1 { allwinner,pins = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; allwinner,pname = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; allwinner,function = "io_disabled"; allwinner,muxsel = <0xf>; allwinner,drive = <1>; allwinner,pull = <0>; }; }; &spi0 { clock-frequency = <100000000>; pinctrl-0 = <&spi0_pins_a &spi0_pins_b>; pinctrl-1 = <&spi0_pins_c>; /* spi-supply = <®_dcdc3>; */ pinctrl-names = "default", "sleep"; spi_slave_mode = <0>; spi_dbi_enable = <0>; spi0_cs_number = <1>; status = "disabled"; spi_board0 { device_type = "spi_board0"; compatible = "spi-nor"; spi-max-frequency = <0x05F5E100>; m25p,fast-read = <1>; /*individual_lock;*/ reg = <0x0>; spi-rx-bus-width=<0x04>; spi-tx-bus-width=<0x04>; status="disabled"; }; spi-nand@0 { compatible = "spi-nand"; spi-max-frequency=<0x05F5E100>; reg = <0x0>; spi-rx-bus-width=<0x04>; spi-tx-bus-width=<0x04>; status="disabled"; }; }; &spi1 { clock-frequency = <100000000>; pinctrl-0 = <&spi1_pins_a &spi1_pins_b>; pinctrl-1 = <&spi1_pins_c>; pinctrl-names = "default", "sleep"; spi_slave_mode = <0>; spi_dbi_enable = <1>; spi1_cs_number = <1>; status = "disabled"; spi_board1@0 { device_type = "spi_dbi"; compatible = "sunxi,spidbi"; spi-max-frequency = <0x5f5e100>; reg = <0x0>; spi-rx-bus-width = <0x4>; spi-tx-bus-width = <0x4>; status = "disabled"; }; }; &spi3 { clock-frequency = <100000000>; pinctrl-0 = <&spi3_pins_a &spi3_pins_b>; pinctrl-1 = <&spi3_pins_c>; pinctrl-names = "default", "sleep"; spi_dbi_enable = <0>; spi_slave_mode = <0>; spi3_cs_number = <1>; status = "disabled"; spi_board1 { device_type = "spi_board1"; compatible = "xradio,xr806"; spi-max-frequency = <50000000>; reg = <0x00000000>; status = "disabled"; }; }; &spif0 { clock-frequency = <100000000>; pinctrl-0 = <&spif_pins_a &spif_pins_b>; pinctrl-1 = <&spif_pins_c>; pinctrl-names = "default", "sleep"; //prefetch_read_mode_enabled; /* choose prefect read mode */ dtr_mode_enabled; /* choose double edge trigger mode */ //dqs_mode_enabled; /* choose dqs mode(nand provide clk mode) */ status = "okay"; spif-nor { device_type = "spi_board0"; compatible = "spif-nor"; spi-max-frequency = <0x5f5e100>; reg = <0x0>; spi-rx-bus-width = <0x4>; spi-tx-bus-width = <0x4>; status = "okay"; }; }; &msgbox { status = "okay"; }; &e907_standby { status = "okay"; }; &twi0 { clock-frequency = <400000>; pinctrl-0 = <&twi0_pins_a>; pinctrl-1 = <&twi0_pins_b>; pinctrl-names = "default", "sleep"; /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 0 */ twi_drv_used = <0>; /* twi-supply = <®_dcdc1>; */ twi_pkt_interval = <0>; rproc-name = "e907_rproc@0"; no_suspend = <1>; status = "okay"; }; &twi1 { clock-frequency = <400000>; pinctrl-0 = <&twi1_pins_a>; pinctrl-1 = <&twi1_pins_b>; pinctrl-names = "default", "sleep"; /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 0 */ twi_drv_used = <0>; /* twi-supply = <®_dcdc1>; */ twi_pkt_interval = <0>; rproc-name = "e907_rproc@0"; no_suspend = <1>; status = "okay"; }; &twi2 { clock-frequency = <200000>; pinctrl-0 = <&twi2_pins_a>; pinctrl-1 = <&twi2_pins_b>; pinctrl-names = "default", "sleep"; /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 0 */ twi_drv_used = <0>; /* twi-supply = <®_dcdc1>; */ twi_pkt_interval = <0>; status = "okay"; ctp@0 { compatible = "hynitron,hyn_ts"; status = "okay"; reg = <0x5a>; ctp_name = "cst9220_hyn"; ctp_twi_id = <0x2>; device_type = "ctp"; ctp_twi_addr = <0x5a>; ctp_screen_max_x = <0x2d0>; ctp_screen_max_y = <0x500>; ctp_revert_x_flag = <0x0>; // ref to hynitron_core.h ctp_revert_y_flag = <0x1>; ctp_exchange_x_y_flag = <0x1>; ctp_int_port = <&pio PH 13 7 1 3 0xffffffff>; ctp_wakeup = <&pio PH 14 1 1 3 0xffffffff>; ctp_power_ldo_vol = <3300>; hynitron,irq-gpio = <&pio PH 13 7 1 3 0xffffffff>; //<&pio PH 13 0 0 1 0>; hynitron,reset-gpio = <&pio PH 14 1 1 3 0xffffffff>; //<&pio PH 14 1 0 1 0>; hynitron,max-touch-number = <1>; hynitron,display-coords = <720 1280>; hynitron,have-key; hynitron,key-number = <3>; hynitron,key-code = <139 172 158>; hynitron,key-y-coord = <2000 2000 2000>; hynitron,key-x-coord = <200 600 800>; }; }; &twi3 { clock-frequency = <400000>; pinctrl-0 = <&twi3_pins_a>; pinctrl-1 = <&twi3_pins_b>; pinctrl-names = "default", "sleep"; /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 0 */ twi_drv_used = <0>; /* twi-supply = <®_aldo1>; */ twi_pkt_interval = <0>; status = "disabled"; }; &twi4 { clock-frequency = <200000>; //<400000> pinctrl-0 = <&twi4_pins_a>; pinctrl-1 = <&twi4_pins_b>; pinctrl-names = "default", "sleep"; /* For stability and backwards compatibility, we recommend setting ‘twi_drv_used’ to 0 */ twi_drv_used = <0>; /* twi-supply = <®_aldo1>; */ twi_pkt_interval = <0>; /*no_suspend = <1>;*/ status = "disabled"; /* ctp@14 { compatible = "allwinner,gsl3680"; device_type = "ctp"; reg = <0x40>; status = "okay"; ctp_name = "gslX680_3680"; ctp_twi_id = <0x4>; ctp_twi_addr = <0x40>; ctp_screen_max_x = <0x500>; ctp_screen_max_y = <0x320>; ctp_revert_x_flag = <0x0>; ctp_revert_y_flag = <0x1>; ctp_exchange_x_y_flag = <0x1>; ctp_int_port = <&pio PE 8 6 1 3 0xffffffff>; ctp_wakeup = <&pio PE 9 1 1 3 0xffffffff>; ctp_power_ldo_vol = <3300>; }; */ }; /* audio dirver module -> audio codec */ &codec { /* external-avcc; */ /* avcc-supply = <®_aldo1>; */ avcc-vol = <1800000>; /* uv */ lineout-vol = <31>; mic1gain = <31>; mic2gain = <31>; adcdelaytime = <0>; /* lineout-single; */ /* mic1-single; */ /* mic2-single; */ pa-pin-max = <1>; /* set pa */ pa-pin-0 = <&pio PD 21 1 1 1 0>; pa-pin-level-0 = <1>; pa-pin-msleep-0 = <0>; // tx-hub-en; // rx-sync-en; status = "okay"; }; &codec_plat { status = "okay"; }; &codec_mach { status = "okay"; soundcard-mach,cpu { sound-dai = <&codec_plat>; }; soundcard-mach,codec { sound-dai = <&codec>; }; }; /* audio dirver module -> DMIC */ &dmic_plat { rx-chmap = <0x76543210>; data-vol = <0xB0>; rxdelaytime = <0>; pinctrl-used; pinctrl-names = "default","sleep"; pinctrl-0 = <&dmic_pins_a>; pinctrl-1 = <&dmic_pins_b>; rx-sync-en; status = "disabled"; }; &dmic_mach { status = "disabled"; soundcard-mach,cpu { sound-dai = <&dmic_plat>; soundcard-mach,pll-fs = <1>; /* pll freq = 24.576M or 22.5792M * pll-fs */ }; soundcard-mach,codec { }; }; /* audio dirver module -> I2S/PCM */ &daudio0_plat { tdm-num = <0>; tx-pin = <0>; rx-pin = <0>; /* pinctrl-used; */ /* pinctrl-names= "default","sleep"; */ /* pinctrl-0 = <&daudio0_pins_a>; */ /* pinctrl-1 = <&daudio0_pins_b>; */ // tx-hub-en; // rx-sync-en; status = "okay"; }; &daudio0_mach { soundcard-mach,format = "i2s"; soundcard-mach,frame-master = <&daudio0_cpu>; soundcard-mach,bitclock-master = <&daudio0_cpu>; /* soundcard-mach,frame-inversion; */ /* soundcard-mach,bitclock-inversion; */ soundcard-mach,slot-num = <2>; soundcard-mach,slot-width = <32>; status = "okay"; daudio0_cpu: soundcard-mach,cpu { sound-dai = <&daudio0_plat>; soundcard-mach,pll-fs = <1>; /* pll freq = 24.576M or 22.5792M * pll-fs */ soundcard-mach,mclk-fs = <0>; /* mclk freq = pcm rate * mclk-fs */ }; daudio0_codec: soundcard-mach,codec { }; }; &daudio1_plat { tdm-num = <1>; tx-pin = <0>; rx-pin = <0>; /* pinctrl-used; */ /* pinctrl-names= "default","sleep"; */ /* pinctrl-0 = <&daudio1_pins_a>; */ /* pinctrl-1 = <&daudio1_pins_b>; */ tx-hub-en; rx-sync-en; status = "disabled"; }; &daudio1_mach { soundcard-mach,format = "i2s"; soundcard-mach,frame-master = <&daudio1_cpu>; soundcard-mach,bitclock-master = <&daudio1_cpu>; /* soundcard-mach,frame-inversion; */ /* soundcard-mach,bitclock-inversion; */ soundcard-mach,slot-num = <2>; soundcard-mach,slot-width = <32>; status = "disabled"; daudio1_cpu: soundcard-mach,cpu { sound-dai = <&daudio1_plat>; soundcard-mach,pll-fs = <1>; /* pll freq = 24.576M or 22.5792M * pll-fs */ soundcard-mach,mclk-fs = <0>; /* mclk freq = pcm rate * mclk-fs */ }; daudio1_codec: soundcard-mach,codec { }; }; /* audio dirver module -> END */ &usbc0 { device_type = "usbc0"; usb_port_type = <0x0>; usb_detect_type = <0x0>; usb_detect_mode = <0x0>; usb_id_gpio; /*usb_id_gpio = <&pio PH 14 0 1 0xffffffff 0xffffffff>;*/ usb_det_vbus_gpio; /*usb_det_vbus_gpio = <&pio PH 3 0 1 0xffffffff 0xffffffff>;*/ /*det_vbus_supply = <&gpio_charger>;*/ usb_regulator_io = "nocare"; usb_wakeup_suspend = <0x0>; usb_luns = <0x3>; usb_serial_unique = <0x0>; usb_serial_number = "20080411"; status = "okay"; }; &udc { /*det_vbus_supply = <&gpio_charger>;*/ status = "okay"; }; &ehci0 { /*drvvbus-supply = <®_usb_vbus>;*/ status = "okay"; }; &ohci0 { /*drvvbus-supply = <®_usb_vbus>;*/ status = "okay"; }; &pwm0 { pinctrl-names = "active", "sleep"; pinctrl-0 = <&pwm0_pin_a>; pinctrl-1 = <&pwm0_pin_b>; status = "okay"; }; &pwm4 { pinctrl-names = "active", "sleep"; pinctrl-0 = <&pwm4_pin_a>; pinctrl-1 = <&pwm4_pin_b>; status = "disabled"; }; &pwm6 { pinctrl-names = "active", "sleep"; pinctrl-0 = <&pwm6_pin_a>; pinctrl-1 = <&pwm6_pin_b>; status = "disabled"; }; &pwm9 { pinctrl-names = "active", "sleep"; pinctrl-0 = <&pwm9_pin_a>; pinctrl-1 = <&pwm9_pin_b>; status = "disabled"; }; &pwm10 { pinctrl-names = "active", "sleep"; pinctrl-0 = <&pwm10_pin_a>; pinctrl-1 = <&pwm10_pin_b>; status = "okay"; }; &gpadc { channel_num = <1>; channel_select = <0x01>; channel_data_select = <0>; channel_compare_select = <0x01>; /*channel_cld_select = <0x01>;*/ channel_chd_select = <1>; /*channel0_compare_lowdata = <1700000>;*/ channel0_compare_higdata = <0>; /*channel1_compare_lowdata = <460000>;*/ /*channel1_compare_higdata = <1200000>;*/ key_cnt = <1>; key0_vol = <1800>; key0_val = <115>; /*key1_vol = <410>;*/ /*key1_val = <114>;*/ /*key2_vol = <590>;*/ /*key2_val = <139>;*/ /*key3_vol = <750>;*/ /*key3_val = <28>;*/ /*key4_vol = <880>;*/ /*key4_val = <102>;*/ status = "okay"; }; &wiegand { protocol-type = <0>; /* select protocol-type; 0:26bit, 1:34bit */ signal-duration = <110>; /* duty cycle, range is determined by clock_div */ signal-period = <1178>; /* cycle length, range is determined by clock_div */ high-parity-polar = <0x01>; /* select high parity bit polarity 1:odd parity; 0:even parity */ low-parity-polar = <0x00>; /* select low parity bit polarity 1:odd parity; 0:even parity */ data-polar = <0x01>; /* select the bit polarity 0:normal; 1:inverse */ clock-div = <0x18>; /* set the clock division ratio, range: 0-48 */ pinctrl-names = "default", "sleep"; pinctrl-0 = <&wiegand_pins_a>; pinctrl-1 = <&wiegand_pins_b>; status = "disabled"; }; &gmac0{ phy-mode = "rmii"; use_ephy25m = <1>; pinctrl-0 = <&gmac0_pins_a>; pinctrl-1 = <&gmac0_pins_b>; pinctrl-names = "default", "sleep"; tx-delay = <7>; rx-delay = <31>; status = "disabled"; }; &sdc2 { non-removable; bus-width = <8>; mmc-ddr-1_8v; mmc-hs200-1_8v; mmc-hs400-1_8v; no-sdio; no-sd; ctl-spec-caps = <0x308>; cap-mmc-highspeed; sunxi-power-save-mode; sunxi-dis-signal-vol-sw; max-frequency = <100000000>; /* vmmc-supply = <®_dcdc1>; */ /*emmc io vol 3.3v*/ /* vqmmc-supply = <®_bldo1>; */ /*emmc io vol 1.8v*/ /*vqmmc-supply = <®_eldo1>;*/ status = "disabled"; }; &sdc0 { bus-width = <4>; cd-gpios = <&pio PF 6 6 1 3 0xffffffff>; /*non-removable;*/ /*broken-cd;*/ /*cd-inverted*/ /*data3-detect;*/ card-pwr-gpios = <&pio PH 0 1 1 2 0xffffffff>; cd-used-24M; cap-sd-highspeed; sd-uhs-sdr50; sd-uhs-ddr50; sd-uhs-sdr104; no-sdio; no-mmc; sunxi-signal-vol-sw-without-pmu; sunxi-power-save-mode; /*sunxi-dis-signal-vol-sw;*/ max-frequency = <150000000>; ctl-spec-caps = <0x408>; /* vmmc-supply = <®_dcdc1>; */ /* vqmmc33sw-supply = <®_dcdc1>; */ /* vdmmc33sw-supply = <®_dcdc1>; */ /* vqmmc18sw-supply = <®_bldo1>; */ /* vdmmc18sw-supply = <®_bldo1>; */ status = "disabled"; }; &sdc1 { bus-width = <4>; no-mmc; no-sd; cap-sd-highspeed; /*sd-uhs-sdr12*/ /*sd-uhs-sdr25*/ /*sd-uhs-sdr50;*/ /*sd-uhs-ddr50;*/ /*sd-uhs-sdr104*/ /*sunxi-power-save-mode;*/ sunxi-dis-signal-vol-sw; cap-sdio-irq; keep-power-in-suspend; ignore-pm-notify; max-frequency = <50000000>; ctl-spec-caps = <0x8>; status = "disabled"; }; &disp { disp_init_enable = <1>; disp_mode = <0>; screen0_output_type = <1>; screen0_output_mode = <4>; screen1_output_type = <3>; screen1_output_mode = <10>; screen1_output_format = <0>; screen1_output_bits = <0>; screen1_output_eotf = <4>; screen1_output_cs = <257>; screen1_output_range = <2>; screen1_output_scan = <0>; screen1_output_aspect_ratio = <8>; dev0_output_type = <1>; dev0_output_mode = <4>; dev0_screen_id = <0>; dev0_do_hpd = <0>; dev1_output_type = <4>; dev1_output_mode = <10>; dev1_screen_id = <1>; dev1_do_hpd = <1>; def_output_dev = <0>; fb0_format = <0>; fb0_width = <0>; fb0_height = <0>; fb1_format = <0>; fb1_width = <0>; fb1_height = <0>; chn_cfg_mode = <1>; disp_para_zone = <1>; status = "okay"; }; &dsi4lane_pins_a { allwinner,pins = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; allwinner,pname = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; }; &dsi4lane_pins_b { allwinner,pins = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; allwinner,pname = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; }; &lcd0 { base_config_start = <1>; lcd_used = <1>; lcd_driver_name = "icn6202_2lane"; lcd_bl_0_percent = <0>; lcd_bl_40_percent = <23>; lcd_bl_100_percent = <100>; lcd_backlight = <0>; lcd_if = <4>; lcd_x = <720>; lcd_y = <1280>; lcd_width = <62>; lcd_height = <110>; lcd_dclk_freq = <54>; lcd_pwm_used = <1>; lcd_pwm_ch = <10>; lcd_pwm_freq = <50000>; lcd_pwm_pol = <0>; lcd_pwm_max_limit = <255>; lcd_hbp = <40>; lcd_ht = <800>; lcd_hspw = <8>; lcd_vbp = <30>; lcd_vt = <1340>; lcd_vspw = <8>; lcd_dsi_if = <0>; lcd_dsi_lane = <2>; lcd_dsi_format = <0>; lcd_dsi_te = <0>; lcd_dsi_eotp = <0>; lcd_frm = <0>; lcd_io_phase = <0x0000>; lcd_hv_clk_phase = <0>; lcd_hv_sync_polarity= <0>; lcd_gamma_en = <0>; lcd_bright_curve_en = <0>; lcd_cmap_en = <0>; lcdgamma4iep = <22>; lcd_gpio_0 = <&pio PD 7 1 0 3 1>; pinctrl-0 = <&dsi2lane_pins_a>; pinctrl-1 = <&dsi2lane_pins_b>; base_config_end = <1>; status = "okay"; }; &g2d { status = "okay"; }; &e907_rproc { memory-region = <&e907_dram>, <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rv_share_irq_table>; memory-mappings = /* DA len PA */ /* DDR for e907 */ < 0x45010000 0x00530000 0x45010000 >; // iommus = <&mmu_aw 5 1>; fw-region = <&e907_fw>; firmware-name = "melis-elf"; share-irq = "e907"; status = "okay"; };