ddkDIZ Posted September 15, 2015 Posted September 15, 2015 are the 1-wire modules built into legacy kernel ( 3.4.xx ) with debian jesse on an Olimex A20 LIME2 ( also the -SOM-4GB ) ?To use 1-Wire for DS18b20 temperature sensors on GPIO5 (from my fex file : gpio_pin_5 = port:PG04<0><default><default><default>) I added [w1_para] w1_used = 1 gpio = 5 to the aw_som_a20.fex file but I don't see any 1-wire modules or drivers loaded.I then used fex2bin ( in windows) to get the .bin file, copied it over and replaced the symlink from script.bin that was pointing to lime2.bin to point to my SSM_som.bin ( I changed the name of the edited one to my board name : SSM_som)Would I need to recompile the kernel to add these modules or can I add them to the current installation ?where are the bin2fex and fex2bin files stored on these images ( i used FTP to get them off, edit, put them back on )-dd SSM_som_fex.txt
ddkDIZ Posted September 15, 2015 Author Posted September 15, 2015 No recompiling needed , just reading up on kernel modules ... I added w1_sunxi w1_gpio w1_therm to File: /etc/modules-load.d/modules.confand rebootedthe W1 interface showed up.: # ls /sys/bus/w1/devices/ 28-0000059a1220 w1_bus_master1 and to read the temperature ( 23.5 deg C ): # cat /sys/bus/w1/devices/28-0000059a1220/w1_slave 78 01 4b 46 1f ff 08 10 c1 : crc=c1 YES 78 01 4b 46 1f ff 08 10 c1 t=23500 note that you need a 4k7 ish pullup from data to 3V3 for the 1W bus to function properlysome people sugguested using ~# modprobe w1-therm strong_pullup=1 But I have a pullup on the PCB so i did not need to do this -dd 1
Aqua-Passion Posted September 20, 2015 Posted September 20, 2015 Hello , I have a olinuxino a20 lime2 and I'm new with armbian I try to get 1wire working I have see i've to configure it in fex file but i cant find the process can you help me ? Thanks Edit : I have find /media/mmc/boot/bin/lime2.bin ( I have root fs on sata disk) it's this file I have to convert to fex and edit ? I have a problem when I do # modprobe w1-gpiomodprobe: ERROR: could not insert 'w1_gpio': No such device # modprobe w1_sunximodprobe: ERROR: could not insert 'w1_sunxi': Invalid argument # modprobe w1-therm is ok
ddkDIZ Posted September 20, 2015 Author Posted September 20, 2015 I followed the fex guide ( http://linux-sunxi.org/Fex_Guide) and 1-Wire link from ( http://linux-sunxi.org/Main_Page ) to add the modules I edited /etc/modules-load.d/modules.conf and added the modules (w1_sunxi , w1_gpio and w1_therm ) assuming you used the armbian lime2 image then /media/mmc/boot/bin/lime2.bin is the correct file to edit You need to convert the script.bin to a fex file and add the [w1_para] part , save and convert it the .fex back to a .bin.Note that the script.bin in the /boot/ directory is a symlink that points to one of the .bin files in /boot/bin/use " ls -l /boot/ " to see which file it points to ( in my case it is /boot/bin/a20SOM.bin ) root@lime2:~# ls -l /boot/ lrwxrwxrwx 1 root root 20 Sep 20 15:28 script.bin -> /boot/bin/a20SOM.bin I could not find the bin2fex and fex2bin scripts on Armbian so I used the windows binary from here This is a convoluted way of doing the edit, there is probably a better way..Use something like filezilla to : sftp to your armbian device and copy the correct .bin to your local machine, rename the file to script.bin convert it to a fex by running the bin2fex.bat from the same directory add the [w1_config] as you want it ( using a text editior ) save the .fex convert it to a .bin using fex2bin.batrename it to the correct name for your A20 device, use sftp to copy it back to the /boot/bin directoryin the Olimex image ( torrent form olimex) there were fex2bin and bin2fex utilities, but i could not find them in armbian )
Igor Posted September 20, 2015 Posted September 20, 2015 fex2bin and bin2fex are included on all images. Have you compiled image by yourself?
Aqua-Passion Posted September 20, 2015 Posted September 20, 2015 Hello , thanks for your help It's ok for fex2bin and bin2fex for me I have modified In doubt I have converted to fex and modified the two bin: /media/mmc/boot/bin/lime2.bin ( in the sdcard ) and /boot/bin/lime2.bin ( in the sata disk ) ( my system boot from sd and , system on SATA) bin2fex /media/mmc/boot/bin/lime2.bin >> output.fex bin2fex /boot/bin/lime2.bin >> output2.fex added [w1_para] w1_used = 1 gpio = 12 in some tuto i've found gpio lines like this gpio_pin_12 = port:PC18<1><default><default><1> it is important or i can leave gpio_pin_12 = port:PC18<0><default><default><default> ? after i do fex2bin output2.fex >> /boot/bin/lime2.bin and fex2bin output.fex >> /media/mmc/boot/bin/lime2.bin reboot the system but got errors with : modprobe w1_sunxi modprobe w1_gpio root@lime2:~# modprobe w1_sunxi modprobe: ERROR: could not insert 'w1_sunxi': Invalid argument root@lime2:~# modprobe w1_gpio modprobe: ERROR: could not insert 'w1_gpio': No such device root@lime2:~# modprobe w1_therm root@lime2:~# I run the image Armbian_4.2_Lime2_Ubuntu_trusty_3.4.108_desktop.zip from here
Aqua-Passion Posted September 20, 2015 Posted September 20, 2015 (edited) If it can help when I do modprobe w1_sunxi terminal return modprobe: ERROR: could not insert 'w1_sunxi': Invalid argument and in serial output I have : <3>invalid gpio pin in fex configuration : -1 the fex file edited at the begining [product] version = "100" machine = "A20-OLinuXino-Lime2" [platform] eraseflag = 0 [target] boot_clock = 912 dcdc2_vol = 1425 dcdc3_vol = 1300 ldo2_vol = 3000 ldo3_vol = 2800 ldo4_vol = 2800 power_start = 0 storage_type = 0 [clock] pll4 = 300 pll6 = 600 pll7 = 297 pll8 = 336 [card_boot] logical_start = 40960 sprite_gpio0 = [card0_boot_para] card_ctrl = 0 card_high_speed = 1 card_line = 4 sdc_d1 = port:PF00<2><1><default><default> sdc_d0 = port:PF01<2><1><default><default> sdc_clk = port:PF02<2><1><default><default> sdc_cmd = port:PF03<2><1><default><default> sdc_d3 = port:PF04<2><1><default><default> sdc_d2 = port:PF05<2><1><default><default> [card2_boot_para] card_ctrl = 2 card_high_speed = 1 card_line = 4 sdc_cmd = port:PC06<3><1><default><default> sdc_clk = port:PC07<3><1><default><default> sdc_d0 = port:PC08<3><1><default><default> sdc_d1 = port:PC09<3><1><default><default> sdc_d2 = port:PC10<3><1><default><default> sdc_d3 = port:PC11<3><1><default><default> [twi_para] twi_port = 0 twi_scl = port:PB00<2><default><default><default> twi_sda = port:PB01<2><default><default><default> [uart_para] uart_debug_port = 0 uart_debug_tx = port:PB22<2><1><default><default> uart_debug_rx = port:PB23<2><1><default><default> [uart_force_debug] uart_debug_port = 0 uart_debug_tx = port:PB22<2><1><default><default> uart_debug_rx = port:PB23<2><1><default><default> [jtag_para] jtag_enable = 1 jtag_ms = port:PB14<3><default><default><default> jtag_ck = port:PB15<3><default><default><default> jtag_do = port:PB16<3><default><default><default> jtag_di = port:PB17<3><default><default><default> [pm_para] standby_mode = 0 [dram_para] dram_baseaddr = 0x40000000 dram_clk = 384 dram_type = 3 dram_rank_num = 1 dram_chip_density = 4096 dram_io_width = 16 dram_bus_width = 32 dram_cas = 9 dram_zq = 0x7f dram_odt_en = 0 dram_size = 1024 dram_tpr0 = 0x42d899b7 dram_tpr1 = 0xa090 dram_tpr2 = 0x22a00 dram_tpr3 = 0x0 dram_tpr4 = 0x1 dram_tpr5 = 0x0 dram_emr1 = 0x4 dram_emr2 = 0x10 dram_emr3 = 0x0 [mali_para] mali_used = 1 mali_clkdiv = 1 [gmac_para] gmac_used = 1 gmac_rxd3 = port:PA00<5><default><3><default> gmac_rxd2 = port:PA01<5><default><3><default> gmac_rxd1 = port:PA02<5><default><3><default> gmac_rxd0 = port:PA03<5><default><3><default> gmac_txd3 = port:PA04<5><default><3><default> gmac_txd2 = port:PA05<5><default><3><default> gmac_txd1 = port:PA06<5><default><3><default> gmac_txd0 = port:PA07<5><default><3><default> gmac_rxclk = port:PA08<5><default><3><default> gmac_rxerr = port:PA09<0><default><3><default> gmac_rxctl = port:PA10<5><default><3><default> gmac_mdc = port:PA11<5><default><3><default> gmac_mdio = port:PA12<5><default><3><default> gmac_txctl = port:PA13<5><default><3><default> gmac_txclk = port:PA14<0><default><3><default> gmac_txck = port:PA15<5><default><3><default> gmac_clkin = port:PA16<5><default><3><default> gmac_txerr = port:PA17<0><default><3><default> [twi0_para] twi0_used = 1 twi0_scl = port:PB00<2><default><default><default> twi0_sda = port:PB01<2><default><default><default> [twi1_para] twi1_used = 1 twi1_scl = port:PB18<2><default><default><default> twi1_sda = port:PB19<2><default><default><default> [twi2_para] twi2_used = 1 twi2_scl = port:PB20<2><default><default><default> twi2_sda = port:PB21<2><default><default><default> [twi3_para] twi3_used = 0 twi3_scl = port:PI00<3><default><default><default> twi3_sda = port:PI01<3><default><default><default> [twi4_para] twi4_used = 0 twi4_scl = port:PI02<3><default><default><default> twi4_sda = port:PI03<3><default><default><default> [uart_para0] uart_used = 1 uart_port = 0 uart_type = 2 uart_tx = port:PB22<2><1><default><default> uart_rx = port:PB23<2><1><default><default> [uart_para1] uart_used = 0 uart_port = 1 uart_type = 8 uart_tx = port:PA10<4><1><default><default> uart_rx = port:PA11<4><1><default><default> uart_rts = port:PA12<4><1><default><default> uart_cts = port:PA13<4><1><default><default> uart_dtr = port:PA14<4><1><default><default> uart_dsr = port:PA15<4><1><default><default> uart_dcd = port:PA16<4><1><default><default> uart_ring = port:PA17<4><1><default><default> [uart_para2] uart_used = 0 uart_port = 2 uart_type = 4 uart_tx = port:PI18<3><1><default><default> uart_rx = port:PI19<3><1><default><default> uart_rts = port:PI16<3><1><default><default> uart_cts = port:PI17<3><1><default><default> [uart_para3] uart_used = 0 uart_port = 3 uart_type = 4 uart_tx = port:PH00<4><1><default><default> uart_rx = port:PH01<4><1><default><default> uart_rts = port:PH02<4><1><default><default> uart_cts = port:PH03<4><1><default><default> [uart_para4] uart_used = 1 uart_port = 4 uart_type = 2 uart_tx = port:PG10<4><1><default><default> uart_rx = port:PG11<4><1><default><default> [uart_para5] uart_used = 0 uart_port = 5 uart_type = 2 uart_tx = port:PH06<4><1><default><default> uart_rx = port:PH07<4><1><default><default> [uart_para6] uart_used = 0 uart_port = 6 uart_type = 2 uart_tx = port:PI12<3><1><default><default> uart_rx = port:PI13<3><1><default><default> [uart_para7] uart_used = 0 uart_port = 7 uart_type = 2 uart_tx = port:PI20<3><1><default><default> uart_rx = port:PI21<3><1><default><default> [spi0_para] spi_used = 0 spi_cs_bitmap = 1 spi_cs0 = port:PI10<2><default><default><default> spi_cs1 = port:PI14<2><default><default><default> spi_sclk = port:PI11<2><default><default><default> spi_mosi = port:PI12<2><default><default><default> spi_miso = port:PI13<2><default><default><default> [spi1_para] spi_used = 1 spi_cs_bitmap = 1 spi_cs0 = port:PI16<2><default><default><default> spi_sclk = port:PI17<2><default><default><default> spi_mosi = port:PI18<2><default><default><default> spi_miso = port:PI19<2><default><default><default> [spi2_para] spi_used = 1 spi_cs_bitmap = 1 spi_cs0 = port:PC19<3><default><default><default> spi_sclk = port:PC20<3><default><default><default> spi_mosi = port:PC21<3><default><default><default> spi_miso = port:PC22<3><default><default><default> [spi3_para] spi_used = 0 spi_cs_bitmap = 1 spi_cs0 = port:PA05<3><default><default><default> spi_cs1 = port:PA09<3><default><default><default> spi_sclk = port:PA06<3><default><default><default> spi_mosi = port:PA07<3><default><default><default> spi_miso = port:PA08<3><default><default><default> [spi_devices] spi_dev_num = 2 [spi_board0] modalias = "spidev" max_speed_hz = 1000000 bus_num = 2 chip_select = 0 mode = 3 full_duplex = 0 manual_cs = 0 [spi_board1] modalias = "spidev" max_speed_hz = 1000000 bus_num = 1 chip_select = 0 mode = 3 full_duplex = 0 manual_cs = 0 [rtp_para] rtp_used = 1 rtp_screen_size = 5 rtp_regidity_level = 5 rtp_press_threshold_enable = 0 rtp_press_threshold = 0x1f40 rtp_sensitive_level = 0xf rtp_exchange_x_y_flag = 0 [ctp_para] ctp_used = 0 ctp_name = "gt811" ctp_twi_id = 2 ctp_twi_addr = 0x40 ctp_screen_max_x = 1024 ctp_screen_max_y = 600 ctp_revert_x_flag = 0 ctp_revert_y_flag = 0 ctp_exchange_x_y_flag = 1 ctp_firm = 1 ctp_int_port = port:PH21<6><default><default><default> ctp_wakeup = port:PB13<1><default><default><1> [ctp_list_para] ctp_det_used = 0 ft5x_ts = 0 gt82x = 0 gslX680 = 0 gt9xx_ts = 0 gt811 = 0 [tkey_para] tkey_used = 0 tkey_twi_id = 2 tkey_twi_addr = 0x62 tkey_int = port:PI13<6><default><default><default> [motor_para] motor_used = 0 motor_shake = port:PB03<1><default><default><1> [leds_para] leds_used = 1 leds_num = 1 leds_pin_1 = port:PH02<1><default><default><0> leds_name_1 = "green:ph02:led1" leds_default_1 = 0 leds_trigger_1 = "mmc0" [nand_para] nand_used = 1 nand_we = port:PC00<2><default><default><default> nand_ale = port:PC01<2><default><default><default> nand_cle = port:PC02<2><default><default><default> nand_ce0 = port:PC04<2><default><default><default> nand_nre = port:PC05<2><default><default><default> nand_rb0 = port:PC06<2><default><default><default> nand_d0 = port:PC08<2><default><default><default> nand_d1 = port:PC09<2><default><default><default> nand_d2 = port:PC10<2><default><default><default> nand_d3 = port:PC11<2><default><default><default> nand_d4 = port:PC12<2><default><default><default> nand_d5 = port:PC13<2><default><default><default> nand_d6 = port:PC14<2><default><default><default> nand_d7 = port:PC15<2><default><default><default> nand_wp = port:PC16<2><default><default><default> good_block_ratio = 0 [disp_init] disp_init_enable = 1 disp_mode = 0 screen0_output_type = 3 screen0_output_mode = 4 screen1_output_type = 0 screen1_output_mode = 4 fb0_width = 0 fb0_height = 0 fb0_framebuffer_num = 2 fb0_format = 10 fb0_pixel_sequence = 0 fb0_scaler_mode_enable = 0 fb1_width = 1024 fb1_height = 600 fb1_framebuffer_num = 2 fb1_format = 10 fb1_pixel_sequence = 0 fb1_scaler_mode_enable = 0 lcd0_backlight = 197 lcd1_backlight = 197 lcd0_bright = 50 lcd0_contrast = 50 lcd0_saturation = 57 lcd0_hue = 50 lcd1_bright = 239 lcd1_contrast = 50 lcd1_saturation = 57 lcd1_hue = 50 [lcd0_para] lcd_used = 1 lcd_x = 800 lcd_y = 480 lcd_dclk_freq = 33 lcd_pwm_not_used = 0 lcd_pwm_ch = 0 lcd_pwm_freq = 10000 lcd_pwm_pol = 1 lcd_max_bright = 240 lcd_min_bright = 64 lcd_if = 0 lcd_hbp = 46 lcd_ht = 1055 lcd_vbp = 23 lcd_vt = 1050 lcd_vspw = 1 lcd_hspw = 30 lcd_hv_if = 0 lcd_hv_smode = 0 lcd_hv_s888_if = 0 lcd_hv_syuv_if = 0 lcd_lvds_ch = 0 lcd_lvds_mode = 0 lcd_lvds_bitwidth = 0 lcd_lvds_io_cross = 0 lcd_cpu_if = 0 lcd_frm = 1 lcd_io_cfg0 = 0 lcd_gamma_correction_en = 0 lcd_gamma_tbl_0 = 0x0 lcd_gamma_tbl_1 = 0x10101 lcd_gamma_tbl_255 = 0xffffff lcd_power_used = 1 lcd_power = port:PH08<1><0><default><1> lcd_pwm_used = 1 lcd_pwm = port:PB02<2><0><default><default> lcdd0 = port:PD00<2><0><default><default> lcdd1 = port:PD01<2><0><default><default> lcdd2 = port:PD02<2><0><default><default> lcdd3 = port:PD03<2><0><default><default> lcdd4 = port:PD04<2><0><default><default> lcdd5 = port:PD05<2><0><default><default> lcdd6 = port:PD06<2><0><default><default> lcdd7 = port:PD07<2><0><default><default> lcdd8 = port:PD08<2><0><default><default> lcdd9 = port:PD09<2><0><default><default> lcdd10 = port:PD10<2><0><default><default> lcdd11 = port:PD11<2><0><default><default> lcdd12 = port:PD12<2><0><default><default> lcdd13 = port:PD13<2><0><default><default> lcdd14 = port:PD14<2><0><default><default> lcdd15 = port:PD15<2><0><default><default> lcdd16 = port:PD16<2><0><default><default> lcdd17 = port:PD17<2><0><default><default> lcdd18 = port:PD18<2><0><default><default> lcdd19 = port:PD19<2><0><default><default> lcdd20 = port:PD20<2><0><default><default> lcdd21 = port:PD21<2><0><default><default> lcdd22 = port:PD22<2><0><default><default> lcdd23 = port:PD23<2><0><default><default> lcdclk = port:PD24<2><0><default><default> lcdde = port:PD25<2><0><default><default> lcdhsync = port:PD26<2><0><default><default> lcdvsync = port:PD27<2><0><default><default> [lcd1_para] lcd_used = 0 lcd_x = 0 lcd_y = 0 lcd_dclk_freq = 0 lcd_pwm_not_used = 0 lcd_pwm_ch = 1 lcd_pwm_freq = 0 lcd_pwm_pol = 0 lcd_max_bright = 240 lcd_min_bright = 64 lcd_if = 0 lcd_hbp = 0 lcd_ht = 0 lcd_vbp = 0 lcd_vt = 0 lcd_vspw = 0 lcd_hspw = 0 lcd_hv_if = 0 lcd_hv_smode = 0 lcd_hv_s888_if = 0 lcd_hv_syuv_if = 0 lcd_lvds_ch = 0 lcd_lvds_mode = 0 lcd_lvds_bitwidth = 0 lcd_lvds_io_cross = 0 lcd_cpu_if = 0 lcd_frm = 0 lcd_io_cfg0 = 0 lcd_gamma_correction_en = 0 lcd_gamma_tbl_0 = 0x0 lcd_gamma_tbl_1 = 0x10101 lcd_gamma_tbl_255 = 0xffffff lcd_bl_en_used = 1 lcd_bl_en = lcd_power_used = 0 lcd_power = lcd_pwm_used = 1 lcd_pwm = port:PI03<2><0><default><default> lcd_gpio_0 = lcd_gpio_1 = lcd_gpio_2 = lcd_gpio_3 = lcdd0 = port:PH00<2><0><default><default> lcdd1 = port:PH01<2><0><default><default> lcdd2 = port:PH02<2><0><default><default> lcdd3 = port:PH03<2><0><default><default> lcdd4 = port:PH04<2><0><default><default> lcdd5 = port:PH05<2><0><default><default> lcdd6 = port:PH06<2><0><default><default> lcdd7 = port:PH07<2><0><default><default> lcdd8 = port:PH08<2><0><default><default> lcdd9 = port:PH09<2><0><default><default> lcdd10 = port:PH10<2><0><default><default> lcdd11 = port:PH11<2><0><default><default> lcdd12 = port:PH12<2><0><default><default> lcdd13 = port:PH13<2><0><default><default> lcdd14 = port:PH14<2><0><default><default> lcdd15 = port:PH15<2><0><default><default> lcdd16 = port:PH16<2><0><default><default> lcdd17 = port:PH17<2><0><default><default> lcdd18 = port:PH18<2><0><default><default> lcdd19 = port:PH19<2><0><default><default> lcdd20 = port:PH20<2><0><default><default> lcdd21 = port:PH21<2><0><default><default> [tv_out_dac_para] dac_used = 1 dac0_src = 4 dac1_src = 5 dac2_src = 6 dac3_src = 0 [hdmi_para] hdmi_used = 1 [camera_list_para] camera_list_para_used = 1 ov7670 = 0 gc0308 = 0 gt2005 = 1 hi704 = 0 sp0838 = 0 mt9m112 = 0 mt9m113 = 0 ov2655 = 0 hi253 = 0 gc0307 = 0 mt9d112 = 0 ov5640 = 0 gc2015 = 0 ov2643 = 0 gc0329 = 0 gc0309 = 0 tvp5150 = 0 s5k4ec = 0 ov5650_mv9335 = 0 siv121d = 0 gc2035 = 0 [csi0_para] csi_used = 0 csi_dev_qty = 1 csi_stby_mode = 0 csi_mname = "gt2005" csi_twi_id = 1 csi_twi_addr = 0x78 csi_if = 0 csi_vflip = 0 csi_hflip = 0 csi_iovdd = "axp20_pll" csi_avdd = "" csi_dvdd = "" csi_vol_iovdd = 2800 csi_vol_dvdd = csi_vol_avdd = csi_flash_pol = 0 csi_pck = port:PE00<3><default><default><default> csi_ck = port:PE01<3><default><default><default> csi_hsync = port:PE02<3><default><default><default> csi_vsync = port:PE03<3><default><default><default> csi_d0 = port:PE04<3><default><default><default> csi_d1 = port:PE05<3><default><default><default> csi_d2 = port:PE06<3><default><default><default> csi_d3 = port:PE07<3><default><default><default> csi_d4 = port:PE08<3><default><default><default> csi_d5 = port:PE09<3><default><default><default> csi_d6 = port:PE10<3><default><default><default> csi_d7 = port:PE11<3><default><default><default> csi_reset = port:PH13<1><default><default><0> csi_power_en = port:PC16<1><default><default><0> csi_stby = port:PH12<1><default><default><0> csi_flash = csi_af_en = [csi1_para] csi_used = 0 csi_dev_qty = 1 csi_stby_mode = 0 csi_mname = "gc0308" csi_if = 0 csi_iovdd = "axp20_pll" csi_avdd = "" csi_dvdd = "" csi_vol_iovdd = 2800 csi_vol_dvdd = csi_vol_avdd = csi_vflip = 0 csi_hflip = 0 csi_flash_pol = 0 csi_facing = 1 csi_twi_id = 1 csi_twi_addr = 0x42 csi_pck = port:PG00<3><default><default><default> csi_ck = port:PG01<3><default><default><default> csi_hsync = port:PG02<3><default><default><default> csi_vsync = port:PG03<3><default><default><default> csi_d0 = port:PG04<3><default><default><default> csi_d1 = port:PG05<3><default><default><default> csi_d2 = port:PG06<3><default><default><default> csi_d3 = port:PG07<3><default><default><default> csi_d4 = port:PG08<3><default><default><default> csi_d5 = port:PG09<3><default><default><default> csi_d6 = port:PG10<3><default><default><default> csi_d7 = port:PG11<3><default><default><default> csi_reset = port:PH13<1><default><default><0> csi_power_en = port:PH16<1><default><default><0> csi_stby = port:PH19<1><default><default><0> [tvout_para] tvout_used = 1 tvout_channel_num = 1 [tvin_para] tvin_used = 0 tvin_channel_num = 4 [pwm0_para] pwm_used = 1 pwm_period = 20 pwm_duty_percent = 50 [sata_para] sata_used = 1 sata_power_en = port:PC03<1><default><default><0> [mmc0_para] sdc_used = 1 sdc_detmode = 1 sdc_buswidth = 4 sdc_clk = port:PF02<2><1><2><default> sdc_cmd = port:PF03<2><1><2><default> sdc_d0 = port:PF01<2><1><2><default> sdc_d1 = port:PF00<2><1><2><default> sdc_d2 = port:PF05<2><1><2><default> sdc_d3 = port:PF04<2><1><2><default> sdc_det = port:PH01<0><1><default><default> sdc_use_wp = 0 sdc_wp = sdc_isio = 0 sdc_regulator = "none" [mmc1_para] sdc_used = 0 sdc_detmode = 4 sdc_buswidth = 4 sdc_clk = port:PG00<2><1><2><default> sdc_cmd = port:PG01<2><1><2><default> sdc_d0 = port:PG02<2><1><2><default> sdc_d1 = port:PG03<2><1><2><default> sdc_d2 = port:PG04<2><1><2><default> sdc_d3 = port:PG05<2><1><2><default> sdc_det = sdc_use_wp = 0 sdc_wp = sdc_isio = 0 sdc_regulator = "none" [mmc2_para] sdc_used = 0 sdc_detmode = 3 sdc_buswidth = 4 sdc_cmd = port:PC06<3><1><2><default> sdc_clk = port:PC07<3><1><2><default> sdc_d0 = port:PC08<3><1><2><default> sdc_d1 = port:PC09<3><1><2><default> sdc_d2 = port:PC10<3><1><2><default> sdc_d3 = port:PC11<3><1><2><default> sdc_det = sdc_use_wp = 0 sdc_wp = sdc_isio = 0 sdc_regulator = "none" [mmc3_para] sdc_used = 1 sdc_detmode = 1 sdc_buswidth = 4 sdc_cmd = port:PI04<2><1><2><default> sdc_clk = port:PI05<2><1><2><default> sdc_d0 = port:PI06<2><1><2><default> sdc_d1 = port:PI07<2><1><2><default> sdc_d2 = port:PI08<2><1><2><default> sdc_d3 = port:PI09<2><1><2><default> sdc_det = port:PH00<0><1><default><default> sdc_use_wp = 0 sdc_wp = sdc_isio = 1 sdc_regulator = "none" [ms_para] ms_used = 0 ms_bs = port:PH06<5><default><default><default> ms_clk = port:PH07<5><default><default><default> ms_d0 = port:PH08<5><default><default><default> ms_d1 = port:PH09<5><default><default><default> ms_d2 = port:PH10<5><default><default><default> ms_d3 = port:PH11<5><default><default><default> ms_det = [smc_para] smc_used = 0 smc_rst = port:PH13<5><default><default><default> smc_vppen = port:PH14<5><default><default><default> smc_vppp = port:PH15<5><default><default><default> smc_det = port:PH16<5><default><default><default> smc_vccen = port:PH17<5><default><default><default> smc_sck = port:PH18<5><default><default><default> smc_sda = port:PH19<5><default><default><default> [ps2_0_para] ps2_used = 0 ps2_scl = port:PI20<2><1><default><default> ps2_sda = port:PI21<2><1><default><default> [ps2_1_para] ps2_used = 0 ps2_scl = port:PI14<3><1><default><default> ps2_sda = port:PI15<3><1><default><default> [can_para] can_used = 0 can_tx = port:PA16<3><default><default><default> can_rx = port:PA17<3><default><default><default> [keypad_para] kp_used = 0 kp_in_size = 8 kp_out_size = 8 kp_in0 = port:PH08<4><1><default><default> kp_in1 = port:PH09<4><1><default><default> kp_in2 = port:PH10<4><1><default><default> kp_in3 = port:PH11<4><1><default><default> kp_in4 = port:PH14<4><1><default><default> kp_in5 = port:PH15<4><1><default><default> kp_in6 = port:PH16<4><1><default><default> kp_in7 = port:PH17<4><1><default><default> kp_out0 = port:PH18<4><1><default><default> kp_out1 = port:PH19<4><1><default><default> kp_out2 = port:PH22<4><1><default><default> kp_out3 = port:PH23<4><1><default><default> kp_out4 = port:PH24<4><1><default><default> kp_out5 = port:PH25<4><1><default><default> kp_out6 = port:PH26<4><1><default><default> kp_out7 = port:PH27<4><1><default><default> [usbc0] usb_used = 1 usb_port_type = 2 usb_detect_type = 0 usb_id_gpio = port:PH04<0><1><default><default> usb_det_vbus_gpio = port:PH05<1><0><default><0> usb_drv_vbus_gpio = port:PC17<1><0><default><0> usb_host_init_state = 1 usb_restric_flag = 0 usb_restric_voltage = 3550000 usb_restric_capacity = 5 [usbc1] usb_used = 1 usb_port_type = 1 usb_detect_type = 0 usb_drv_vbus_gpio = port:PH06<1><0><default><0> usb_restrict_gpio = usb_host_init_state = 1 usb_restric_flag = 0 [usbc2] usb_used = 1 usb_port_type = 1 usb_detect_type = 0 usb_drv_vbus_gpio = port:PH03<1><0><default><0> usb_restrict_gpio = usb_host_init_state = 1 usb_restric_flag = 0 [usb_feature] vendor_id = 6353 mass_storage_id = 1 adb_id = 2 manufacturer_name = "USB Developer" product_name = "Android" serial_number = "20080411" [msc_feature] vendor_name = "USB 2.0" product_name = "USB Flash Driver" release = 100 luns = 3 [gsensor_para] gsensor_used = 0 gsensor_twi_id = 1 gsensor_int1 = gsensor_int2 = [gsensor_list_para] gsensor_det_used = 0 bma250 = 1 mma8452 = 1 mma7660 = 1 mma865x = 1 afa750 = 1 lis3de_acc = 1 lis3dh_acc = 1 kxtik = 1 dmard10 = 0 dmard06 = 1 mxc622x = 1 fxos8700 = 1 lsm303d = 1 [gps_para] gps_used = 0 gps_spi_id = 2 gps_spi_cs_num = 0 gps_lradc = 1 gps_clk = port:PI00<2><default><default><default> gps_sign = port:PI01<2><default><default><default> gps_mag = port:PI02<2><default><default><default> gps_vcc_en = port:PC22<1><default><default><0> gps_osc_en = port:PI14<1><default><default><0> gps_rx_en = port:PI15<1><default><default><0> [wifi_para] wifi_used = 0 wifi_sdc_id = 3 wifi_usbc_id = 2 wifi_usbc_type = 1 wifi_mod_sel = 7 wifi_power = "" ap6xxx_wl_regon = port:PH09<1><default><default><0> ap6xxx_bt_regon = port:PH18<1><default><default><0> ap6xxx_bt_wake = port:PH24<1><default><default><0> ap6xxx_bt_host_wake = port:PH25<0><default><default><0> ap6xxx_lpo = port:PI12<4><1><default><1> [usb_wifi_para] usb_wifi_used = 1 usb_wifi_usbc_num = 2 [3g_para] 3g_used = 0 3g_usbc_num = 2 3g_uart_num = 0 3g_pwr = 3g_wakeup = 3g_int = [gy_para] gy_used = 0 gy_twi_id = 1 gy_twi_addr = 0 gy_int1 = port:PH18<6><1><default><default> gy_int2 = port:PH19<6><1><default><default> [ls_para] ls_used = 0 ls_twi_id = 1 ls_twi_addr = 0 ls_int = port:PH20<6><1><default><default> [compass_para] compass_used = 0 compass_twi_id = 1 compass_twi_addr = 0 compass_int = port:PI13<6><1><default><default> [bt_para] bt_used = 1 bt_uart_id = 2 [i2s_para] i2s_used = 0 i2s_channel = 2 i2s_mclk = port:PB05<2><1><default><default> i2s_bclk = port:PB06<2><1><default><default> i2s_lrclk = port:PB07<2><1><default><default> i2s_dout0 = port:PB08<2><1><default><default> i2s_dout1 = i2s_dout2 = i2s_dout3 = i2s_din = port:PB12<2><1><default><default> [spdif_para] spdif_used = 0 spdif_mclk = spdif_dout = port:PB13<4><1><default><default> spdif_din = [audio_para] audio_used = 1 capture_used = 1 playback_used = 1 audio_lr_change = 0 [switch_para] switch_used = 1 [ir_para] ir_used = 0 ir0_rx = port:PB04<2><default><default><default> [pmu_para] pmu_used = 1 pmu_twi_addr = 52 pmu_twi_id = 0 pmu_irq_id = 32 pmu_battery_rdc = 120 pmu_battery_cap = 2100 pmu_init_chgcur = 300 pmu_earlysuspend_chgcur = 600 pmu_suspend_chgcur = 1000 pmu_resume_chgcur = 300 pmu_shutdown_chgcur = 1000 pmu_init_chgvol = 4200 pmu_init_chgend_rate = 15 pmu_init_chg_enabled = 1 pmu_init_adc_freq = 100 pmu_init_adc_freqc = 100 pmu_init_chg_pretime = 50 pmu_init_chg_csttime = 720 pmu_bat_para1 = 0 pmu_bat_para2 = 0 pmu_bat_para3 = 0 pmu_bat_para4 = 0 pmu_bat_para5 = 5 pmu_bat_para6 = 11 pmu_bat_para7 = 13 pmu_bat_para8 = 15 pmu_bat_para9 = 19 pmu_bat_para10 = 32 pmu_bat_para11 = 50 pmu_bat_para12 = 58 pmu_bat_para13 = 71 pmu_bat_para14 = 81 pmu_bat_para15 = 89 pmu_bat_para16 = 100 pmu_usbvol_limit = 1 pmu_usbcur_limit = 0 pmu_usbvol = 4000 pmu_usbcur = 0 pmu_usbvol_pc = 4200 pmu_usbcur_pc = 0 pmu_pwroff_vol = 3300 pmu_pwron_vol = 2900 pmu_pekoff_time = 6000 pmu_pekoff_en = 1 pmu_peklong_time = 1500 pmu_pekon_time = 1000 pmu_pwrok_time = 64 pmu_pwrnoe_time = 2000 pmu_intotp_en = 1 pmu_used2 = 0 pmu_adpdet = port:PH02<0><default><default><default> pmu_init_chgcur2 = 400 pmu_earlysuspend_chgcur2 = 600 pmu_suspend_chgcur2 = 1200 pmu_resume_chgcur2 = 400 pmu_shutdown_chgcur2 = 1200 pmu_suspendpwroff_vol = 3500 pmu_batdeten = 1 pmu_backupen = 1 [recovery_key] key_min = 4 key_max = 40 [dvfs_table] max_freq = 1008000000 min_freq = 720000000 normal_freq = 720000000 LV_count = 7 LV1_freq = 1008000000 LV1_volt = 1450 LV2_freq = 912000000 LV2_volt = 1425 LV3_freq = 864000000 LV3_volt = 1350 LV4_freq = 720000000 LV4_volt = 1250 LV5_freq = 528000000 LV5_volt = 1150 LV6_freq = 312000000 LV6_volt = 1100 LV7_freq = 144000000 LV7_volt = 1050 [gpio_para] gpio_used = 1 gpio_num = 67 gpio_pin_1 = port:PG00<0><default><default><default> gpio_pin_2 = port:PG01<0><default><default><default> gpio_pin_3 = port:PG02<0><default><default><default> gpio_pin_4 = port:PG03<0><default><default><default> gpio_pin_5 = port:PG04<0><default><default><default> gpio_pin_6 = port:PG05<0><default><default><default> gpio_pin_7 = port:PG06<0><default><default><default> gpio_pin_8 = port:PG07<0><default><default><default> gpio_pin_9 = port:PG08<0><default><default><default> gpio_pin_10 = port:PG09<0><default><default><default> gpio_pin_11 = port:PC07<0><default><default><default> gpio_pin_12 = port:PC18<0><default><default><default> gpio_pin_13 = port:PC23<0><default><default><default> gpio_pin_14 = port:PC24<0><default><default><default> gpio_pin_15 = port:PH00<0><default><default><default> gpio_pin_16 = port:PH02<0><default><default><default> gpio_pin_17 = port:PH09<0><default><default><default> gpio_pin_18 = port:PH10<0><default><default><default> gpio_pin_19 = port:PH11<0><default><default><default> gpio_pin_20 = port:PH12<0><default><default><default> gpio_pin_21 = port:PH13<0><default><default><default> gpio_pin_22 = port:PH14<0><default><default><default> gpio_pin_23 = port:PH15<0><default><default><default> gpio_pin_24 = port:PH16<0><default><default><default> gpio_pin_25 = port:PH17<0><default><default><default> gpio_pin_26 = port:PH18<0><default><default><default> gpio_pin_27 = port:PH19<0><default><default><default> gpio_pin_28 = port:PH20<0><default><default><default> gpio_pin_29 = port:PH21<0><default><default><default> gpio_pin_30 = port:PH22<0><default><default><default> gpio_pin_31 = port:PH23<0><default><default><default> gpio_pin_32 = port:PH24<0><default><default><default> gpio_pin_33 = port:PH25<0><default><default><default> gpio_pin_34 = port:PH26<0><default><default><default> gpio_pin_35 = port:PH27<0><default><default><default> gpio_pin_36 = port:PB03<0><default><default><default> gpio_pin_37 = port:PB04<0><default><default><default> gpio_pin_38 = port:PB05<0><default><default><default> gpio_pin_39 = port:PB06<0><default><default><default> gpio_pin_40 = port:PB07<0><default><default><default> gpio_pin_41 = port:PB08<0><default><default><default> gpio_pin_42 = port:PB10<0><default><default><default> gpio_pin_43 = port:PB11<0><default><default><default> gpio_pin_44 = port:PB12<0><default><default><default> gpio_pin_45 = port:PB13<0><default><default><default> gpio_pin_46 = port:PB14<0><default><default><default> gpio_pin_47 = port:PB15<0><default><default><default> gpio_pin_48 = port:PB16<0><default><default><default> gpio_pin_49 = port:PB17<0><default><default><default> gpio_pin_50 = port:PI00<0><default><default><default> gpio_pin_51 = port:PI01<0><default><default><default> gpio_pin_52 = port:PI02<0><default><default><default> gpio_pin_53 = port:PI03<0><default><default><default> gpio_pin_54 = port:PI04<0><default><default><default> gpio_pin_55 = port:PI05<0><default><default><default> gpio_pin_56 = port:PI06<0><default><default><default> gpio_pin_57 = port:PI07<0><default><default><default> gpio_pin_58 = port:PI08<0><default><default><default> gpio_pin_59 = port:PI09<0><default><default><default> gpio_pin_60 = port:PI10<0><default><default><default> gpio_pin_61 = port:PI11<0><default><default><default> gpio_pin_62 = port:PI14<0><default><default><default> gpio_pin_63 = port:PI15<0><default><default><default> gpio_pin_64 = port:PI16<0><default><default><default> gpio_pin_65 = port:PI17<0><default><default><default> gpio_pin_66 = port:PI18<0><default><default><default> gpio_pin_67 = port:PI19<0><default><default><default> [gpio_init] pin_1 = port:PG00<0><default><default><default> pin_2 = port:PG01<0><default><default><default> pin_3 = port:PG02<0><default><default><default> pin_4 = port:PG03<0><default><default><default> pin_5 = port:PG04<0><default><default><default> pin_6 = port:PG05<0><default><default><default> pin_7 = port:PG06<0><default><default><default> pin_8 = port:PG07<0><default><default><default> pin_9 = port:PG08<0><default><default><default> pin_10 = port:PG09<0><default><default><default> pin_11 = port:PC07<0><default><default><default> pin_12 = port:PC18<0><default><default><default> pin_13 = port:PC23<0><default><default><default> pin_14 = port:PC24<0><default><default><default> pin_15 = port:PH00<0><default><default><default> pin_16 = port:PH02<0><default><default><default> pin_17 = port:PH09<0><default><default><default> pin_18 = port:PH10<0><default><default><default> pin_19 = port:PH11<0><default><default><default> pin_20 = port:PH12<0><default><default><default> pin_21 = port:PH13<0><default><default><default> pin_22 = port:PH14<0><default><default><default> pin_23 = port:PH15<0><default><default><default> pin_24 = port:PH16<0><default><default><default> pin_25 = port:PH17<0><default><default><default> pin_26 = port:PH18<0><default><default><default> pin_27 = port:PH19<0><default><default><default> pin_28 = port:PH20<0><default><default><default> pin_29 = port:PH21<0><default><default><default> pin_30 = port:PH22<0><default><default><default> pin_31 = port:PH23<0><default><default><default> pin_32 = port:PH24<0><default><default><default> pin_33 = port:PH25<0><default><default><default> pin_34 = port:PH26<0><default><default><default> pin_35 = port:PH27<0><default><default><default> pin_36 = port:PB03<0><default><default><default> pin_37 = port:PB04<0><default><default><default> pin_38 = port:PB05<0><default><default><default> pin_39 = port:PB06<0><default><default><default> pin_40 = port:PB07<0><default><default><default> pin_41 = port:PB08<0><default><default><default> pin_42 = port:PB10<0><default><default><default> pin_43 = port:PB11<0><default><default><default> pin_44 = port:PB12<0><default><default><default> pin_45 = port:PB13<0><default><default><default> pin_46 = port:PB14<0><default><default><default> pin_47 = port:PB15<0><default><default><default> pin_48 = port:PB16<0><default><default><default> pin_49 = port:PB17<0><default><default><default> pin_50 = port:PI00<0><default><default><default> pin_51 = port:PI01<0><default><default><default> pin_52 = port:PI02<0><default><default><default> pin_53 = port:PI03<0><default><default><default> pin_54 = port:PI04<0><default><default><default> pin_55 = port:PI05<0><default><default><default> pin_56 = port:PI06<0><default><default><default> pin_57 = port:PI07<0><default><default><default> pin_58 = port:PI08<0><default><default><default> pin_59 = port:PI09<0><default><default><default> pin_60 = port:PI10<0><default><default><default> pin_61 = port:PI11<0><default><default><default> pin_62 = port:PI14<0><default><default><default> pin_63 = port:PI15<0><default><default><default> pin_64 = port:PI16<0><default><default><default> pin_65 = port:PI17<0><default><default><default> pin_66 = port:PI18<0><default><default><default> pin_67 = port:PI19<0><default><default><default> [w1_para] w1_used = 1 gpio = 12 Edited June 4, 2016 by zador.blood.stained Added spoiler tags
Aqua-Passion Posted September 21, 2015 Posted September 21, 2015 Hello , I find the problem If I do bin2fex /boot/bin/lime2.bin >> output.fex nano output.fex fex2bin output.fex >> /boot/bin/lime2.bin I have the errors But if I do : bin2fex /boot/bin/lime2.bin >> output.fex nano output.fex fex2bin output.fex >> lime2.bin rm /boot/bin/lime2.bin cp lime2.bin /boot/bin/lime2.bin It is ok , no errors thanks for your help And thank you very much for armbian , great Job ! 1
main Posted February 18, 2016 Posted February 18, 2016 How to enable 1-wire in device tree? I know http://linux-sunxi.org/1-Wirebut don't have .dts file for Banana Pro.
Igor Posted February 18, 2016 Posted February 18, 2016 This might be useful: Making DTS out of DTB (decompile) dtc -I dtb -O dts -o <devicetree name>.dts <devicetree name>.dtb Making DTB out of DTS (compile) dtc -I dts -O dtb -o <devicetree name>.dtb <devicetree name>.dts
main Posted February 18, 2016 Posted February 18, 2016 Thank you Igor, but decompiled .dts file is slightly different than expected. Can't find label &pio in decompiled one. So I tried modify [u-boot.git] / arch / arm / dts / sun7i-a20-bananapro.dts and built u-boot. Banana don't boot with this .dtb file.
main Posted February 19, 2016 Posted February 19, 2016 (edited) Finally, I got it.PI20 used as 1-wire pin, so uart7 (serial@01c29c00) is disabled. On Banana Pro expansion connector it's pin 32 (UART7_TX). /dts-v1/; / { #address-cells = <0x1>; #size-cells = <0x1>; interrupt-parent = <0x1>; model = "LeMaker Banana Pro"; compatible = "lemaker,bananapro", "allwinner,sun7i-a20"; chosen { #address-cells = <0x1>; #size-cells = <0x1>; ranges; stdout-path = "serial0:115200n8"; framebuffer@0 { compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; allwinner,pipeline = "de_be0-lcd0-hdmi"; clocks = <0x2 0x1 0x3 0x24 0x3 0x2b 0x3 0x2c>; status = "disabled"; }; framebuffer@1 { compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; allwinner,pipeline = "de_be0-lcd0"; clocks = <0x2 0x1 0x3 0x24 0x3 0x2c>; status = "disabled"; }; framebuffer@2 { compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; allwinner,pipeline = "de_be0-lcd0-tve0"; clocks = <0x2 0x1 0x3 0x22 0x3 0x24 0x3 0x2c>; status = "disabled"; }; }; aliases { ethernet0 = "/soc@01c00000/ethernet@01c50000"; serial0 = "/soc@01c00000/serial@01c28000"; serial1 = "/soc@01c00000/serial@01c29000"; serial2 = "/soc@01c00000/serial@01c29c00"; }; memory { device_type = "memory"; reg = <0x40000000 0x80000000>; }; cpus { #address-cells = <0x1>; #size-cells = <0x0>; cpu@0 { compatible = "arm,cortex-a7"; device_type = "cpu"; reg = <0x0>; clocks = <0x4>; clock-latency = <0x3b9b0>; operating-points = <0xea600 0x155cc0 0xdea80 0x155cc0 0xd2f00 0x13d620 0xafc80 0x124f80 0x80e80 0x10c8e0 0x4c2c0 0xf4240 0x23280 0xf4240>; #cooling-cells = <0x2>; cooling-min-level = <0x0>; cooling-max-level = <0x6>; linux,phandle = <0x7>; phandle = <0x7>; }; cpu@1 { compatible = "arm,cortex-a7"; device_type = "cpu"; reg = <0x1>; }; }; thermal-zones { cpu_thermal { polling-delay-passive = <0xfa>; polling-delay = <0x3e8>; thermal-sensors = <0x5>; cooling-maps { map0 { trip = <0x6>; cooling-device = <0x7 0xffffffff 0xffffffff>; }; }; trips { cpu_alert0 { temperature = <0x124f8>; hysteresis = <0x7d0>; type = "passive"; linux,phandle = <0x6>; phandle = <0x6>; }; cpu_crit { temperature = <0x186a0>; hysteresis = <0x7d0>; type = "critical"; }; }; }; }; timer { compatible = "arm,armv7-timer"; interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; }; pmu { compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; interrupts = <0x0 0x78 0x4 0x0 0x79 0x4>; }; clocks { #address-cells = <0x1>; #size-cells = <0x1>; ranges; clk@01c20050 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-osc-clk"; reg = <0x1c20050 0x4>; clock-frequency = <0x16e3600>; clock-output-names = "osc24M"; linux,phandle = <0x8>; phandle = <0x8>; }; clk@0 { #clock-cells = <0x0>; compatible = "fixed-clock"; clock-frequency = <0x8000>; clock-output-names = "osc32k"; linux,phandle = <0x9>; phandle = <0x9>; }; clk@01c20000 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-pll1-clk"; reg = <0x1c20000 0x4>; clocks = <0x8>; clock-output-names = "pll1"; linux,phandle = <0xa>; phandle = <0xa>; }; clk@01c20008 { #clock-cells = <0x1>; compatible = "allwinner,sun4i-a10-pll2-clk"; reg = <0x1c20008 0x8>; clocks = <0x8>; clock-output-names = "pll2-1x", "pll2-2x", "pll2-4x", "pll2-8x"; linux,phandle = <0x10>; phandle = <0x10>; }; clk@01c20018 { #clock-cells = <0x0>; compatible = "allwinner,sun7i-a20-pll4-clk"; reg = <0x1c20018 0x4>; clocks = <0x8>; clock-output-names = "pll4"; }; clk@01c20020 { #clock-cells = <0x1>; compatible = "allwinner,sun4i-a10-pll5-clk"; reg = <0x1c20020 0x4>; clocks = <0x8>; clock-output-names = "pll5_ddr", "pll5_other"; linux,phandle = <0x2>; phandle = <0x2>; }; clk@01c20028 { #clock-cells = <0x1>; compatible = "allwinner,sun4i-a10-pll6-clk"; reg = <0x1c20028 0x4>; clocks = <0x8>; clock-output-names = "pll6_sata", "pll6_other", "pll6", "pll6_div_4"; linux,phandle = <0xb>; phandle = <0xb>; }; clk@01c20040 { #clock-cells = <0x0>; compatible = "allwinner,sun7i-a20-pll4-clk"; reg = <0x1c20040 0x4>; clocks = <0x8>; clock-output-names = "pll8"; }; cpu@01c20054 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-cpu-clk"; reg = <0x1c20054 0x4>; clocks = <0x9 0x8 0xa 0xb 0x1>; clock-output-names = "cpu"; linux,phandle = <0x4>; phandle = <0x4>; }; axi@01c20054 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-axi-clk"; reg = <0x1c20054 0x4>; clocks = <0x4>; clock-output-names = "axi"; linux,phandle = <0xc>; phandle = <0xc>; }; ahb@01c20054 { #clock-cells = <0x0>; compatible = "allwinner,sun5i-a13-ahb-clk"; reg = <0x1c20054 0x4>; clocks = <0xc 0xb 0x3 0xb 0x1>; clock-output-names = "ahb"; assigned-clocks = <0xd>; assigned-clock-parents = <0xb 0x3>; linux,phandle = <0xd>; phandle = <0xd>; }; clk@01c20060 { #clock-cells = <0x1>; compatible = "allwinner,sun7i-a20-ahb-gates-clk"; reg = <0x1c20060 0x8>; clocks = <0xd>; clock-indices = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0x10 0x11 0x12 0x14 0x15 0x16 0x17 0x19 0x1c 0x20 0x21 0x22 0x23 0x24 0x25 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x31 0x32 0x34>; clock-output-names = "ahb_usb0", "ahb_ehci0", "ahb_ohci0", "ahb_ehci1", "ahb_ohci1", "ahb_ss", "ahb_dma", "ahb_bist", "ahb_mmc0", "ahb_mmc1", "ahb_mmc2", "ahb_mmc3", "ahb_ms", "ahb_nand", "ahb_sdram", "ahb_ace", "ahb_emac", "ahb_ts", "ahb_spi0", "ahb_spi1", "ahb_spi2", "ahb_spi3", "ahb_sata", "ahb_hstimer", "ahb_ve", "ahb_tvd", "ahb_tve0", "ahb_tve1", "ahb_lcd0", "ahb_lcd1", "ahb_csi0", "ahb_csi1", "ahb_hdmi1", "ahb_hdmi0", "ahb_de_be0", "ahb_de_be1", "ahb_de_fe0", "ahb_de_fe1", "ahb_gmac", "ahb_mp", "ahb_mali"; linux,phandle = <0x3>; phandle = <0x3>; }; apb0@01c20054 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-apb0-clk"; reg = <0x1c20054 0x4>; clocks = <0xd>; clock-output-names = "apb0"; linux,phandle = <0xe>; phandle = <0xe>; }; clk@01c20068 { #clock-cells = <0x1>; compatible = "allwinner,sun7i-a20-apb0-gates-clk"; reg = <0x1c20068 0x4>; clocks = <0xe>; clock-indices = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0xa>; clock-output-names = "apb0_codec", "apb0_spdif", "apb0_ac97", "apb0_iis0", "apb0_iis1", "apb0_pio", "apb0_ir0", "apb0_ir1", "apb0_iis2", "apb0_keypad"; linux,phandle = <0x2d>; phandle = <0x2d>; }; clk@01c20058 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-apb1-clk"; reg = <0x1c20058 0x4>; clocks = <0x8 0xb 0x1 0x9>; clock-output-names = "apb1"; linux,phandle = <0xf>; phandle = <0xf>; }; clk@01c2006c { #clock-cells = <0x1>; compatible = "allwinner,sun7i-a20-apb1-gates-clk"; reg = <0x1c2006c 0x4>; clocks = <0xf>; clock-indices = <0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0xf 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17>; clock-output-names = "apb1_i2c0", "apb1_i2c1", "apb1_i2c2", "apb1_i2c3", "apb1_can", "apb1_scr", "apb1_ps20", "apb1_ps21", "apb1_i2c4", "apb1_uart0", "apb1_uart1", "apb1_uart2", "apb1_uart3", "apb1_uart4", "apb1_uart5", "apb1_uart6", "apb1_uart7"; linux,phandle = <0x32>; phandle = <0x32>; }; clk@01c20080 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c20080 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "nand"; }; clk@01c20084 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c20084 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "ms"; }; clk@01c20088 { #clock-cells = <0x1>; compatible = "allwinner,sun4i-a10-mmc-clk"; reg = <0x1c20088 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "mmc0", "mmc0_output", "mmc0_sample"; linux,phandle = <0x1b>; phandle = <0x1b>; }; clk@01c2008c { #clock-cells = <0x1>; compatible = "allwinner,sun4i-a10-mmc-clk"; reg = <0x1c2008c 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "mmc1", "mmc1_output", "mmc1_sample"; linux,phandle = <0x20>; phandle = <0x20>; }; clk@01c20090 { #clock-cells = <0x1>; compatible = "allwinner,sun4i-a10-mmc-clk"; reg = <0x1c20090 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "mmc2", "mmc2_output", "mmc2_sample"; linux,phandle = <0x21>; phandle = <0x21>; }; clk@01c20094 { #clock-cells = <0x1>; compatible = "allwinner,sun4i-a10-mmc-clk"; reg = <0x1c20094 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "mmc3", "mmc3_output", "mmc3_sample"; linux,phandle = <0x22>; phandle = <0x22>; }; clk@01c20098 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c20098 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "ts"; }; clk@01c2009c { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c2009c 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "ss"; linux,phandle = <0x2a>; phandle = <0x2a>; }; clk@01c200a0 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c200a0 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "spi0"; linux,phandle = <0x14>; phandle = <0x14>; }; clk@01c200a4 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c200a4 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "spi1"; linux,phandle = <0x19>; phandle = <0x19>; }; clk@01c200a8 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c200a8 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "spi2"; linux,phandle = <0x2b>; phandle = <0x2b>; }; clk@01c200ac { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c200ac 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "pata"; }; clk@01c200b0 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c200b0 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "ir0"; linux,phandle = <0x2e>; phandle = <0x2e>; }; clk@01c200b4 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c200b4 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "ir1"; linux,phandle = <0x30>; phandle = <0x30>; }; clk@01c200c4 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c200c4 0x4>; clocks = <0x8>; clock-output-names = "keypad"; }; clk@01c200cc { #clock-cells = <0x1>; #reset-cells = <0x1>; compatible = "allwinner,sun4i-a10-usb-clk"; reg = <0x1c200cc 0x4>; clocks = <0xb 0x1>; clock-output-names = "usb_ohci0", "usb_ohci1", "usb_phy"; linux,phandle = <0x27>; phandle = <0x27>; }; clk@01c200d4 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-mod0-clk"; reg = <0x1c200d4 0x4>; clocks = <0x8 0xb 0x1 0x2 0x1>; clock-output-names = "spi3"; linux,phandle = <0x2c>; phandle = <0x2c>; }; clk@01c20140 { #clock-cells = <0x0>; compatible = "allwinner,sun4i-a10-codec-clk"; reg = <0x1c20140 0x4>; clocks = <0x10 0x0>; clock-output-names = "codec"; linux,phandle = <0x31>; phandle = <0x31>; }; clk@01c2015c { #clock-cells = <0x0>; compatible = "allwinner,sun5i-a13-mbus-clk"; reg = <0x1c2015c 0x4>; clocks = <0x8 0xb 0x2 0x2 0x1>; clock-output-names = "mbus"; }; clk@2 { #clock-cells = <0x0>; compatible = "fixed-clock"; clock-frequency = <0x17d7840>; clock-output-names = "mii_phy_tx"; linux,phandle = <0x11>; phandle = <0x11>; }; clk@3 { #clock-cells = <0x0>; compatible = "fixed-clock"; clock-frequency = <0x7735940>; clock-output-names = "gmac_int_tx"; linux,phandle = <0x12>; phandle = <0x12>; }; clk@01c20164 { #clock-cells = <0x0>; compatible = "allwinner,sun7i-a20-gmac-clk"; reg = <0x1c20164 0x4>; clocks = <0x11 0x12>; clock-output-names = "gmac_tx"; linux,phandle = <0x39>; phandle = <0x39>; }; clk@1 { #clock-cells = <0x0>; compatible = "fixed-factor-clock"; clock-div = <0x2ee>; clock-mult = <0x1>; clocks = <0x8>; clock-output-names = "osc24M_32k"; linux,phandle = <0x13>; phandle = <0x13>; }; clk@01c201f0 { #clock-cells = <0x0>; compatible = "allwinner,sun7i-a20-out-clk"; reg = <0x1c201f0 0x4>; clocks = <0x13 0x9 0x8>; clock-output-names = "clk_out_a"; }; clk@01c201f4 { #clock-cells = <0x0>; compatible = "allwinner,sun7i-a20-out-clk"; reg = <0x1c201f4 0x4>; clocks = <0x13 0x9 0x8>; clock-output-names = "clk_out_b"; }; }; soc@01c00000 { compatible = "simple-bus"; #address-cells = <0x1>; #size-cells = <0x1>; ranges; sram-controller@01c00000 { compatible = "allwinner,sun4i-a10-sram-controller"; reg = <0x1c00000 0x30>; #address-cells = <0x1>; #size-cells = <0x1>; ranges; sram@00000000 { compatible = "mmio-sram"; reg = <0x0 0xc000>; #address-cells = <0x1>; #size-cells = <0x1>; ranges = <0x0 0x0 0xc000>; sram-section@8000 { compatible = "allwinner,sun4i-a10-sram-a3-a4"; reg = <0x8000 0x4000>; status = "disabled"; linux,phandle = <0x1a>; phandle = <0x1a>; }; }; sram@00010000 { compatible = "mmio-sram"; reg = <0x10000 0x1000>; #address-cells = <0x1>; #size-cells = <0x1>; ranges = <0x0 0x10000 0x1000>; sram-section@0000 { compatible = "allwinner,sun4i-a10-sram-d"; reg = <0x0 0x1000>; status = "disabled"; linux,phandle = <0x26>; phandle = <0x26>; }; }; }; interrupt-controller@01c00030 { compatible = "allwinner,sun7i-a20-sc-nmi"; interrupt-controller; #interrupt-cells = <0x2>; reg = <0x1c00030 0xc>; interrupts = <0x0 0x0 0x4>; linux,phandle = <0x37>; phandle = <0x37>; }; dma-controller@01c02000 { compatible = "allwinner,sun4i-a10-dma"; reg = <0x1c02000 0x1000>; interrupts = <0x0 0x1b 0x4>; clocks = <0x3 0x6>; #dma-cells = <0x2>; linux,phandle = <0x15>; phandle = <0x15>; }; spi@01c05000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x1c05000 0x1000>; interrupts = <0x0 0xa 0x4>; clocks = <0x3 0x14 0x14>; clock-names = "ahb", "mod"; dmas = <0x15 0x1 0x1b 0x15 0x1 0x1a>; dma-names = "rx", "tx"; status = "okay"; #address-cells = <0x1>; #size-cells = <0x0>; pinctrl-names = "default"; pinctrl-0 = <0x16 0x17 0x18>; }; spi@01c06000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x1c06000 0x1000>; interrupts = <0x0 0xb 0x4>; clocks = <0x3 0x15 0x19>; clock-names = "ahb", "mod"; dmas = <0x15 0x1 0x9 0x15 0x1 0x8>; dma-names = "rx", "tx"; status = "disabled"; #address-cells = <0x1>; #size-cells = <0x0>; }; ethernet@01c0b000 { compatible = "allwinner,sun4i-a10-emac"; reg = <0x1c0b000 0x1000>; interrupts = <0x0 0x37 0x4>; clocks = <0x3 0x11>; allwinner,sram = <0x1a 0x1>; status = "disabled"; }; mdio@01c0b080 { compatible = "allwinner,sun4i-a10-mdio"; reg = <0x1c0b080 0x14>; status = "disabled"; #address-cells = <0x1>; #size-cells = <0x0>; }; mmc@01c0f000 { compatible = "allwinner,sun5i-a13-mmc"; reg = <0x1c0f000 0x1000>; clocks = <0x3 0x8 0x1b 0x0 0x1b 0x1 0x1b 0x2>; clock-names = "ahb", "mmc", "output", "sample"; interrupts = <0x0 0x20 0x4>; status = "okay"; #address-cells = <0x1>; #size-cells = <0x0>; pinctrl-names = "default"; pinctrl-0 = <0x1c 0x1d>; vmmc-supply = <0x1e>; bus-width = <0x4>; cd-gpios = <0x1f 0x7 0xa 0x0>; cd-inverted; }; mmc@01c10000 { compatible = "allwinner,sun5i-a13-mmc"; reg = <0x1c10000 0x1000>; clocks = <0x3 0x9 0x20 0x0 0x20 0x1 0x20 0x2>; clock-names = "ahb", "mmc", "output", "sample"; interrupts = <0x0 0x21 0x4>; status = "disabled"; #address-cells = <0x1>; #size-cells = <0x0>; }; mmc@01c11000 { compatible = "allwinner,sun5i-a13-mmc"; reg = <0x1c11000 0x1000>; clocks = <0x3 0xa 0x21 0x0 0x21 0x1 0x21 0x2>; clock-names = "ahb", "mmc", "output", "sample"; interrupts = <0x0 0x22 0x4>; status = "disabled"; #address-cells = <0x1>; #size-cells = <0x0>; }; mmc@01c12000 { compatible = "allwinner,sun5i-a13-mmc"; reg = <0x1c12000 0x1000>; clocks = <0x3 0xb 0x22 0x0 0x22 0x1 0x22 0x2>; clock-names = "ahb", "mmc", "output", "sample"; interrupts = <0x0 0x23 0x4>; status = "okay"; #address-cells = <0x1>; #size-cells = <0x0>; pinctrl-names = "default"; pinctrl-0 = <0x23>; vmmc-supply = <0x24>; bus-width = <0x4>; non-removable; }; usb@01c13000 { compatible = "allwinner,sun4i-a10-musb"; reg = <0x1c13000 0x400>; clocks = <0x3 0x0>; interrupts = <0x0 0x26 0x4>; interrupt-names = "mc"; phys = <0x25 0x0>; phy-names = "usb"; extcon = <0x25 0x0>; allwinner,sram = <0x26 0x1>; status = "disabled"; }; phy@01c13400 { #phy-cells = <0x1>; compatible = "allwinner,sun7i-a20-usb-phy"; reg = <0x1c13400 0x10 0x1c14800 0x4 0x1c1c800 0x4>; reg-names = "phy_ctrl", "pmu1", "pmu2"; clocks = <0x27 0x8>; clock-names = "usb_phy"; resets = <0x27 0x0 0x27 0x1 0x27 0x2>; reset-names = "usb0_reset", "usb1_reset", "usb2_reset"; status = "okay"; usb1_vbus-supply = <0x28>; usb2_vbus-supply = <0x29>; linux,phandle = <0x25>; phandle = <0x25>; }; usb@01c14000 { compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; reg = <0x1c14000 0x100>; interrupts = <0x0 0x27 0x4>; clocks = <0x3 0x1>; phys = <0x25 0x1>; phy-names = "usb"; status = "okay"; }; usb@01c14400 { compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; reg = <0x1c14400 0x100>; interrupts = <0x0 0x40 0x4>; clocks = <0x27 0x6 0x3 0x2>; phys = <0x25 0x1>; phy-names = "usb"; status = "okay"; }; crypto-engine@01c15000 { compatible = "allwinner,sun4i-a10-crypto"; reg = <0x1c15000 0x1000>; interrupts = <0x0 0x56 0x4>; clocks = <0x3 0x5 0x2a>; clock-names = "ahb", "mod"; }; spi@01c17000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x1c17000 0x1000>; interrupts = <0x0 0xc 0x4>; clocks = <0x3 0x16 0x2b>; clock-names = "ahb", "mod"; dmas = <0x15 0x1 0x1d 0x15 0x1 0x1c>; dma-names = "rx", "tx"; status = "disabled"; #address-cells = <0x1>; #size-cells = <0x0>; }; sata@01c18000 { compatible = "allwinner,sun4i-a10-ahci"; reg = <0x1c18000 0x1000>; interrupts = <0x0 0x38 0x4>; clocks = <0xb 0x0 0x3 0x19>; status = "okay"; }; usb@01c1c000 { compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; reg = <0x1c1c000 0x100>; interrupts = <0x0 0x28 0x4>; clocks = <0x3 0x3>; phys = <0x25 0x2>; phy-names = "usb"; status = "okay"; }; usb@01c1c400 { compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; reg = <0x1c1c400 0x100>; interrupts = <0x0 0x41 0x4>; clocks = <0x27 0x7 0x3 0x4>; phys = <0x25 0x2>; phy-names = "usb"; status = "okay"; }; spi@01c1f000 { compatible = "allwinner,sun4i-a10-spi"; reg = <0x1c1f000 0x1000>; interrupts = <0x0 0x32 0x4>; clocks = <0x3 0x17 0x2c>; clock-names = "ahb", "mod"; dmas = <0x15 0x1 0x1f 0x15 0x1 0x1e>; dma-names = "rx", "tx"; status = "disabled"; #address-cells = <0x1>; #size-cells = <0x0>; }; pinctrl@01c20800 { compatible = "allwinner,sun7i-a20-pinctrl"; reg = <0x1c20800 0x400>; interrupts = <0x0 0x1c 0x4>; clocks = <0x2d 0x5>; gpio-controller; interrupt-controller; #interrupt-cells = <0x3>; #gpio-cells = <0x3>; linux,phandle = <0x1f>; phandle = <0x1f>; pwm0@0 { allwinner,pins = "PB2"; allwinner,function = "pwm"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; pwm1@0 { allwinner,pins = "PI3"; allwinner,function = "pwm"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; uart0@0 { allwinner,pins = "PB22", "PB23"; allwinner,function = "uart0"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x33>; phandle = <0x33>; }; uart2@0 { allwinner,pins = "PI16", "PI17", "PI18", "PI19"; allwinner,function = "uart2"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; uart3@0 { allwinner,pins = "PG6", "PG7", "PG8", "PG9"; allwinner,function = "uart3"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; uart3@1 { allwinner,pins = "PH0", "PH1"; allwinner,function = "uart3"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; uart4@0 { allwinner,pins = "PG10", "PG11"; allwinner,function = "uart4"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; uart4@1 { allwinner,pins = "PH4", "PH5"; allwinner,function = "uart4"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x34>; phandle = <0x34>; }; uart5@0 { allwinner,pins = "PI10", "PI11"; allwinner,function = "uart5"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; uart6@0 { allwinner,pins = "PI12", "PI13"; allwinner,function = "uart6"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; uart7@0 { allwinner,pins = "PI20", "PI21"; allwinner,function = "uart7"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x35>; phandle = <0x35>; }; i2c0@0 { allwinner,pins = "PB0", "PB1"; allwinner,function = "i2c0"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x36>; phandle = <0x36>; }; i2c1@0 { allwinner,pins = "PB18", "PB19"; allwinner,function = "i2c1"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; i2c2@0 { allwinner,pins = "PB20", "PB21"; allwinner,function = "i2c2"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x38>; phandle = <0x38>; }; i2c3@0 { allwinner,pins = "PI0", "PI1"; allwinner,function = "i2c3"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; emac0@0 { allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PA16"; allwinner,function = "emac"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; clk_out_a@0 { allwinner,pins = "PI12"; allwinner,function = "clk_out_a"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; clk_out_b@0 { allwinner,pins = "PI13"; allwinner,function = "clk_out_b"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; gmac_mii@0 { allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PA16"; allwinner,function = "gmac"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; gmac_rgmii@0 { allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA10", "PA11", "PA12", "PA13", "PA15", "PA16"; allwinner,function = "gmac"; allwinner,drive = <0x3>; allwinner,pull = <0x0>; linux,phandle = <0x3a>; phandle = <0x3a>; }; spi0@0 { allwinner,pins = "PI11", "PI12", "PI13"; allwinner,function = "spi0"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x16>; phandle = <0x16>; }; spi0_cs0@0 { allwinner,pins = "PI10"; allwinner,function = "spi0"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x17>; phandle = <0x17>; }; spi0_cs1@0 { allwinner,pins = "PI14"; allwinner,function = "spi0"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x18>; phandle = <0x18>; }; spi1@0 { allwinner,pins = "PI17", "PI18", "PI19"; allwinner,function = "spi1"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; spi1_cs0@0 { allwinner,pins = "PI16"; allwinner,function = "spi1"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; spi2@0 { allwinner,pins = "PC20", "PC21", "PC22"; allwinner,function = "spi2"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; spi2@1 { allwinner,pins = "PB15", "PB16", "PB17"; allwinner,function = "spi2"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; spi2_cs0@0 { allwinner,pins = "PC19"; allwinner,function = "spi2"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; spi2_cs0@1 { allwinner,pins = "PB14"; allwinner,function = "spi2"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; mmc0@0 { allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; allwinner,function = "mmc0"; allwinner,drive = <0x2>; allwinner,pull = <0x0>; linux,phandle = <0x1c>; phandle = <0x1c>; }; mmc0_cd_pin@0 { allwinner,pins = "PH10"; allwinner,function = "gpio_in"; allwinner,drive = <0x0>; allwinner,pull = <0x1>; linux,phandle = <0x1d>; phandle = <0x1d>; }; mmc2@0 { allwinner,pins = "PC6", "PC7", "PC8", "PC9", "PC10", "PC11"; allwinner,function = "mmc2"; allwinner,drive = <0x2>; allwinner,pull = <0x1>; }; mmc3@0 { allwinner,pins = "PI4", "PI5", "PI6", "PI7", "PI8", "PI9"; allwinner,function = "mmc3"; allwinner,drive = <0x2>; allwinner,pull = <0x0>; linux,phandle = <0x23>; phandle = <0x23>; }; ir0@0 { allwinner,pins = "PB4"; allwinner,function = "ir0"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x2f>; phandle = <0x2f>; }; ir0@1 { allwinner,pins = "PB3"; allwinner,function = "ir0"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; ir1@0 { allwinner,pins = "PB23"; allwinner,function = "ir1"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; ir1@1 { allwinner,pins = "PB22"; allwinner,function = "ir1"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; ps20@0 { allwinner,pins = "PI20", "PI21"; allwinner,function = "ps2"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; ps21@0 { allwinner,pins = "PH12", "PH13"; allwinner,function = "ps2"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; }; ahci_pwr_pin@0 { allwinner,pins = "PB8"; allwinner,function = "gpio_out"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x3d>; phandle = <0x3d>; }; usb0_vbus_pin@0 { allwinner,pins = "PB9"; allwinner,function = "gpio_out"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x3e>; phandle = <0x3e>; }; usb1_vbus_pin@0 { allwinner,pins = "PH0"; allwinner,function = "gpio_out"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x3f>; phandle = <0x3f>; }; usb2_vbus_pin@0 { allwinner,pins = "PH1"; allwinner,function = "gpio_out"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x40>; phandle = <0x40>; }; gmac_power_pin@0 { allwinner,pins = "PH23"; allwinner,function = "gpio_out"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x42>; phandle = <0x42>; }; led_pins@0 { allwinner,pins = "PH24", "PG2"; allwinner,function = "gpio_out"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x41>; phandle = <0x41>; }; vmmc3_pin@0 { allwinner,pins = "PH22"; allwinner,function = "gpio_out"; allwinner,drive = <0x0>; allwinner,pull = <0x0>; linux,phandle = <0x43>; phandle = <0x43>; }; my_w1_pin@0 { allwinner,pins = "PI20"; allwinner,function = "gpio_in"; allwinner,drive = <0x0>; allwinner,pull = <0x1>; linux,phandle = <0x44>; phandle = <0x44>; }; }; timer@01c20c00 { compatible = "allwinner,sun4i-a10-timer"; reg = <0x1c20c00 0x90>; interrupts = <0x0 0x16 0x4 0x0 0x17 0x4 0x0 0x18 0x4 0x0 0x19 0x4 0x0 0x43 0x4 0x0 0x44 0x4>; clocks = <0x8>; }; watchdog@01c20c90 { compatible = "allwinner,sun4i-a10-wdt"; reg = <0x1c20c90 0x10>; }; rtc@01c20d00 { compatible = "allwinner,sun7i-a20-rtc"; reg = <0x1c20d00 0x20>; interrupts = <0x0 0x18 0x4>; }; pwm@01c20e00 { compatible = "allwinner,sun7i-a20-pwm"; reg = <0x1c20e00 0xc>; clocks = <0x8>; #pwm-cells = <0x3>; status = "disabled"; }; ir@01c21800 { compatible = "allwinner,sun4i-a10-ir"; clocks = <0x2d 0x6 0x2e>; clock-names = "apb", "ir"; interrupts = <0x0 0x5 0x4>; reg = <0x1c21800 0x40>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <0x2f>; }; ir@01c21c00 { compatible = "allwinner,sun4i-a10-ir"; clocks = <0x2d 0x7 0x30>; clock-names = "apb", "ir"; interrupts = <0x0 0x6 0x4>; reg = <0x1c21c00 0x40>; status = "disabled"; }; lradc@01c22800 { compatible = "allwinner,sun4i-a10-lradc-keys"; reg = <0x1c22800 0x100>; interrupts = <0x0 0x1f 0x4>; status = "disabled"; }; codec@01c22c00 { #sound-dai-cells = <0x0>; compatible = "allwinner,sun7i-a20-codec"; reg = <0x1c22c00 0x40>; interrupts = <0x0 0x1e 0x4>; clocks = <0x2d 0x0 0x31>; clock-names = "apb", "codec"; dmas = <0x15 0x0 0x13 0x15 0x0 0x13>; dma-names = "rx", "tx"; status = "disabled"; }; eeprom@01c23800 { compatible = "allwinner,sun7i-a20-sid"; reg = <0x1c23800 0x200>; }; rtp@01c25000 { compatible = "allwinner,sun5i-a13-ts"; reg = <0x1c25000 0x100>; interrupts = <0x0 0x1d 0x4>; #thermal-sensor-cells = <0x0>; linux,phandle = <0x5>; phandle = <0x5>; }; serial@01c28000 { compatible = "snps,dw-apb-uart"; reg = <0x1c28000 0x400>; interrupts = <0x0 0x1 0x4>; reg-shift = <0x2>; reg-io-width = <0x4>; clocks = <0x32 0x10>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <0x33>; }; serial@01c28400 { compatible = "snps,dw-apb-uart"; reg = <0x1c28400 0x400>; interrupts = <0x0 0x2 0x4>; reg-shift = <0x2>; reg-io-width = <0x4>; clocks = <0x32 0x11>; status = "disabled"; }; serial@01c28800 { compatible = "snps,dw-apb-uart"; reg = <0x1c28800 0x400>; interrupts = <0x0 0x3 0x4>; reg-shift = <0x2>; reg-io-width = <0x4>; clocks = <0x32 0x12>; status = "disabled"; }; serial@01c28c00 { compatible = "snps,dw-apb-uart"; reg = <0x1c28c00 0x400>; interrupts = <0x0 0x4 0x4>; reg-shift = <0x2>; reg-io-width = <0x4>; clocks = <0x32 0x13>; status = "disabled"; }; serial@01c29000 { compatible = "snps,dw-apb-uart"; reg = <0x1c29000 0x400>; interrupts = <0x0 0x11 0x4>; reg-shift = <0x2>; reg-io-width = <0x4>; clocks = <0x32 0x14>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <0x34>; }; serial@01c29400 { compatible = "snps,dw-apb-uart"; reg = <0x1c29400 0x400>; interrupts = <0x0 0x12 0x4>; reg-shift = <0x2>; reg-io-width = <0x4>; clocks = <0x32 0x15>; status = "disabled"; }; serial@01c29800 { compatible = "snps,dw-apb-uart"; reg = <0x1c29800 0x400>; interrupts = <0x0 0x13 0x4>; reg-shift = <0x2>; reg-io-width = <0x4>; clocks = <0x32 0x16>; status = "disabled"; }; serial@01c29c00 { compatible = "snps,dw-apb-uart"; reg = <0x1c29c00 0x400>; interrupts = <0x0 0x14 0x4>; reg-shift = <0x2>; reg-io-width = <0x4>; clocks = <0x32 0x17>; status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <0x35>; }; i2c@01c2ac00 { compatible = "allwinner,sun7i-a20-i2c", "allwinner,sun4i-a10-i2c"; reg = <0x1c2ac00 0x400>; interrupts = <0x0 0x7 0x4>; clocks = <0x32 0x0>; status = "okay"; #address-cells = <0x1>; #size-cells = <0x0>; pinctrl-names = "default"; pinctrl-0 = <0x36>; pmic@34 { compatible = "x-powers,axp209"; reg = <0x34>; interrupt-parent = <0x37>; interrupts = <0x0 0x8>; interrupt-controller; #interrupt-cells = <0x1>; }; }; i2c@01c2b000 { compatible = "allwinner,sun7i-a20-i2c", "allwinner,sun4i-a10-i2c"; reg = <0x1c2b000 0x400>; interrupts = <0x0 0x8 0x4>; clocks = <0x32 0x1>; status = "disabled"; #address-cells = <0x1>; #size-cells = <0x0>; }; i2c@01c2b400 { compatible = "allwinner,sun7i-a20-i2c", "allwinner,sun4i-a10-i2c"; reg = <0x1c2b400 0x400>; interrupts = <0x0 0x9 0x4>; clocks = <0x32 0x2>; status = "okay"; #address-cells = <0x1>; #size-cells = <0x0>; pinctrl-names = "default"; pinctrl-0 = <0x38>; }; i2c@01c2b800 { compatible = "allwinner,sun7i-a20-i2c", "allwinner,sun4i-a10-i2c"; reg = <0x1c2b800 0x400>; interrupts = <0x0 0x58 0x4>; clocks = <0x32 0x3>; status = "disabled"; #address-cells = <0x1>; #size-cells = <0x0>; }; i2c@01c2c000 { compatible = "allwinner,sun7i-a20-i2c", "allwinner,sun4i-a10-i2c"; reg = <0x1c2c000 0x400>; interrupts = <0x0 0x59 0x4>; clocks = <0x32 0xf>; status = "disabled"; #address-cells = <0x1>; #size-cells = <0x0>; }; ethernet@01c50000 { compatible = "allwinner,sun7i-a20-gmac"; reg = <0x1c50000 0x10000>; interrupts = <0x0 0x55 0x4>; interrupt-names = "macirq"; clocks = <0x3 0x31 0x39>; clock-names = "stmmaceth", "allwinner_gmac_tx"; snps,pbl = <0x2>; snps,fixed-burst; snps,force_sf_dma_mode; status = "okay"; #address-cells = <0x1>; #size-cells = <0x0>; pinctrl-names = "default"; pinctrl-0 = <0x3a>; phy = <0x3b>; phy-mode = "rgmii"; phy-supply = <0x3c>; ethernet-phy@1 { reg = <0x1>; linux,phandle = <0x3b>; phandle = <0x3b>; }; }; hstimer@01c60000 { compatible = "allwinner,sun7i-a20-hstimer"; reg = <0x1c60000 0x1000>; interrupts = <0x0 0x51 0x4 0x0 0x52 0x4 0x0 0x53 0x4 0x0 0x54 0x4>; clocks = <0x3 0x1c>; }; interrupt-controller@01c81000 { compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; reg = <0x1c81000 0x1000 0x1c82000 0x1000 0x1c84000 0x2000 0x1c86000 0x2000>; interrupt-controller; #interrupt-cells = <0x3>; interrupts = <0x1 0x9 0xf04>; linux,phandle = <0x1>; phandle = <0x1>; }; ps2@01c2a000 { compatible = "allwinner,sun4i-a10-ps2"; reg = <0x1c2a000 0x400>; interrupts = <0x0 0x3e 0x4>; clocks = <0x32 0x6>; status = "disabled"; }; ps2@01c2a400 { compatible = "allwinner,sun4i-a10-ps2"; reg = <0x1c2a400 0x400>; interrupts = <0x0 0x3f 0x4>; clocks = <0x32 0x7>; status = "disabled"; }; }; ahci-5v { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <0x3d>; regulator-name = "ahci-5v"; regulator-min-microvolt = <0x4c4b40>; regulator-max-microvolt = <0x4c4b40>; regulator-boot-on; enable-active-high; gpio = <0x1f 0x1 0x8 0x0>; status = "disabled"; }; usb0-vbus { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <0x3e>; regulator-name = "usb0-vbus"; regulator-min-microvolt = <0x4c4b40>; regulator-max-microvolt = <0x4c4b40>; enable-active-high; gpio = <0x1f 0x1 0x9 0x0>; status = "disabled"; }; usb1-vbus { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <0x3f>; regulator-name = "usb1-vbus"; regulator-min-microvolt = <0x4c4b40>; regulator-max-microvolt = <0x4c4b40>; regulator-boot-on; enable-active-high; gpio = <0x1f 0x7 0x0 0x0>; status = "okay"; linux,phandle = <0x28>; phandle = <0x28>; }; usb2-vbus { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <0x40>; regulator-name = "usb2-vbus"; regulator-min-microvolt = <0x4c4b40>; regulator-max-microvolt = <0x4c4b40>; regulator-boot-on; enable-active-high; gpio = <0x1f 0x7 0x1 0x0>; status = "okay"; linux,phandle = <0x29>; phandle = <0x29>; }; vcc3v0 { compatible = "regulator-fixed"; regulator-name = "vcc3v0"; regulator-min-microvolt = <0x2dc6c0>; regulator-max-microvolt = <0x2dc6c0>; }; vcc3v3 { compatible = "regulator-fixed"; regulator-name = "vcc3v3"; regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; linux,phandle = <0x1e>; phandle = <0x1e>; }; vcc5v0 { compatible = "regulator-fixed"; regulator-name = "vcc5v0"; regulator-min-microvolt = <0x4c4b40>; regulator-max-microvolt = <0x4c4b40>; }; leds { compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 = <0x41>; blue { label = "bananapro:blue:usr"; gpios = <0x1f 0x6 0x2 0x0>; }; green { label = "bananapro:green:usr"; gpios = <0x1f 0x7 0x18 0x0>; }; }; onewire_device { compatible = "w1-gpio"; gpios = <0x1f 0x8 0x14 0x0>; pinctrl-names = "default"; pinctrl-0 = <0x44>; status = "okay"; }; gmac-3v3 { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <0x42>; regulator-name = "gmac-3v3"; regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; startup-delay-us = <0x186a0>; enable-active-high; gpio = <0x1f 0x7 0x17 0x0>; linux,phandle = <0x3c>; phandle = <0x3c>; }; vmmc3 { compatible = "regulator-fixed"; pinctrl-names = "default"; pinctrl-0 = <0x43>; regulator-name = "vmmc3"; regulator-min-microvolt = <0x325aa0>; regulator-max-microvolt = <0x325aa0>; enable-active-high; gpio = <0x1f 0x7 0x16 0x0>; linux,phandle = <0x24>; phandle = <0x24>; }; }; Configured pin # cat /sys/kernel/debug/pinctrl/1c20800.pinctrl/pinmux-pins | grep PI20 pin 276 (PI20): onewire_device 1c20800.pinctrl:276 function gpio_in group PI20 Edited June 4, 2016 by zador.blood.stained Added spoiler tags
Rui Ribeiro Posted April 10, 2016 Posted April 10, 2016 Hi Igor, is seems in the last version, there is no fex2bin and bin2fex. Have a look: root@ruir:/usr/sbin# ls -la | grep output lrwxrwxrwx 1 root root 88 Feb 12 02:12 bin2fex -> /root/output/debs/jessie/linux-jessie-root-next-lamobo-r1_5.00_armhf/usr/sbin/sunxi-fexc lrwxrwxrwx 1 root root 88 Feb 12 02:12 fex2bin -> /root/output/debs/jessie/linux-jessie-root-next-lamobo-r1_5.00_armhf/usr/sbin/sunxi-fexc root@ruir:/usr/sbin#
Igor Posted April 10, 2016 Posted April 10, 2016 Hi Igor, is seems in the last version, there is no fex2bin and bin2fex. Have a look: root@ruir:/usr/sbin# ls -la | grep output lrwxrwxrwx 1 root root 88 Feb 12 02:12 bin2fex -> /root/output/debs/jessie/linux-jessie-root-next-lamobo-r1_5.00_armhf/usr/sbin/sunxi-fexc lrwxrwxrwx 1 root root 88 Feb 12 02:12 fex2bin -> /root/output/debs/jessie/linux-jessie-root-next-lamobo-r1_5.00_armhf/usr/sbin/sunxi-fexc root@ruir:/usr/sbin# Yes, I noticed. It should be fixed. Thanks.
Dredd Posted June 4, 2016 Posted June 4, 2016 device { compatible = "w1-gpio"; gpios = <0x1f 0x8 0x14 0x0>; pinctrl-names = "default"; pinctrl-0 = <0x44>; status = "okay"; Hi guys how i can get row code of the gpio, and this line cant understand in sunxi wiki gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */ if i use other gpio pin, my board is Olinuxino A20 Micro. Thank you
zador.blood.stained Posted June 4, 2016 Posted June 4, 2016 gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */ First number (3) is zero-based number of letter 'D' (A=0, B=1, ... D=3, ...), second number (2) goes to definition without any changes. For example, PH6 will be <&pio 7 6 GPIO_ACTIVE_HIGH>, and PC0 will be <&pio 2 0 GPIO_ACTIVE_HIGH>
Dredd Posted June 4, 2016 Posted June 4, 2016 So PE4 will be <&pio 4 4 GPIO_ACTIVE_HIGH> but can`t make dtb file, dtc command dtc -I dts -O dtb sun.dts -o sun7i-a20-olinuxino-micro.dtb give me error in this line gpios = <&pio 4 4 GPIO_ACTIVE_HIGH>; Error: sun.dts:1796.26-27 syntax error FATAL ERROR: Unable to parse input tree
zador.blood.stained Posted June 4, 2016 Posted June 4, 2016 If you decompiled .dtb file to .dts and you want to edit decompiled source, then at least "pio" label, GPIO_ACTIVE_HIGH constant and some other things won't be defined in decompiled source. For adding new nodes do Device Tree creating patch for Armban build system and compiling custom kernel would be easier if you can set up build environment.
Recommended Posts