Jump to content

GusAntoniassi

Members
  • Posts

    6
  • Joined

  • Last visited

Posts posted by GusAntoniassi

  1. Some commands that might be useful for debugging:
     

    Running a program as a new window through SSH:

    DISPLAY=:0.0 {program name}

    Running the program as "full screen" (no desktop environment):

    First we need to find the executable path. You can find it with "whereis". I'll use "glxgears" to illustrate:

    whereis glxgears

    You'll get something like:

    Quote

    glxgears: /usr/bin/glxgears /usr/share/man/man1/glxgears.1.gz

    The executable is usually in a "bin" folder.  For glxgears the path is /usr/bin/glxgears.

    Now we can run the program with startx through the framebuffer we're using for the screen:

    FRAMEBUFFER=/dev/fb0 startx /usr/bin/glxgears

     

  2. Hey guys, I've spent the last couple of weeks trying to get a TFT display with touch screen to work on my Orange Pi PC board, and I've decided to share my step-by-step solution here. This tutorial is heavily based on Guide: How to use Touchscreen + LCD on H3 devices by Kutysam, but I had to do some extra steps for it to work properly. This tutorial is only for Mainline kernel, I was able to get the graphical screen working with Kutysam's guide for Legacy, but couldn't make the touch work. 

     

    First of all this is the display I'm using: LCD module Pi TFT 3.5 inch (320*480) Touchscreen Display Module TFT for Raspberry Pi 3. I believe it is a clone of this Waveshare screen.

    Also, I am using the image Armbian_5.38_Orangepipc_Debian_stretch_next_4.14.14_desktop, but it should work for the headless version (server) too, if you install a display manager, desktop environment and the X server.

     

    All the commands below are assumed to be run as root user. If you're not root, add "sudo" to the beginning of each command.

    ---

     

    Preparation

    First of all make sure you have the latest package updates by running 

    apt-get update && apt-get upgrade

    This might take a while. If the packages have been installed successfully, reboot. On a fresh install I was getting the following error message:

    Quote

    E: Could not open file /var/lib/apt/lists/[...] open (2: No such file or directory)

    If that happens to you, just run the command again and it should download everything properly. If it still isn't working you could try cleaning the apt cache.

     

    After that, install these Make prerequisites:

    apt-get install build-essentials

    For some reason the linux-headers package for sunxi is not included in the repository, this thread might explain it better than me. Either way, download and install the package with dpkg:

    wget http://apt.armbian.com/pool/main/l/linux-4.14.18-sunxi/linux-headers-next-sunxi_5.41_armhf.deb
    dpkg -i linux-headers-next-sunxi_5.41_armhf.deb

    Now we need to edit armbianEnv.txt to enable the overlays for spi and cs1

    nano /boot/armbianEnv.txt

    Add the following lines to the end of the file (Be careful with spaces in the end of the lines... I lost a couple of days trying to figure out what the problem was when I had an extra space after "param_spidev_spi_bus=0" <_<)

    overlays=spi-spidev spi-add-cs1
    param_spidev_spi_bus=0
    param_spidev_spi_cs=1

    And reboot.

     

    Screen

    Now we need to configure fbtft and fbtft_device on boot. Note: I had to put "98" in the start of the filename, or else I'd get the following error: "fbtft_device: spi_busnum_to_master(0) returned NULL" in dmesg after I installed the touchscreen. I believe it has something to do with the load order, so if you're having problems with this file you could try changing the prefix to 99 or removing it.

    nano /etc/modules-load.d/98-fbtft.conf 

    Insert the following on the file:

    fbtft
    fbtft_device

    Now we have to load fbtft_device options on boot. Open the file with:

    nano /etc/modprobe.d/fbtft.conf

    Add the following:

    options fbtft_device rotate=90 name=piscreen speed=16000000 gpios=reset:2,dc:71 txbuflen=32768 fps=25

    And reboot. At this point your screen should at least turn black. For me, the GUI wouldn't load unless I typed 'startx' on the console. So this is how I fixed it to always display the GUI on boot:

    apt-get install xserver-xorg-video-fbdev
    nano /usr/share/X11/xorg.conf.d/99-fbdev.conf

    Insert this in the file:

    Section "Device"  
      Identifier "piscreen"
      Driver "fbdev"
      Option "fbdev" "/dev/fb0"
    EndSection

    At this point the screen should be displaying the Armbian GUI, with mouse and keyboard working, but without touch screen. Let's fix that.

     

    Touch

    First we need to download and compile the ads7846 driver (apparently it is compatible with xpt2046).

    mkdir ds7846 
    cd ds7846 
    wget https://sourceforge.net/p/openipmi/linux-ipmi/ci/master/tree/drivers/input/touchscreen/ads7846.c?format=raw
    mv ads7846.c?format=raw ads7846.c 
    nano Makefile

    Insert the following on the makefile:

    obj-m := ads7846.o 
    KDIR := /lib/modules/$(shell uname -r)/build 
    PWD := $(shell pwd) 
    all:
    	$(MAKE) -C $(KDIR) M=$(PWD) modules 
    clean:
    	$(MAKE) -C $(KDIR) M=$(PWD) clean 
    install:
    	$(MAKE) -C $(KDIR) M=$(PWD) modules_install

    Now let's compile and load the module into the kernel:

    make
    make install
    depmod

    Now we'll build and install the ads7846_device module from fbtft_tools:

    cd .. 
    git clone https://github.com/notro/fbtft_tools/
    cd fbtft_tools/ads7846_device 
    make 
    make install 
    depmod 

    Let's load ads7846 and ads7846_device on boot

    sudo nano /etc/modules-load.d/99-ads7846.conf

    After that let's load the options for ads7846_device. These configs worked best for me, but you can play with them and tweak if needed.

    nano /etc/modprobe.d/ads7846_device.conf

    Insert the following:

    options ads7846_device model=7846 cs=1 gpio_pendown=1 keep_vref_on=1 swap_xy=1 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900

    Reboot, and the touch should be working! 

    Well, for me not entirely. The Y axis seemed to be reversed, so here are the steps I took to configure it:

    First of all, we need xinput to configure the touch screen options. Install it with this command:

    apt-get install xinput

    Now we need to set the "swap_xy" option to 0 in ads7846_device configuration file. Open it with:

    nano /etc/modprobe.d/ads7846_device.conf

    Replace its contents with this:

    options ads7846_device model=7846 cs=0 gpio_pendown=1 keep_vref_on=1 swap_xy=0 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900

    Reboot to apply the changes. Now we need to find out the touchscreen name on xinput. Run this command:

    DISPLAY=:0.0 xinput list

    You should get a list of pointer devices, and the touchscreen should be on it. In my case the name is 'ADS7846 Touchscreen'. At this point you might get an "unable to connect to X server error". If that's the case, you can add the required X permissions for your user with the command (taken from this ask ubuntu answer):

    export XAUTHORITY=$(eval echo ~`who | grep tty7 | sed 's/\([a-z]*\).*/\1/'`)/.Xauthority

    And "xinput list" should be working. Now we can try to configure it with xinput's "set-prop" parameter:

    DISPLAY=:0.0 xinput --set-prop 'ADS7846 Touchscreen' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1

    Test your display to see if it works. This matrix worked best for me, but you might need to tweak it. Refer to this guide for more info on how coordinate transformation matrices work.

    Now you need to run this command every time the session starts. To automate it, I added the command to the .xsessionrc file:

    nano /home/{your username}/.xsessionrc

    Append the xinput set-prop command:

    DISPLAY=:0.0 xinput --set-prop 'ADS7846 Touchscreen' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1

    If you have multiple users logging in the session displayed on your screen, you might need to add this file for every user. ".xsessionrc" was the only file where I could get this working.

     

    And that's it! Your display + touch screen should be working properly now!

     

    I am still very newbie with Armbian and single board computers, and there is much I don't understand yet, so if you have any questions, comments or suggestions on this guide please post them below. See you all.

  3. Hey chwe, thanks for the replies! I will give Debian_stretch_next a try then when I have a little spare time.

     

    Just so I can understand, both Debian_stretch_next and Debian_stretch_next_desktop are mainline, the only difference being the GUI?

    I was under the impression that GUI images were legacy and CLI images were mainline.

     

    I'll post the results as soon as I have something!

  4. 5 hours ago, chwe said:

    is not mainline..  that's the old legacy kernel.

     

    you might need to know which driver is needed for your display.. and which touchdriver... 

     

    Isn't legacy Armbian_5.38_Orangepipc_Ubuntu_xenial_default_3.4.113_desktop ? That's what I got from the download page.

     

    In the box where the display came in there is a label that says "Driver: ILI9486", but from what I've seen this is a waveshare 3.5" display clone, and apparently it works with ADS7846 touch screen driver.  The display itself worked with no problems by just configuring fbtft. 

  5. Greetings all.

     

    I've bought an Orange Pi PC recently, along with this screen, and I wanted to make the touch screen work on it.

    I have tried following this tutorial and this one, but so far I was only able to get the screen working.

    Currently installed image is: Armbian_5.35_Orangepipc_Debian_jessie_default_3.4.113. 

     

     

    When I run `evtest` the only devices detected are `vmouse`, `sunxi-gpiokey` and `sunxi-ths`.

    I tried installing a GUI with xorg, lightdm and xfce. To show the GUI on the display I am using the following command:

    FRAMEBUFFER=/dev/fb8 startx

    But touch still isn't working.

     

    This is the output of armbianmonitor -u: http://ix.io/18t5

     

    This is my armbianEnv.txt:

    Spoiler

    verbosity=1
    console=both
    overlay_prefix=sun8i-h3
    rootdev=UUID=4e480977-eceb-4d3c-a360-936d4336ded5
    rootfstype=ext4
    overlays=spi-spidev spi-add-cs1 
    param_spidev_spi_bus=0 
    param_spidev_spi_cs=1
    usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

     

    This is my orangepipc.fex

    Spoiler
    
    [product]
    version = "100"
    machine = "Xunlong Orange Pi PC"
    
    [platform]
    debug_mode = 1
    eraseflag = 1
    next_work = 2
    
    [target]
    boot_clock = 1008
    storage_type = -1
    
    [key_detect_en]
    keyen_flag = 0
    
    [fel_key]
    fel_key_max = 7
    fel_key_min = 2
    
    [card_boot]
    logical_start = 40960
    sprite_work_delay = 500
    sprite_err_delay = 200
    sprite_gpio0 = port:PL10<1><default><default><default>
    next_work = 3
    
    [box_start_os]
    used = 1
    start_type = 1
    irkey_used = 1
    pmukey_used = 1
    pmukey_num = 3
    led_power = 0
    led_state = 0
    
    [boot_init_gpio]
    used = 1
    gpio0 = port:PL10<1><default><default><1>
    gpio1 = port:PG11<1><default><default><1>
    
    [recovery_para]
    used = 1
    mode = 2
    recovery_key = port:PL04<0><default><default><default>
    
    [pm_para]
    standby_mode = 1
    
    [card0_boot_para]
    card_ctrl = 0
    card_high_speed = 1
    card_line = 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>
    
    [card2_boot_para]
    card_ctrl = 2
    card_high_speed = 1
    card_line = 8
    sdc_cmd = port:PC06<3><1><2><default>
    sdc_clk = port:PC05<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_d4 = port:PC12<3><1><2><default>
    sdc_d5 = port:PC13<3><1><2><default>
    sdc_d6 = port:PC14<3><1><2><default>
    sdc_d7 = port:PC15<3><1><2><default>
    sdc_2xmode = 1
    sdc_ddrmode = 1
    
    [twi_para]
    twi_port = 0
    twi_scl = port:PA11<2><default><default><default>
    twi_sda = port:PA12<2><default><default><default>
    
    [uart_para]
    uart_debug_port = 0
    uart_debug_tx = port:PA04<2><1><default><default>
    uart_debug_rx = port:PA05<2><1><default><default>
    
    [force_uart_para]
    force_uart_port = 0
    force_uart_tx = port:PF02<3><1><default><default>
    force_uart_rx = port:PF04<3><1><default><default>
    
    [jtag_para]
    jtag_enable = 0
    jtag_ms = port:PA00<3><default><default><default>
    jtag_ck = port:PA01<3><default><default><default>
    jtag_do = port:PA02<3><default><default><default>
    jtag_di = port:PA03<3><default><default><default>
    
    [clock]
    pll_video = 297
    pll_ve = 402
    pll_periph0 = 600
    pll_gpu = 576
    pll_periph1 = 600
    pll_de = 864
    
    [dram_para]
    dram_clk = 624
    dram_type = 3
    dram_zq = 0x3b3bfb
    dram_odt_en = 1
    dram_para1 = 283377664
    dram_para2 = 0
    dram_mr0 = 6208
    dram_mr1 = 64
    dram_mr2 = 24
    dram_mr3 = 2
    dram_tpr0 = 0x48a192
    dram_tpr1 = 0x1c2418d
    dram_tpr2 = 0x76051
    dram_tpr3 = 0x0
    dram_tpr4 = 0x0
    dram_tpr5 = 0x0
    dram_tpr6 = 0x64
    dram_tpr7 = 0x0
    dram_tpr8 = 0x0
    dram_tpr9 = 0x0
    dram_tpr10 = 0x0
    dram_tpr11 = 0x6aaa0000
    dram_tpr12 = 0x7979
    dram_tpr13 = 0x800800
    
    [wakeup_src_para]
    cpu_en = 0
    cpu_freq = 48
    pll_ratio = 273
    dram_selfresh_en = 1
    dram_freq = 36
    wakeup_src0 =
    wakeup_src_wl = port:PG10<4><default><default><0>
    wakeup_src_bt = port:PL03<6><default><default><0>
    
    [twi0]
    twi_used = 1
    twi_scl = port:PA11<2><default><default><default>
    twi_sda = port:PA12<2><default><default><default>
    
    [twi1]
    twi_used = 1
    twi_scl = port:PA18<3><default><default><default>
    twi_sda = port:PA19<3><default><default><default>
    
    [twi2]
    twi_used = 0
    twi_scl = port:PE12<3><default><default><default>
    twi_sda = port:PE13<3><default><default><default>
    
    [uart0]
    uart_used = 1
    uart_port = 0
    uart_type = 2
    uart_tx = port:PA04<2><1><default><default>
    uart_rx = port:PA05<2><1><default><default>
    
    [uart1]
    uart_used = 0
    uart_port = 1
    uart_type = 4
    uart_tx = port:PG06<2><1><default><default>
    uart_rx = port:PG07<2><1><default><default>
    uart_rts = port:PG08<2><1><default><default>
    uart_cts = port:PG09<2><1><default><default>
    
    [uart2]
    uart_used = 0
    uart_port = 2
    uart_type = 4
    uart_tx = port:PA00<2><1><default><default>
    uart_rx = port:PA01<2><1><default><default>
    uart_rts = port:PA02<2><1><default><default>
    uart_cts = port:PA03<2><1><default><default>
    
    [uart3]
    uart_used = 0
    uart_port = 3
    uart_type = 4
    uart_tx = port:PA13<3><1><default><default>
    uart_rx = port:PA14<3><1><default><default>
    uart_rts = port:PA15<3><1><default><default>
    uart_cts = port:PA16<3><1><default><default>
    
    [spi0]
    spi_used = 1
    spi_cs_bitmap = 1
    spi_mosi = port:PC00<3><default><default><default>
    spi_miso = port:PC01<3><default><default><default>
    spi_sclk = port:PC02<3><default><default><default>
    spi_cs0 = port:PC03<3><1><default><default>
    
    [spi1]
    spi_used = 1
    spi_cs_bitmap = 1
    spi_cs0 = port:PA13<2><1><default><default>
    spi_sclk = port:PA14<2><default><default><default>
    spi_mosi = port:PA15<2><default><default><default>
    spi_miso = port:PA16<2><default><default><default>
    
    [spi_devices]
    spi_dev_num = 2
    
    [spi_board0]
    modalias = "spidev"
    max_speed_hz = 33000000
    bus_num = 0
    chip_select = 0
    mode = 0
    full_duplex = 1
    manual_cs = 0
    
    [spi_board1]
    modalias = "spidev"
    max_speed_hz = 33000000
    bus_num = 2
    chip_select = 0
    mode = 0
    full_duplex = 1
    manual_cs = 0
    
    
    [gpio_para]
    gpio_used = 0
    gpio_num = 0
    
    [leds_para]
    leds_used = 1
    green_led = port:PL10<1><default><default><1>
    green_led_active_low = 0
    red_led = port:PA15<1><default><default><0>
    red_led_active_low = 0
    
    [ths_para]
    ths_used = 1
    ths_trip1_count = 6
    ths_trip1_0 = 75
    ths_trip1_1 = 80
    ths_trip1_2 = 85
    ths_trip1_3 = 90
    ths_trip1_4 = 95
    ths_trip1_5 = 105
    ths_trip1_6 = 0
    ths_trip1_7 = 0
    ths_trip1_0_min = 0
    ths_trip1_0_max = 1
    ths_trip1_1_min = 1
    ths_trip1_1_max = 2
    ths_trip1_2_min = 2
    ths_trip1_2_max = 3
    ths_trip1_3_min = 3
    ths_trip1_3_max = 4
    ths_trip1_4_min = 4
    ths_trip1_4_max = 8
    ths_trip1_5_min = 8
    ths_trip1_5_max = 8
    ths_trip1_6_min = 0
    ths_trip1_6_max = 0
    ths_trip2_count = 1
    ths_trip2_0 = 105
    
    [cooler_table]
    cooler_count = 9
    cooler0 = "1296000 4 4294967295 0"
    cooler1 = "1200000 4 4294967295 0"
    cooler2 = "1008000 4 4294967295 0"
    cooler3 = "816000 4 4294967295 0"
    cooler4 = "648000 4 4294967295 0"
    cooler5 = "480000 4 4294967295 0"
    cooler6 = "480000 3 4294967295 0"
    cooler7 = "480000 2 4294967295 0"
    cooler8 = "480000 1 4294967295 0"
    
    [nand0_para]
    nand_support_2ch = 0
    nand0_used = 0
    nand0_we = port:PC00<2><default><default><default>
    nand0_ale = port:PC01<2><default><default><default>
    nand0_cle = port:PC02<2><default><default><default>
    nand0_ce1 = port:PC03<2><default><default><default>
    nand0_ce0 = port:PC04<2><default><default><default>
    nand0_nre = port:PC05<2><default><default><default>
    nand0_rb0 = port:PC06<2><default><default><default>
    nand0_rb1 = port:PC07<2><default><default><default>
    nand0_d0 = port:PC08<2><default><default><default>
    nand0_d1 = port:PC09<2><default><default><default>
    nand0_d2 = port:PC10<2><default><default><default>
    nand0_d3 = port:PC11<2><default><default><default>
    nand0_d4 = port:PC12<2><default><default><default>
    nand0_d5 = port:PC13<2><default><default><default>
    nand0_d6 = port:PC14<2><default><default><default>
    nand0_d7 = port:PC15<2><default><default><default>
    nand0_ndqs = port:PC16<2><default><default><default>
    
    [boot_disp]
    advert_disp = 0
    auto_hpd = 1
    output_type = 4
    hdmi_channel = 0
    hdmi_mode = 4
    cvbs_channel = 1
    cvbs_mode = 11
    output_full = 1
    hdmi_mode_check = 1
    
    [disp_init]
    disp_init_enable = 1
    disp_mode = 0
    screen0_output_type = 3
    screen0_output_mode = 5
    screen1_output_type = 3
    screen1_output_mode = 5
    fb0_format = 0
    fb0_width = 0
    fb0_height = 0
    fb1_format = 0
    fb1_width = 0
    fb1_height = 0
    
    [hdmi_para]
    hdmi_used = 1
    hdmi_power = "vcc-hdmi-18"
    
    [tv_para]
    tv_used = 0
    tv_dac_used = 1
    tv_dac_src0 = 0
    
    [pwm0_para]
    pwm_used = 0
    pwm_positive = port:PA05<3><0><default><default>
    
    [gmac0]
    gmac_used = 2
    gmac_power1 =
    
    [csi0]
    vip_used = 1
    vip_mode = 0
    vip_dev_qty = 1
    vip_define_sensor_list = 0
    vip_csi_pck = port:PE00<2><default><default><default>
    vip_csi_mck = port:PE01<2><default><default><default>
    vip_csi_hsync = port:PE02<2><default><default><default>
    vip_csi_vsync = port:PE03<2><default><default><default>
    vip_csi_d0 = port:PE04<2><default><default><default>
    vip_csi_d1 = port:PE05<2><default><default><default>
    vip_csi_d2 = port:PE06<2><default><default><default>
    vip_csi_d3 = port:PE07<2><default><default><default>
    vip_csi_d4 = port:PE08<2><default><default><default>
    vip_csi_d5 = port:PE09<2><default><default><default>
    vip_csi_d6 = port:PE10<2><default><default><default>
    vip_csi_d7 = port:PE11<2><default><default><default>
    vip_csi_sck = port:PE12<2><default><default><default>
    vip_csi_sda = port:PE13<2><default><default><default>
    vip_dev0_mname = "gc2035"
    vip_dev0_pos = "front"
    vip_dev0_lane = 1
    vip_dev0_twi_id = 2
    vip_dev0_twi_addr = 120
    vip_dev0_isp_used = 0
    vip_dev0_fmt = 0
    vip_dev0_stby_mode = 0
    vip_dev0_vflip = 1
    vip_dev0_hflip = 1
    vip_dev0_iovdd = ""
    vip_dev0_iovdd_vol = 2800000
    vip_dev0_avdd = ""
    vip_dev0_avdd_vol = 2800000
    vip_dev0_dvdd = ""
    vip_dev0_dvdd_vol = 1800000
    vip_dev0_afvdd = ""
    vip_dev0_afvdd_vol = 2800000
    vip_dev0_power_en = port:PA17<1><default><default><1>
    vip_dev0_reset = port:PE14<1><default><default><1>
    vip_dev0_pwdn = port:PE15<1><default><default><0>
    vip_dev0_flash_en =
    vip_dev0_flash_mode =
    vip_dev0_af_pwdn =
    vip_dev0_act_used = 0
    vip_dev0_act_name = "ad5820_act"
    vip_dev0_act_slave = 24
    vip_dev1_mname = ""
    vip_dev1_pos = "rear"
    vip_dev1_lane = 1
    vip_dev1_twi_id = 0
    vip_dev1_twi_addr =
    vip_dev1_isp_used = 0
    vip_dev1_fmt = 1
    vip_dev1_stby_mode = 0
    vip_dev1_vflip = 0
    vip_dev1_hflip = 0
    vip_dev1_iovdd = ""
    vip_dev1_iovdd_vol = 2800000
    vip_dev1_avdd = ""
    vip_dev1_avdd_vol = 2800000
    vip_dev1_dvdd = ""
    vip_dev1_dvdd_vol = 1500000
    vip_dev1_afvdd = ""
    vip_dev1_afvdd_vol = 2800000
    vip_dev1_power_en =
    vip_dev1_reset =
    vip_dev1_pwdn =
    vip_dev1_flash_en =
    vip_dev1_flash_mode =
    vip_dev1_af_pwdn =
    
    [tvout_para]
    tvout_used = 0
    tvout_channel_num =
    tv_en = 0
    
    [tvin_para]
    tvin_used = 0
    tvin_channel_num =
    
    [di_para]
    di_used = 1
    
    [mmc0_para]
    sdc_used = 1
    sdc_detmode = 3
    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:PF06<0><1><2><default>
    sdc_use_wp = 0
    sdc_wp =
    sdc_isio = 0
    sdc_regulator = "none"
    sdc_power_supply = "none"
    
    [mmc1_para]
    sdc_used = 1
    sdc_detmode = 4
    sdc_buswidth = 4
    sdc_clk = port:PG00<2><1><3><default>
    sdc_cmd = port:PG01<2><1><3><default>
    sdc_d0 = port:PG02<2><1><3><default>
    sdc_d1 = port:PG03<2><1><3><default>
    sdc_d2 = port:PG04<2><1><3><default>
    sdc_d3 = port:PG05<2><1><3><default>
    sdc_det =
    sdc_use_wp = 0
    sdc_wp =
    sdc_isio = 1
    sdc_regulator = "none"
    sdc_power_supply = "none"
    sdc_2xmode = 1
    sdc_ddrmode = 1
    
    [mmc2_para]
    sdc_used = 0
    sdc_detmode = 3
    sdc_buswidth = 8
    sdc_clk = port:PC05<3><1><2><default>
    sdc_cmd = port:PC06<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_d4 = port:PC12<3><1><2><default>
    sdc_d5 = port:PC13<3><1><2><default>
    sdc_d6 = port:PC14<3><1><2><default>
    sdc_d7 = port:PC15<3><1><2><default>
    emmc_rst = port:PC16<3><1><2><default>
    sdc_det =
    sdc_use_wp = 0
    sdc_wp =
    sdc_isio = 0
    sdc_regulator = "none"
    sdc_power_supply = "none"
    sdc_2xmode = 1
    sdc_ddrmode = 1
    
    [smc_para]
    smc_used = 0
    smc_rst = port:PA09<2><default><default><default>
    smc_vppen = port:PA20<3><default><default><default>
    smc_vppp = port:PA21<3><default><default><default>
    smc_det = port:PA10<2><default><default><default>
    smc_vccen = port:PA06<2><default><default><default>
    smc_sck = port:PA07<2><default><default><default>
    smc_sda = port:PA08<2><default><default><default>
    
    [usbc0]
    usb_used = 1
    usb_port_type = 2
    usb_detect_type = 0
    usb_id_gpio = port:PG12<0><1><default><default>
    usb_det_vbus_gpio = port:PG12<0><1><default><default>
    usb_drv_vbus_gpio = port:PL02<1><0><default><0>
    usb_host_init_state = 1
    usb_restrict_gpio =
    usb_restric_flag = 0
    usb_restric_voltage = 3550000
    usb_restric_capacity = 5
    usb_regulator_io = "nocare"
    usb_regulator_vol = 0
    usb_not_suspend = 0
    
    [usbc1]
    usb_used = 1
    usb_drv_vbus_gpio =
    usb_restrict_gpio =
    usb_host_init_state = 1
    usb_restric_flag = 0
    usb_regulator_io = "nocare"
    usb_regulator_vol = 0
    usb_not_suspend = 0
    
    [usbc2]
    usb_used = 1
    usb_drv_vbus_gpio =
    usb_restrict_gpio =
    usb_host_init_state = 1
    usb_restric_flag = 0
    usb_regulator_io = "nocare"
    usb_regulator_vol = 0
    usb_not_suspend = 0
    
    [usbc3]
    usb_used = 1
    usb_drv_vbus_gpio =
    usb_restrict_gpio =
    usb_host_init_state = 1
    usb_restric_flag = 0
    usb_regulator_io = "nocare"
    usb_regulator_vol = 0
    usb_not_suspend = 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
    
    [serial_feature]
    serial_unique = 0
    
    [module_para]
    module_num = 7
    module_power0 = "vcc-wifi-33"
    module_power0_vol = 0
    module_power1 =
    module_power1_vol =
    module_power2 =
    module_power2_vol =
    module_power3 =
    module_power3_vol =
    chip_en =
    lpo_use_apclk =
    
    [wifi_para]
    wifi_used = 0
    wifi_sdc_id = 1
    wifi_usbc_id = 5
    wifi_usbc_type = 1
    wl_reg_on = port:PL07<1><default><default><0>
    wl_host_wake = port:PG10<0><default><default><0>
    wl_host_wake_invert = 0
    
    [bt_para]
    bt_used = 0
    bt_uart_id = 1
    bt_rst_n =
    bt_wake =
    bt_host_wake =
    bt_host_wake_invert = 0
    
    [pcm0]
    daudio_used = 0
    daudio_master = 4
    daudio_select = 1
    audio_format = 1
    signal_inversion = 1
    mclk_fs = 128
    sample_resolution = 16
    slot_width_select = 32
    pcm_lrck_period = 32
    pcm_lrckr_period = 1
    msb_lsb_first = 0
    sign_extend = 0
    slot_index = 0
    slot_width = 32
    frame_width = 0
    tx_data_mode = 0
    rx_data_mode = 0
    i2s_mclk = port:PA18<2><1><default><default>
    i2s_bclk = port:PA19<2><1><default><default>
    i2s_dout0 = port:PA20<2><1><default><default>
    i2s_din = port:PA21<2><1><default><default>
    
    [pcm1]
    daudio_used = 0
    daudio_master = 4
    daudio_select = 1
    audio_format = 1
    signal_inversion = 1
    mclk_fs = 128
    sample_resolution = 16
    slot_width_select = 32
    pcm_lrck_period = 32
    pcm_lrckr_period = 1
    msb_lsb_first = 0
    sign_extend = 0
    slot_index = 0
    slot_width = 32
    frame_width = 0
    tx_data_mode = 0
    rx_data_mode = 0
    i2s_mclk = port:PG10<2><1><default><default>
    i2s_bclk = port:PG11<2><1><default><default>
    i2s_dout0 = port:PG12<2><1><default><default>
    i2s_din = port:PG13<2><1><default><default>
    
    [audio0]
    audio_used = 1
    lineout_vol = 31
    cap_vol = 5
    audio_hp_ldo = "none"
    adcagc_used = 0
    adcdrc_used = 0
    dacdrc_used = 0
    adchpf_used = 0
    dachpf_used = 0
    audio_pa_ctrl = port:PA16<1><default><default><0>
    
    [spdif0]
    spdif_used = 0
    spdif_dout = port:PA17<2><1><default><default>
    
    [audiohub]
    hub_used = 0
    codec_used = 1
    spdif_used = 1
    hdmi_used = 1
    
    [s_cir0]
    ir_used = 1
    ir_rx = port:PL11<2><1><default><default>
    ir_power_key_code0 = 87
    ir_addr_code0 = 40704
    ir_power_key_code1 = 26
    ir_addr_code1 = 64260
    ir_power_key_code2 = 20
    ir_addr_code2 = 32640
    ir_power_key_code3 = 21
    ir_addr_code3 = 32640
    ir_power_key_code4 = 11
    ir_addr_code4 = 63240
    ir_power_key_code5 = 3
    ir_addr_code5 = 239
    ir_power_key_code6 = 159
    ir_addr_code6 = 19635
    ir_power_key_code7 = 10
    ir_addr_code7 = 30536
    ir_power_key_code8 = 69
    ir_addr_code8 = 48386
    ir_power_key_code9 = 77
    ir_addr_code9 = 56865
    ir_power_key_code10 = 24
    ir_addr_code10 = 65025
    ir_power_key_code11 = 87
    ir_addr_code11 = 65280
    ir_power_key_code12 = 77
    ir_addr_code12 = 65344
    
    [cir]
    ir_used = 1
    ir_tx = port:PH07<2><default><default><default>
    
    [dvfs_table]
    pmuic_type = 2
    pmu_gpio0 = port:PL06<1><1><2><1>
    pmu_level0 = 11300
    pmu_level1 = 1100
    extremity_freq = 1296000000
    max_freq = 1200000000
    min_freq = 480000000
    LV_count = 7
    LV1_freq = 1296000000
    LV1_volt = 1320
    LV2_freq = 1200000000
    LV2_volt = 1240
    LV3_freq = 1104000000
    LV3_volt = 1180
    LV4_freq = 1008000000
    LV4_volt = 1140
    LV5_freq = 960000000
    LV5_volt = 1080
    LV6_freq = 816000000
    LV6_volt = 1020
    LV7_freq = 480000000
    LV7_volt = 980
    
    [gpu_dvfs_table]
    G_LV_count = 3
    G_LV0_freq = 312000000
    G_LV0_volt = 1200000
    G_LV1_freq = 384000000
    G_LV1_volt = 1200000
    G_LV2_freq = 456000000
    G_LV2_volt = 1200000
    
    [Vdevice]
    Vdevice_used = 0
    Vdevice_0 = port:PH10<5><1><2><default>
    Vdevice_1 = port:PH11<5><1><2><default>
    
    [s_uart0]
    s_uart_used = 0
    s_uart_tx = port:PL02<2><default><default><default>
    s_uart_rx = port:PL03<2><default><default><default>
    
    [s_rsb0]
    s_rsb_used = 1
    s_rsb_sck = port:PL00<2><1><2><default>
    s_rsb_sda = port:PL01<2><1><2><default>
    
    [s_jtag0]
    s_jtag_used = 0
    s_jtag_tms = port:PL04<2><1><2><default>
    s_jtag_tck = port:PL05<2><1><2><default>
    s_jtag_tdo = port:PL06<2><1><2><default>
    s_jtag_tdi = port:PL07<2><1><2><default>
    
    [s_powchk]
    s_powchk_used = -2147483648
    s_power_reg = 0
    s_system_power = 50
    
    [sim0]
    scr_used = 0
    scr_vccen = port:PA06<2><default><default><default>
    scr_slk = port:PA07<2><default><default><default>
    scr_sda = port:PA08<2><default><default><default>
    scr_rst = port:PA09<2><default><default><default>
    scr_det = port:PA10<2><default><default><default>
    
    [ts0]
    tsc_used = 0
    tsc_clk = port:PE00<3><default><default><default>
    tsc_err = port:PE01<3><default><default><default>
    tsc_sync = port:PE02<3><default><default><default>
    tsc_dvld = port:PE03<3><default><default><default>
    tsc_d0 = port:PE04<3><default><default><default>
    tsc_d1 = port:PE05<3><default><default><default>
    tsc_d2 = port:PE06<3><default><default><default>
    tsc_d3 = port:PE07<3><default><default><default>
    tsc_d4 = port:PE08<3><default><default><default>
    tsc_d5 = port:PE09<3><default><default><default>
    tsc_d6 = port:PE10<3><default><default><default>
    tsc_d7 = port:PE11<3><default><default><default>
    
    [gpio_power_key]
    key_used = 1
    key_io = port:PL03<6><default><default><0>
    
    [key_para]
    key_used = 0
    key_cnt = 5
    key1_vol = 222
    key2_vol = 444
    key3_vol = 666
    key4_vol = 857
    key5_vol = 2000
    
    [d7s_para]
    d7s_used = 0
    din_gpio = port:PD00<1><default><default><1>
    clk_gpio = port:PD01<1><default><default><1>
    stb_gpio = port:PD02<1><default><default><1>
    
    [mali_para]
    mali_used = 1
    mali_clkdiv = 1
    mali_extreme_freq = 600
    mali_extreme_vol = 1400
    
    [w1_para]
    w1_used = 1
    gpio = 20
    
    [corekeeper]
    corekeeper_enabled = 1
    

     

     

    And this is the output of `ls /dev/`. I believe there should be /dev/spi0.0 listed, but there isn't. 

    Spoiler
    
    apm_bios
    audio
    audio1
    autofs
    block
    bsg
    btrfs-control
    bus
    cachefiles
    cedar_dev
    char
    console
    cpu_dma_latency
    cuse
    disk
    disp
    dsp
    dsp1
    fb0
    fb1
    fb2
    fb3
    fb4
    fb5
    fb6
    fb7
    fb8
    fd
    full
    fuse
    hdmi
    i2c-0
    i2c-1
    initctl
    input
    ion
    kmsg
    log
    loop0
    loop1
    loop2
    loop3
    loop4
    loop5
    loop6
    loop7
    loop-control
    mapper
    mem
    misc_fatfs
    mmcblk0
    mmcblk0p1
    mqueue
    net
    network_latency
    network_throughput
    null
    ppp
    psaux
    ptmx
    pts
    ram0
    ram1
    ram2
    ram3
    ram4
    ram5
    ram6
    ram7
    random
    rfkill
    rtc
    rtc0
    sda
    shm
    snd
    stderr
    stdin
    stdout
    sunxi-reg
    sunxi_soc_info
    tty
    tty0
    tty1
    tty10
    tty11
    tty12
    tty13
    tty14
    tty15
    tty16
    tty17
    tty18
    tty19
    tty2
    tty20
    tty21
    tty22
    tty23
    tty24
    tty25
    tty26
    tty27
    tty28
    tty29
    tty3
    tty30
    tty31
    tty32
    tty33
    tty34
    tty35
    tty36
    tty37
    tty38
    tty39
    tty4
    tty40
    tty41
    tty42
    tty43
    tty44
    tty45
    tty46
    tty47
    tty48
    tty49
    tty5
    tty50
    tty51
    tty52
    tty53
    tty54
    tty55
    tty56
    tty57
    tty58
    tty59
    tty6
    tty60
    tty61
    tty62
    tty63
    tty7
    tty8
    tty9
    ttyS0
    tv
    uhid
    uinput
    urandom
    usbdev1.1
    usbdev2.1
    usbdev3.1
    usbdev4.1
    usbdev4.3
    usbdev5.1
    usbdev6.1
    usbdev7.1
    usbdev8.1
    vcs
    vcs1
    vcs2
    vcs3
    vcs4
    vcs5
    vcs6
    vcs7
    vcsa
    vcsa1
    vcsa2
    vcsa3
    vcsa4
    vcsa5
    vcsa6
    vcsa7
    vmouse
    watchdog
    xconsole
    zero

     


    I believe that is all. If I forgot to add some info please tell me and I'll try to get it right away.

     

    Thanks in advance for your attention.

     

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines