Jump to content

1-Wire on A20 ( LIME2 or SOM )


ddkDIZ

Recommended Posts

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

Link to comment
Share on other sites

No recompiling needed , just reading up on kernel modules ... I added

w1_sunxi
w1_gpio
w1_therm

to File: /etc/modules-load.d/modules.conf


and rebooted
the 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 properly
some 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

Link to comment
Share on other sites

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-gpio
modprobe: ERROR: could not insert 'w1_gpio': No such device

# modprobe w1_sunxi
modprobe: ERROR: could not insert 'w1_sunxi': Invalid argument

 

# modprobe w1-therm is ok

Link to comment
Share on other sites

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.bat
rename it to the correct name for your A20 device,

use sftp to copy it back to the /boot/bin directory

in the Olimex image ( torrent form olimex) there were fex2bin and bin2fex utilities, but i could not find them in armbian )

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 by zador.blood.stained
Added spoiler tags
Link to comment
Share on other sites

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 !

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 by zador.blood.stained
Added spoiler tags
Link to comment
Share on other sites

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#

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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>

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines