Olinuxino Lime Allwinner A10

This forum is for supported devices using an ARMv7 Allwinner SoC.

Olinuxino Lime Allwinner A10

Postby conchyliferous » Fri Jul 11, 2014 8:54 pm

Hello.

I installed Arch Linux Arm on an Olinuxino Lime. Since the device is not listed under Devices I did it in a slightly different way. First I dd:ed the Debian image supplied by Olimex (https://www.olimex.com/wiki/A10-OLinuXino-LIME) to a memory card, then I cleared the second partition and put the Arch root there instead (http://archlinuxarm.org/os/ArchLinuxARM-sun4i-latest.tar.gz). In that way I though that the bootloader, the kernel options, the fex file, and so on should be OK. I did not copy the uImage file from Arch. Everything worked fine, the device boots and I have updated the software etc. However, I can't access the GPIO pins. Or I simply dosen't know how to do it. Any suggestions? I've seen some notes about a sunxi-gpio kernel module, but how do I get that?

I tried to cat the /sys/kernel/debug/gpio, but it's empty.

On the boot partition I have (all taken from the Debian image):
boot.scr, script_a10_lime_HDMI.fex, script.bin, uEnv.txt, uImage

Please help me out here.
conchyliferous
 
Posts: 10
Joined: Fri Jul 11, 2014 8:32 pm

Re: Olinuxino Lime Allwinner A10

Postby WarheadsSE » Fri Jul 11, 2014 10:30 pm

I don't see why our kernel would not work, since sunxi has just the fex file & uboot that are different.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: Olinuxino Lime Allwinner A10

Postby conchyliferous » Sat Jul 12, 2014 9:44 am

Thanks for your reply.

The kernel works fine in the sense that the board boots and behaves properly. The fact that I can't access the GPIO pins might simply be due to me not knowing what to expect. I'm very used to Arch Linux, but it's the first time I want to use GPIOs. What I want to know is perhaps (in general) how the pins are initialized, and how to debug them.
conchyliferous
 
Posts: 10
Joined: Fri Jul 11, 2014 8:32 pm

Re: Olinuxino Lime Allwinner A10

Postby PLyttle » Sat Jul 12, 2014 12:11 pm

I don''t have your hardware, but I can probably get you started.

first look in /sys/class/gpio
you should find export, unexport and gpiochip1 (or something similar)
if so, you have gpio enabled in the kernel.

then look at your .fex file. (decompile it if necessary with bin2fex.
in there you should find a section named gpio_para

$this->bbcode_second_pass_code('', '[gpio_para]
gpio_used = 1
gpio_num = 2
gpio_pin_1 = port:PH20<1><default><default><1>
gpio_pin_2 = port:PH10<0><default><default><0>
')
This is an example in my fex (A20)

gpio_used should be 1 (0 means not used)
gpio_num in this case is 2 (2 gpios defined)
the rest are pin definitions with muxing and defaults

In this fex there are two pins enabled, pin 1 and pin 2

Now back to /sys/class/gpio
type sudo su (you need to be root)

type echo "1" > export (enable pin 1)

if you see "write error: Device or resource busy" this means the pin is already claimed.
if you see "write error: Invalid argument" this means this pin is not defined in the fex.

a new directory should appear, in my case named gpio1_ph20
in that directory you find the gpio controls and data

If you want to free the pin again type echo "1" > unexport

Again I don't have your hardware so things might look a tad different.

Success, LP
PLyttle
 
Posts: 120
Joined: Mon Jun 10, 2013 6:52 am

Re: Olinuxino Lime Allwinner A10

Postby conchyliferous » Sat Jul 12, 2014 3:32 pm

Thank you for your very clear and good answer!

It doesn't really work out though.

This is my entire fex:
$this->bbcode_second_pass_code('', '[product]
version = "1.0"
machine = "A10-EVB-V1.2"

[target]
boot_clock = 1008
dcdc2_vol = 1400
dcdc3_vol = 1250
ldo2_vol = 3000
ldo3_vol = 2800
ldo4_vol = 2800
pll4_freq = 1200
pll6_freq = 1200
power_start = 1

[card_burn_para]
card_no = 0
card_line = 4
card_mode = 0
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>

[card_boot]
logical_start = 40960
sprite_gpio0 = port:PH20<1><default><default><0>
sprite_work_delay = 500
sprite_err_delay = 200

[card_boot0_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>

[card_boot2_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:PF02<4><default><default><default>
uart_debug_rx = port:PF04<4><default><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>

[dram_para]
dram_baseaddr = 0x40000000
dram_clk = 480
dram_type = 3
dram_rank_num = 1
dram_chip_density = 4096
dram_io_width = 16
dram_bus_width = 16
dram_cas = 6
dram_zq = 0x7b
dram_odt_en = 1
dram_size = 512
dram_tpr0 = 0x30926692
dram_tpr1 = 0x1090
dram_tpr2 = 0x1a0c8
dram_tpr3 = 0x0
dram_tpr4 = 0x0
dram_tpr5 = 0x0
dram_emr1 = 0x4
dram_emr2 = 0x0
dram_emr3 = 0x0

[mali_para]
mali_used = 1
mali_clkdiv = 4

[g2d_para]
g2d_used = 1
g2d_size = 0x1000000

[emac_para]
emac_used = 1
emac_rxd3 = port:PA00<2><default><default><default>
emac_rxd2 = port:PA01<2><default><default><default>
emac_rxd1 = port:PA02<2><default><default><default>
emac_rxd0 = port:PA03<2><default><default><default>
emac_txd3 = port:PA04<2><default><default><default>
emac_txd2 = port:PA05<2><default><default><default>
emac_txd1 = port:PA06<2><default><default><default>
emac_txd0 = port:PA07<2><default><default><default>
emac_rxclk = port:PA08<2><default><default><default>
emac_rxerr = port:PA09<2><default><default><default>
emac_rxdV = port:PA10<2><default><default><default>
emac_mdc = port:PA11<2><default><default><default>
emac_mdio = port:PA12<2><default><default><default>
emac_txen = port:PA13<2><default><default><default>
emac_txclk = port:PA14<2><default><default><default>
emac_crs = port:PA15<2><default><default><default>
emac_col = port:PA16<2><default><default><default>
emac_reset = port:PA17<1><default><default><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>

[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:PA12<4><1><default><default>
uart_rx = port:PA13<4><1><default><default>

[uart_para7]
uart_used = 0
uart_port = 7
uart_type = 2
uart_tx = port:PA14<4><1><default><default>
uart_rx = port:PA15<4><1><default><default>

[spi0_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PI10<3><default><default><default>
spi_sclk = port:PI11<3><default><default><default>
spi_mosi = port:PI12<3><default><default><default>
spi_miso = port:PI13<3><default><default><default>

[spi1_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PA00<4><default><default><default>
spi_sclk = port:PA01<4><default><default><default>
spi_mosi = port:PA02<4><default><default><default>
spi_miso = port:PA03<4><default><default><default>

[spi2_para]
spi_used = 0
spi_cs_bitmap = 1
spi_cs0 = port:PB14<2><default><default><default>
spi_sclk = port:PB15<2><default><default><default>
spi_mosi = port:PB16<2><default><default><default>
spi_miso = port:PB17<2><default><default><default>
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_sclk = port:PI06<3><default><default><default>
spi_mosi = port:PI07<3><default><default><default>
spi_miso = port:PI08<3><default><default><default>
spi_cs1 = port:PA09<3><default><default><default>

[spi_devices]
spi_dev_num = 0

[spi_board0]
modalias = "aaa"
max_speed_hz = 12000000
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 = "ft5x_ts"
ctp_twi_id = 2
ctp_twi_addr = 0x70
ctp_screen_max_x = 800
ctp_screen_max_y = 480
ctp_revert_x_flag = 0
ctp_revert_y_flag = 0
ctp_exchange_x_y_flag = 0
ctp_int_port = port:PH21<6><default><default><default>
ctp_wakeup = port:PB13<1><default><default><1>
ctp_reset = port:PB13<1><default><default><1>
ctp_io_port = port:PH21<0><default><default><default>

[tkey_para]
tkey_used = 0
tkey_name = "hv_keypad"
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>

[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_ce1 = port:PC03<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_rb1 = port:PC07<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>
nand_ce2 = port:PC17<2><default><default><default>
nand_ce3 = port:PC18<2><default><default><default>
nand_ce4 =
nand_ce5 =
nand_ce6 =
nand_ce7 =
nand_spi = port:PC23<3><default><default><default>
nand_ndqs = port:PC24<2><default><default><default>

[disp_init]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 1
screen0_output_mode = 5
screen1_output_type = 1
screen1_output_mode = 4
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 0
fb0_width = 0
fb0_height = 0
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
lcd0_bright = 240
lcd1_bright = 197
lcd0_screen_bright = 50
lcd0_screen_contrast = 50
lcd0_screen_saturation = 57
lcd0_screen_hue = 50
lcd1_screen_bright = 50
lcd1_screen_contrast = 50
lcd1_screen_saturation = 57
lcd1_screen_hue = 50

[lcd0_para]
lcd_used = 1
lcd_x = 1024
lcd_y = 600
lcd_dclk_freq = 45
lcd_pwm_not_used = 0
lcd_pwm_ch = 0
lcd_pwm_freq = 10000
lcd_pwm_pol = 1
lcd_if = 0
lcd_hbp = 160
lcd_ht = 1200
lcd_vbp = 23
lcd_vt = 1250
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 2
lcd_hv_hspw = 10
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_bl_en_used = 1
lcd_bl_en = port:PH07<1><0><default><1>
lcd_power_used = 1
lcd_power = port:PH08<1><0><default><1>
lcd_pwm_used = 1
lcd_pwm = port:PB02<2><0><default><default>
lcd_gpio_0 =
lcd_gpio_1 =
lcd_gpio_2 =
lcd_gpio_3 =
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_if = 0
lcd_hbp = 0
lcd_ht = 0
lcd_vbp = 0
lcd_vt = 0
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 0
lcd_hv_hspw = 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 = 0
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

[csi0_para]
csi_used = 0
csi_mode = 0
csi_dev_qty = 1
csi_stby_mode = 0
csi_mname = "gc0308"
csi_twi_id = 1
csi_twi_addr = 0x42
csi_if = 0
csi_vflip = 0
csi_hflip = 1
csi_iovdd = ""
csi_avdd = ""
csi_dvdd = ""
csi_flash_pol = 1
csi_mname_b = ""
csi_twi_id_b = 1
csi_twi_addr_b = 0x78
csi_if_b = 0
csi_vflip_b = 1
csi_hflip_b = 0
csi_iovdd_b = ""
csi_avdd_b = ""
csi_dvdd_b = ""
csi_flash_pol_b = 1
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_d8 =
csi_d9 =
csi_d10 =
csi_d11 =
csi_d12 =
csi_d13 =
csi_d14 =
csi_d15 =
csi_reset = port:PH13<1><default><default><0>
csi_power_en =
csi_stby = port:PH16<1><default><default><0>
csi_flash =
csi_af_en =
csi_reset_b =
csi_power_en_b =
csi_stby_b =
csi_flash_b =
csi_af_en_b =

[csi1_para]
csi_used = 0
csi_mode = 0
csi_dev_qty = 1
csi_stby_mode = 1
csi_mname = ""
csi_twi_id = 1
csi_twi_addr = 0xba
csi_if = 0
csi_vflip = 0
csi_hflip = 0
csi_iovdd = ""
csi_avdd = ""
csi_dvdd = ""
csi_flash_pol = 1
csi_mname_b = ""
csi_twi_id_b = 1
csi_twi_addr_b = 0x78
csi_if_b = 0
csi_vflip_b = 1
csi_hflip_b = 0
csi_iovdd_b = ""
csi_avdd_b = ""
csi_dvdd_b = ""
csi_flash_pol_b = 1
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_field =
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_d8 =
csi_d9 =
csi_d10 =
csi_d11 =
csi_d12 =
csi_d13 =
csi_d14 =
csi_d15 =
csi_d16 =
csi_d17 =
csi_d18 =
csi_d19 =
csi_d20 =
csi_d21 =
csi_d22 =
csi_d23 =
csi_reset = port:PH14<1><default><default><0>
csi_power_en =
csi_stby = port:PH17<1><default><default><0>
csi_flash =
csi_af_en =
csi_reset_b =
csi_power_en_b =
csi_stby_b =
csi_flash_b =
csi_af_en_b =

[tvout_para]
tvout_used = 1
tvout_channel_num = 1
tv_en = port:PI12<1><default><default><0>

[tvin_para]
tvin_used = 0
tvin_channel_num = 4

[sata_para]
sata_used = 1
sata_power_en = port:PB08<1><default><default><0>

[mmc0_para]
sdc_used = 1
sdc_detmode = 1
bus_width = 4
sdc_d1 = port:PF00<2><1><2><default>
sdc_d0 = port:PF01<2><1><2><default>
sdc_clk = port:PF02<2><1><2><default>
sdc_cmd = port:PF03<2><1><2><default>
sdc_d3 = port:PF04<2><1><2><default>
sdc_d2 = port:PF05<2><1><2><default>
sdc_det = port:PH01<0><1><default><default>
sdc_use_wp = 0
sdc_wp =

[mmc1_para]
sdc_used = 0
sdc_detmode = 1
bus_width = 4
sdc_cmd = port:PH22<5><1><2><default>
sdc_clk = port:PH23<5><1><2><default>
sdc_d0 = port:PH24<5><1><2><default>
sdc_d1 = port:PH25<5><1><2><default>
sdc_d2 = port:PH26<5><1><2><default>
sdc_d3 = port:PH27<5><1><2><default>
sdc_det = port:PH02<0><1><default><default>
sdc_use_wp = 0
sdc_wp =

[mmc2_para]
sdc_used = 0

[mmc3_para]
sdc_used = 1
sdc_detmode = 4
bus_width = 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 =
sdc_use_wp = 0
sdc_wp =

[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 = 1
usb_id_gpio = port:PH04<0><1><default><default>
usb_det_vbus_gpio = port:PH05<0><0><default><default>
usb_drv_vbus_gpio = port:PB09<1><0><default><0>
usb_host_init_state = 1

[usbc1]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_id_gpio =
usb_det_vbus_gpio =
usb_drv_vbus_gpio = port:PH06<1><0><default><0>
usb_host_init_state = 1

[usbc2]
usb_used = 1
usb_port_type = 1
usb_detect_type = 0
usb_id_gpio =
usb_det_vbus_gpio =
usb_drv_vbus_gpio = port:PH03<1><0><default><0>
usb_host_init_state = 1

[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 = 2

[gsensor_para]
gsensor_used = 0
gsensor_name = "gsenser"
gsensor_twi_id = 1
gsensor_twi_addr = 0x18
gsensor_int1 = port:PH00<6><1><default><default>
gsensor_int2 = port:PI10<6><1><default><default>

[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>

[sdio_wifi_para]
sdio_wifi_used = 0
sdio_wifi_sdc_id = 3
sdio_wifi_mod_sel = 1
swl_n20_shdn = port:PH09<1><default><default><0>
swl_n20_host_wakeup = port:PH10<1><default><default><1>
swl_n20_vdd_en = port:PH11<1><default><default><0>
swl_n20_vcc_en = port:PH12<1><default><default><0>

[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 = 0
bt_uart_id = 2
bt_mod_type = 1

[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 = 0

[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 = 0
pmu_battery_rdc = 100
pmu_battery_cap = 3200
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 = 8
pmu_bat_para7 = 11
pmu_bat_para8 = 22
pmu_bat_para9 = 33
pmu_bat_para10 = 43
pmu_bat_para11 = 50
pmu_bat_para12 = 59
pmu_bat_para13 = 71
pmu_bat_para14 = 83
pmu_bat_para15 = 92
pmu_bat_para16 = 100
pmu_usbvol_limit = 1
pmu_usbcur_limit = 0
pmu_usbvol = 4000
pmu_usbcur = 900
pmu_usbvol_pc = 4000
pmu_usbcur_pc = 0
pmu_pwroff_vol = 3300
pmu_pwron_vol = 2900
pmu_pekoff_time = 6000
pmu_pekoff_en = 1
pmu_peklong_time = 1000
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

[recovery_key]
key_min = 4
key_max = 6

[gpio_para]
gpio_used = 1
gpio_num = 75
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:PG11<0><default><default><default>
gpio_pin_11 = port:PC03<0><default><default><default>
gpio_pin_12 = port:PC18<0><default><default><default>
gpio_pin_13 = port:PC19<0><default><default><default>
gpio_pin_14 = port:PC20<0><default><default><default>
gpio_pin_15 = port:PC21<0><default><default><default>
gpio_pin_16 = port:PC22<0><default><default><default>
gpio_pin_17 = port:PC23<0><default><default><default>
gpio_pin_18 = port:PC24<0><default><default><default>
gpio_pin_19 = port:PH00<0><default><default><default>
gpio_pin_20 = port:PH02<0><default><default><default>
gpio_pin_21 = port:PH07<0><default><default><default>
gpio_pin_22 = port:PH09<0><default><default><default>
gpio_pin_23 = port:PH10<0><default><default><default>
gpio_pin_24 = port:PH11<0><default><default><default>
gpio_pin_25 = port:PH12<0><default><default><default>
gpio_pin_26 = port:PH13<0><default><default><default>
gpio_pin_27 = port:PH14<0><default><default><default>
gpio_pin_28 = port:PH15<0><default><default><default>
gpio_pin_29 = port:PH16<0><default><default><default>
gpio_pin_30 = port:PH17<0><default><default><default>
gpio_pin_31 = port:PH18<0><default><default><default>
gpio_pin_32 = port:PH19<0><default><default><default>
gpio_pin_33 = port:PH20<0><default><default><default>
gpio_pin_34 = port:PH21<0><default><default><default>
gpio_pin_35 = port:PH22<0><default><default><default>
gpio_pin_36 = port:PH23<0><default><default><default>
gpio_pin_37 = port:PB03<0><default><default><default>
gpio_pin_38 = port:PB04<0><default><default><default>
gpio_pin_39 = port:PB05<0><default><default><default>
gpio_pin_40 = port:PB06<0><default><default><default>
gpio_pin_41 = port:PB07<0><default><default><default>
gpio_pin_42 = port:PB08<0><default><default><default>
gpio_pin_43 = port:PB10<0><default><default><default>
gpio_pin_44 = port:PB11<0><default><default><default>
gpio_pin_45 = port:PB12<0><default><default><default>
gpio_pin_46 = port:PB13<0><default><default><default>
gpio_pin_47 = port:PB14<0><default><default><default>
gpio_pin_48 = port:PB15<0><default><default><default>
gpio_pin_49 = port:PB16<0><default><default><default>
gpio_pin_50 = port:PB17<0><default><default><default>
gpio_pin_51 = port:PH24<0><default><default><default>
gpio_pin_52 = port:PH25<0><default><default><default>
gpio_pin_53 = port:PH26<0><default><default><default>
gpio_pin_54 = port:PH27<0><default><default><default>
gpio_pin_55 = port:PI00<0><default><default><default>
gpio_pin_56 = port:PI01<0><default><default><default>
gpio_pin_57 = port:PI02<0><default><default><default>
gpio_pin_58 = port:PI03<0><default><default><default>
gpio_pin_59 = port:PI04<0><default><default><default>
gpio_pin_60 = port:PI05<0><default><default><default>
gpio_pin_61 = port:PI06<0><default><default><default>
gpio_pin_62 = port:PI07<0><default><default><default>
gpio_pin_63 = port:PI08<0><default><default><default>
gpio_pin_64 = port:PI09<0><default><default><default>
gpio_pin_65 = port:PI10<0><default><default><default>
gpio_pin_66 = port:PI11<0><default><default><default>
gpio_pin_67 = port:PI12<0><default><default><default>
gpio_pin_68 = port:PI13<0><default><default><default>
gpio_pin_69 = port:PI14<0><default><default><default>
gpio_pin_70 = port:PI15<0><default><default><default>
gpio_pin_71 = port:PI16<0><default><default><default>
gpio_pin_72 = port:PI17<0><default><default><default>
gpio_pin_73 = port:PI18<0><default><default><default>
gpio_pin_74 = port:PI19<0><default><default><default>
gpio_pin_75 = port:PI20<0><default><default><default>
gpio_pin_82 = port:PE11<0><default><default><default>

[gl_para]
gl_used = 1
gl_num = 2
gl_status0 = 0
gl_reverse0 = 1
gl_light_time0 = 100
gl_black_time0 = 100
gl_gpio0 = port:PH15<1><0><default><1>
gl_status1 = 2
gl_reverse1 = 0
gl_light_time1 = 500
gl_black_time1 = 500
gl_gpio1 = port:PB02<1><0><default><1>

[gpio_init]
pin_1 = port:PH10<1><default><default><0>
pin_2 = port:PH20<1><default><default><1>

[dynamic]
MAC = "000000000000"

[al_para]
android_language = 0

[system]
recovery_key = port:PH16<0><1><default><default>

[dvfs_table]
max_freq = 1008000000
min_freq = 60000000
LV_count = 5
LV1_freq = 1056000000
LV1_volt = 1500
LV2_freq = 1008000000
LV2_volt = 1400
LV3_freq = 912000000
LV3_volt = 1350
LV4_freq = 864000000
LV4_volt = 1300
LV5_freq = 624000000
LV5_volt = 1250

[boot_disp]
output_type = 3
output_mode = 5
auto_hpd = 1
')

This is the gpio_para part:
$this->bbcode_second_pass_code('', '[gpio_para]
gpio_used = 1
gpio_num = 75
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:PG11<0><default><default><default>
gpio_pin_11 = port:PC03<0><default><default><default>
gpio_pin_12 = port:PC18<0><default><default><default>
gpio_pin_13 = port:PC19<0><default><default><default>
gpio_pin_14 = port:PC20<0><default><default><default>
gpio_pin_15 = port:PC21<0><default><default><default>
gpio_pin_16 = port:PC22<0><default><default><default>
gpio_pin_17 = port:PC23<0><default><default><default>
gpio_pin_18 = port:PC24<0><default><default><default>
gpio_pin_19 = port:PH00<0><default><default><default>
gpio_pin_20 = port:PH02<0><default><default><default>
gpio_pin_21 = port:PH07<0><default><default><default>
gpio_pin_22 = port:PH09<0><default><default><default>
gpio_pin_23 = port:PH10<0><default><default><default>
gpio_pin_24 = port:PH11<0><default><default><default>
gpio_pin_25 = port:PH12<0><default><default><default>
gpio_pin_26 = port:PH13<0><default><default><default>
gpio_pin_27 = port:PH14<0><default><default><default>
gpio_pin_28 = port:PH15<0><default><default><default>
gpio_pin_29 = port:PH16<0><default><default><default>
gpio_pin_30 = port:PH17<0><default><default><default>
gpio_pin_31 = port:PH18<0><default><default><default>
gpio_pin_32 = port:PH19<0><default><default><default>
gpio_pin_33 = port:PH20<0><default><default><default>
gpio_pin_34 = port:PH21<0><default><default><default>
gpio_pin_35 = port:PH22<0><default><default><default>
gpio_pin_36 = port:PH23<0><default><default><default>
gpio_pin_37 = port:PB03<0><default><default><default>
gpio_pin_38 = port:PB04<0><default><default><default>
gpio_pin_39 = port:PB05<0><default><default><default>
gpio_pin_40 = port:PB06<0><default><default><default>
gpio_pin_41 = port:PB07<0><default><default><default>
gpio_pin_42 = port:PB08<0><default><default><default>
gpio_pin_43 = port:PB10<0><default><default><default>
gpio_pin_44 = port:PB11<0><default><default><default>
gpio_pin_45 = port:PB12<0><default><default><default>
gpio_pin_46 = port:PB13<0><default><default><default>
gpio_pin_47 = port:PB14<0><default><default><default>
gpio_pin_48 = port:PB15<0><default><default><default>
gpio_pin_49 = port:PB16<0><default><default><default>
gpio_pin_50 = port:PB17<0><default><default><default>
gpio_pin_51 = port:PH24<0><default><default><default>
gpio_pin_52 = port:PH25<0><default><default><default>
gpio_pin_53 = port:PH26<0><default><default><default>
gpio_pin_54 = port:PH27<0><default><default><default>
gpio_pin_55 = port:PI00<0><default><default><default>
gpio_pin_56 = port:PI01<0><default><default><default>
gpio_pin_57 = port:PI02<0><default><default><default>
gpio_pin_58 = port:PI03<0><default><default><default>
gpio_pin_59 = port:PI04<0><default><default><default>
gpio_pin_60 = port:PI05<0><default><default><default>
gpio_pin_61 = port:PI06<0><default><default><default>
gpio_pin_62 = port:PI07<0><default><default><default>
gpio_pin_63 = port:PI08<0><default><default><default>
gpio_pin_64 = port:PI09<0><default><default><default>
gpio_pin_65 = port:PI10<0><default><default><default>
gpio_pin_66 = port:PI11<0><default><default><default>
gpio_pin_67 = port:PI12<0><default><default><default>
gpio_pin_68 = port:PI13<0><default><default><default>
gpio_pin_69 = port:PI14<0><default><default><default>
gpio_pin_70 = port:PI15<0><default><default><default>
gpio_pin_71 = port:PI16<0><default><default><default>
gpio_pin_72 = port:PI17<0><default><default><default>
gpio_pin_73 = port:PI18<0><default><default><default>
gpio_pin_74 = port:PI19<0><default><default><default>
gpio_pin_75 = port:PI20<0><default><default><default>
gpio_pin_82 = port:PE11<0><default><default><default>
')

In /sys/class/gpio I only have export and unexport. When I try to write to export i get:
$this->bbcode_second_pass_code('', '# echo "1" > export
-bash: echo: write error: Invalid argument')

I tried several different ports.

Do I perhaps need to load any kernel modules or something?
conchyliferous
 
Posts: 10
Joined: Fri Jul 11, 2014 8:32 pm

Re: Olinuxino Lime Allwinner A10

Postby PLyttle » Sat Jul 12, 2014 7:03 pm

The only thing I notice is that you listed 76 gpios, but declared 75 to be present.
If that is allowed or not I don't know.

Did you check here? http://linux-sunxi.org/GPIO, Maybe it helps.

LP
PLyttle
 
Posts: 120
Joined: Mon Jun 10, 2013 6:52 am

Re: Olinuxino Lime Allwinner A10

Postby PLyttle » Sat Jul 12, 2014 7:14 pm

I forgot...
type :
cat /proc/config.gz | gunzip | grep CONFIG_GPIO_SUNXI

you should get CONFIG_GPIO_SUNXI=y

when GPIOs are enabled in the kernel

LP
PLyttle
 
Posts: 120
Joined: Mon Jun 10, 2013 6:52 am

[SOLVED] Olinuxino Lime Allwinner A10

Postby conchyliferous » Sun Jul 13, 2014 7:31 am

That was the clue I needed! It works perfectly now.

The thing was that I got an 'm' for CONFIG_GPIO_SUNXI. And then I realised that the problem was the kernel image I saved from the previous Debian system. That image said 'm', but the actual module was not still around since Arch assumed a 'y'. So I dared to put the uImage from the Arch install on boot. The board still booted and worked like a charmer! :D

Thanks for all the help. I would hope that someone would put this kind of useful things on a wiki somewhere.

Also I belive that this is the first note that Arch Linux Arm work fine on an Olinuxino Lime. Hope that will make someone happy.
conchyliferous
 
Posts: 10
Joined: Fri Jul 11, 2014 8:32 pm

Re: Olinuxino Lime Allwinner A10

Postby PLyttle » Sun Jul 13, 2014 9:24 am

see, WarheadsSE was right (again).
PLyttle
 
Posts: 120
Joined: Mon Jun 10, 2013 6:52 am

Re: Olinuxino Lime Allwinner A10

Postby WarheadsSE » Sun Jul 13, 2014 7:40 pm

*cough*
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Next

Return to Allwinner

Who is online

Users browsing this forum: No registered users and 15 guests