Fex Guide

Translated from Chinese

FEX Description
A FEX file defines various aspects of how the SoC works. It configures the GPIO pins and sets up DRAM, Display, etc parameters.

Each line consists of a key = value pair combination under a [sectionheader]. All three, [sectionheader], key and value are case-sensitive. For comments a semi-colon (;) is used and everything following a semi-colon is ignored. The chip does not parse a textual version of a fex file, it gets cleaned and compiled by a fex-compiler. A reverse engineerd open source version exists in the [sunxi-tools]. Also a de-compiler which takes a binary script.bin and creates a textual script.fex. Usually, script.bin can be found on the nanda boot partition on A10 devices.

Port Definitions
Description of the GPIO configuration in the form:


 * port: 

where:


 * is the port to configure (ie. PH15)


 * is the function to configure the port for, mux 0 is as input, mux 1 as output and for 2-7 see A10/PIO for details.


 *  is 0 = disabled; 1 = pullup enabled; 2 = pulldown enabled (only valid when port is an input)


 * defines the output drive in mA, values are 0-3 corresponding to 10mA, 20mA, 30mA and 40mA.


 * sets the initial output level for the port; 0 = low; 1 = high (only valid for outputs)

The ; and can be set to which means don't change. Any trailing options can be omitted.

[product]
Product version and description. It seems all fex files at this moment are at version 1.0 and use the default evaluation board name. It doesn't appear to be used internally, but requires further investigation.

 [product] version = "1.0" version = "A10-EVB-V1.2"
 * version: string indicating fex file version.
 * machine: string indicating the board name. "A10-EVB-V1.2" appears to be a common one, seemingly to refer to the A10 Evaluation board v1.2.

[target]
Note: blue module chip pin configuration, the black module internal control configuration

Configuration items to configure the meaning of
 * boot_clock: Initial boot frequency in MHz.
 * dcdc2_vol: Dcdc2 output voltage in mV.
 * dcdc3_vol: Dcdc3 output voltage in mV.
 * ldo2_vol: Ldo2 output voltage in mV.
 * ldo3_vol: Ldo3 output voltage in mV.
 * ldo4_vol: Ldo4 output voltage in mV.
 * power_start: 0 or 1.
 * storage_type: 0 = nand, 1 = SDCard, 2 = SPI-nor

Configuration example:  [target] boot_clock = 1008 dcdc2_vol = 1400 dcdc3_vol = 1250 ldo2_vol = 3000 ldo3_vol = 2800 ldo4_vol = 2800 pll4_freq = 960 pll6_freq = 960 power_start = 1 storage_type = 0

[card_burn_para]
Configuration example:  [card_burn_para] card_no = 0 card_line = 4 card_mode = 0 sdc_d1 = port:PF00<2><1> sdc_d0 = port:PF01<2><1> sdc_clk = port:PF02<2><1> sdc_cmd = port:PF03<2><1> sdc_d3 = port:PF04<2><1> sdc_d2 = port:PF05<2><1>

[card_boot]

 * logical_start: logical starting address when booting from SD-Card.
 * sprite_gpio0:

Configuration example:  [Card_boot] logical_start = 40960 sprite_gpio0 =

[card_boot0_para]

 * card_ctrl: card controller to be used
 * card_high_speed: 0 for low speed, 1 for high-speed
 * card_line: Number of card data lines
 * sdc_ cmd: SD-Card command signals GPIO configuration
 * sdc_ clk: SD-Card clock signal GPIO configuration
 * sdc_ d0: SD-Card data 0 line signal GPIO configuration
 * sdc_ d1: SD-Card data 1 line signal GPIO configuration
 * sdc_d2: SD-Card data 2 line signal GPIO configuration
 * sdc_d3: SD-Card data 3 line signal GPIO configuration

Configuration example:  [card_boot0_para] card_ctrl = 0 card_high_speed = 1 card_line = 4 sdc_d1 = port:PF00<2><1> sdc_d0 = port:PF01<2><1> sdc_clk = port:PF02<2><1> sdc_cmd = port:PF03<2><1> sdc_d3 = port:PF04<2><1> sdc_d2 = port:PF05<2><1>

[card_boot2_para]

 * card_ctrl: card controller to be used
 * card_high_speed: 0 for low speed, 1 for high-speed
 * card_line: number of card data lines
 * sdc_ cmd: SD-Card command signals GPIO configuration
 * sdc_ clk: SD-Card clock signal GPIO configuration
 * sdc_ d0: SD-Card data 0 line signal GPIO configuration
 * sdc_ d1: SD-Card data 1 line signal GPIO configuration
 * sdc_d2: SD-Card data 2 line signal GPIO configuration
 * sdc_d3: SD-Card data 3 line signal GPIO configuration

Configuration example:  [card_boot2_para] card_ctrl = 2 card_high_speed = 1 card_line = 4 sdc_cmd = port:PC06<3><1> sdc_clk = port:PC07<3><1> sdc_d0 = port:PC08<3><1> sdc_d1 = port:PC09<3><1> sdc_d2 = port:PC10<3><1> sdc_d3 = port:PC11<3><1>

[twi_para]
twi controller to enable during/for boot.


 * twi_port: twi controller to configure
 * twi_scl: twi Serial CLock line GPIO configuration
 * twi_sda: = twi Serial DAta line GPIO configuration

Configuration example:  [twi_para] twi_port = 0 twi_scl = port:PB00<2> twi_sda = port:PB01<2>

[uart_para]
Serial port to be enabled during/for boot.


 * uart_debug_port: serial controller number
 * uart_debug_tx: serial port TX line GPIO configuration
 * uart_debug_rx: serial port RX line GPIO configuration

Configuration example:  [uart_para] uart_debug_port = 0 uart_debug_tx = port:PB22<2> uart_debug_rx = port:PB23<2>

[jtag_para]
JTAG port to be enabled during/for boot.


 * jtag_enable: 0 to disable JTAG, 1 to enable JTAG
 * jtag_ms: JTAG Test Mode Select (TMS) GPIO configuration
 * jtag_ck: JTAG Test Clock (TCK) GPIO configuration
 * jtag_do: JTAG Test Data Output (TDO) GPIO configuration
 * jtag_di: JTAG Test Data Input (TDI) GPIO configuration

Configuration example:  [jtag_para] jtag_enable = 1 jtag_ms = port:PB14<3> jtag_ck = port:PB15<3>default> jtag_do = port:PB16<3>default> jtag_di = port:PB17<3>default>

[dram_para]
SD-Ram is usually configured via livesuit when flashing. Livesuit probes the hardware or knows about the hardware and its configuration and configures the SoC accordingly. This luxury is not available from Linux and thus sdram parameters have to be set up by hand.


 * dram_baseaddr: DRAM physical start address, fixed at 0x40000000
 * dram_clk: DRAM clock frequency in MHz; it must be an integer multiple of 24, minimally 120, maximally 480 MHz
 * dram_type: DRAM type; Set to 2 for DDR2; 3 for DDR3
 * dram_rank_num: DRAM chip select; 1 is a chip select; 2 election for two tablets
 * dram_chip_density: monolithic DRAM capacity in Mbit
 * dram_io_width: monolithic DRAM bus width in bits
 * dram_bus_width: DRAM bus width in bits, such as two 16-bit DRAM banks make up a 32 bit bus width
 * dram_cas: DRAM CAS latency
 * dram_zq: DRAM controller internal parameters
 * dram_odt_en: ODT 0 to disable; 1 to enable
 * dram_size: DRAM total capacity in MB
 * dram_tpr0: DRAM controller internal parameter
 * dram_tpr1: DRAM controller internal parameter
 * dram_tpr2: DRAM controller internal parameter
 * dram_tpr3: DRAM controller internal parameter
 * dram_tpr4: DRAM controller internal parameter
 * dram_tpr5: DRAM controller internal parameter
 * dram_emr1: DRAM controller internal parameter
 * dram_emr2: DRAM controller internal parameter
 * dram_emr3: DRAM controller internal parameter

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

mali configuration
Mali is the name of the GPU on the A10, A10s, A13 and A20 SoC's

[mali_para]

 * mali_used: 0 to disable; 1 to enable Mali module
 * mali_clkdiv: Mali clock divisor. Clock is obtained by devising PLL4 with mali_clkdiv

Configuration example:  [mali_para] mali_used = 1 mali_clkdiv = 3

[g2d_para]
G2D is the 2D graphic display engine on the Allwinner SoC


 * g2d_used: 0 to disable; 1 to enable the g2d module
 * g2d_size: memory size for g2d

 g2d_used = 1 g2d_size = 0x1000000

[emac_para]
Ethernet configuration for the integrated ethernet IP. It still requires an external PHY


 * emac_used: 0 to disable; 1 to enable the ethernet MAC
 * emac_rxd0: RX data line 0 GPIO configuration
 * emac_rxd1: RX data line 1 GPIO configuration
 * emac_rxd2: RX data line 2 GPIO configuration
 * emac_rxd3: RX data line 3 GPIO configuration
 * emac_txd0: TX data line 0 GPIO configuration
 * emac_txd1: TX data line 1 GPIO configuration
 * emac_txd2: TX data line 2 GPIO configuration
 * emac_txd3: TX data line 3 GPIO configuration
 * emac_rxclk: RX clock GPIO configuration
 * emac_rxerr: RX error GPIO configuration
 * emac_rxdV: RX enabled GPIO configuration
 * emac_mdc: MII clock GPIO configuration
 * emac_mdio: MII data I/O GPIO configuration
 * emac_txen: TX enabled GPIO configuration
 * emac_txclk: TX clock GPIO configuration
 * emac_crs: Carrier Status of GPIO configuration
 * emac_col: Collision Detection GPIO configuration
 * emac_reset: PHY reset signal GPIO configuration

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

[twi0_para]
Two Wire Interface (i²c) configuration for TWI port 0


 * twi0_used: 0 to disable; 1 to enable
 * twi0_scl: TWI Serial CLock GPIO configuration
 * twi0_sda: TWI Serial Data GPIO configuration

Configuration example: <pre class="brush: ini"> [twi0_para] twi0_used = 1 twi0_scl = port:PB00<2> twi0_sda = port:PB01<2>

[twi0_para]
Two Wire Interface (i²c) configuration for TWI port 1


 * twi1_used: 0 to disable; 1 to enable
 * twi1_scl: TWI Serial CLock GPIO configuration
 * twi1_sda: TWI Serial Data GPIO configuration

Configuration example: <pre class="brush: ini"> [tw1_para] twi1_used = 1 twi1_scl = port:PB18<2> twi1_sda = port:PB19<2>

[twi2_para]
Two Wire Interface (i²c) configuration for TWI port 2


 * twi2_used: 0 to disable; 1 to enable
 * twi2_scl: TWI Serial CLock GPIO configuration
 * twi2_sda: TWI Serial Data GPIO configuration

Configuration example: <pre class="brush: ini"> [twi2_para] twi2_used = 1 twi2_scl = port:PB20<2> twi2_sda = port:PB21<2>

uart configuration
Any of the 8 UART ports can be configured to be either 2 (Only TX/RX) wires, 4 wires (TX, RX, RTS and CTS) or 8 (Full function) ports.


 * uart_used: 0 to disable; 1 to enable
 * uart_port: UART port number
 * uart_type: UART type, 2, 4 or 8 wires
 * uart_tx: UART TX data line GPIO configuration
 * uart_rx: UART RX data line GPIO configuration
 * uart_rts: UART Ready to Send line GPIO configuration, only for 4 and 8 wire modes
 * uart_cts: UART Clear to Send line GPIO configuration, only for 4 and 8 wire modes
 * uart_dtr: UART Data Terminal Ready GPIO configuration, only for 8 wire modes
 * uart_dsr: UART Data Set Ready GPIO configuration, only for 8 wire modes
 * uart_dcd: UART Data Carrier Detect GPIO configuration, only for 8 wire modes
 * uart_ring: UART Ring Indicator GPIO configuration, only for 8 wire modes

[uart_para0]
Configuration example: <pre class="brush: ini"> [uart_para0] uart_used = 1 uart_port = 0 uart_tx = port:PB22<2><1> uart_rx = port:PB23<2><1>

[uart_para1]
Configuration example: <pre class="brush: ini"> [uart_para1] uart_used = 0 uart_port = 1 uart_type = 8 uart_tx = port:PA10<4><1> uart_rx = port:PA11<4><1> uart_rts = port:PA12<4><1> uart_cts = port:PA13<4><1> uart_dtr = port:PA14<4><1> uart_dsr = port:PA15<4><1> uart_dcd = port:PA16<4><1> uart_ring = port:PA17<4><1>

[uart_para2]
Configuration example: <pre class="brush: ini"> [uart_para2] uart_used = 0 uart_port = 2 uart_type = 4 uart_tx = port:PI18<3><1> uart_rx = port:PI19<3><1> uart_rts = port:PI16<3><1> uart_cts = port:PI17<3><1>

[uart_para3]
Configuration example: <pre class="brush: ini"> [uart_para3] uart_used = 0 uart_port = 3 uart_type = 4 uart_tx = port:PH00<4><1> uart_rx = port:PH01<4><1> uart_rts = port:PH02<4><1> uart_cts = port:PH03<4><1>

[uart_para4]
Configuration example: <pre class="brush: ini"> [Uart_para4] uart_used = 0 uart_port = 4 uart_type = 2 uart_tx = port:PH04<4><1> uart_rx = port:PH05<4><1>

[uart_para5]
Configuration example: <pre class="brush: ini"> [uart_para5] uart_used = 0 uart_port = 5 uart_type = 2 uart_tx = port: PH06<4><1> uart_rx = port: PH07<4><1>

[uart_para6]
Configuration example: <pre class="brush: ini"> [uart_para6] uart_used = 0 uart_port = 6 uart_type = 2 uart_tx = port:PA12<4><1> uart_rx = port:PA13<4><1>

[uart_para7]
Configuration example: <pre class="brush: ini"> [uart_para7] uart_used = 0 uart_port = 7 uart_type = 2 uart_tx = port:PA14<4><1> uart_rx = port:PA15<4><1>

spi configuration

 * spi_used: 0 to disable; 1 to enable
 * spi_cs_bitmap: 0 to not use a CS bitmap, 1 to use CS bitmap
 * spi_cs0: Chip Select bit 0 GPIO configuration
 * spi_cs1: Chip Select bit 1 GPIO configuration
 * spi_sclk: clock GPIO configuration
 * spi_mosi: MOSI GPIO configuration
 * spi_miso: MISO GPIO configuration

[spi0_para]
Configuration example 1: <pre class="brush: ini"> [spi0_para] spi_used = 0 spi_cs_bitmap = 1 spi_cs0 = port:PI10<3> spi_sclk = port:PI11<3> spi_mosi = port:PI12<3> spi_miso = port:PI13<3> spi_cs1 = port:PI14<3>

Configuration example 2: <pre class="brush: ini"> [spi0_para] spi_used = 0 spi_cs_bitmap = 1 spi_mosi = port:PC00<3> spi_miso = port:PC01<3> spi_sclk = port:PC02<3> spi_cs0 = port:PC23<3>

[spi1_para]
Configuration example 1: <pre class="brush: ini"> [spi1_para] spi_used = 0 spi_cs_bitmap = 1 spi_cs0 = port:PA00<3> spi_sclk = port:PA01<3> spi_mosi = port:PA02<3> spi_miso = port:PA03<3> spi_cs1 = port:PA04<3> Configuration example 2: <pre class="brush: ini"> [spi1_para] spi_used = 0 spi_cs_bitmap = 1 spi_cs1 = port:PI15<2> spi_cs0 = port:PI16<2> spi_sclk = port:PI17<2> spi_mosi = port:PI18<2> spi_miso = port:PI19<2>

[spi2_para]
Configuration example 1: <pre class="brush: ini"> [spi2_para] spi_used = 0 spi_cs_bitmap = 1 spi_cs1 = port:PB13<3> spi_cs0 = port:PB14<3> spi_sclk = port:PB15<3> spi_mosi = port:PB16<3> spi_miso = port:PB17<3> Configuration example 2: <pre class="brush: ini"> [spi2_para] spi_used = 0 spi_cs_bitmap = 1 spi_cs0 = port:PC19<3> spi_sclk = port:PC20<3> spi_mosi = port:PC21<3> spi_miso = port:PC23<3>

[spi3_para]
Configuration example: <pre class="brush: ini"> [spi3_para] spi_used = 0 spi_cs_bitmap = 1 spi_cs0 = port:PA05<3> spi_sclk = port:PA06<3> spi_mosi = port:PA07<3> spi_miso = port:PA08<3> spi_cs1 = port:PA09<3>

[spi_devices]

 * spi_dev_num: number of external SPI devices connected to the SoC. For each external SPI device N, a board define [spi_boardM] with M = N - 1 needs to be created

[spi_board0]
Configuration example: <pre class="brush: ini"> [spi_board0] modalias = "External SPI connection" max_speed_hz = 12000000 bus_num = 1 chip_select = 0 mode = 3 full_duplex = 0 manual_cs = 0
 * modalias: Alias
 * '''max_speed_hz: Maximum speed in Hz
 * bus_num: Bus number of SPI controller
 * mode: SPI mode, bitfield defined in spi.h
 * full_duplex: 0 for half-duplex; 1 for full-duplex mode
 * manual_cs: manually control Chip Select level (unsupported for now)

[rtp_para]

 * rtp_used: 0 to disable; 1 to enable
 * rtp_screen_size: diagonal screen size rounded to full inches
 * rtp_regidity_level: touchscreen regidty in 10 ms units
 * rtp_press_threshold_enable: 0 to disable; 1 to enable
 * rtp_press_threshold: defines the press-threshold sensitivity; set between 0x0 and 0xffffff
 * rtp_exchange_x_y_flag: 0 for normal operation; 1 to flip X and Y coordinates

Configuration example: <pre class="brush: ini"> rtp_used = 0 rtp_screen_size = 7 rtp_regidity_level = 7 rtp_press_threshold_enable = 0 rtp_press_threshold = 0x1f40 rtp_sensitive_level = 0xf rtp_exchange_x_y_flag = 0

[ctp_para]
Several touch panel's can be configured. Their name must match to the linux ctp-driver!


 * ctp_used: 0 to disable; 1 to enable
 * ctp_name: Name of the touch panel driver to use
 * ctp_twi_id: twi controller to use
 * ctp_twi_addr: hardware specfic twi address in hex
 * ctp_screen_rotate: 0 for normal operation; 1 for 180° rotation
 * ctp_screen_max_x: Maximum X screen resolution
 * ctp_screen_max_y: Maximum Y screen resolution
 * ctp_revert_x_flag: 0 for normal operation; 1 to flip the X axis
 * ctp_revert_y_flag: 0 for normal operation; 1 to flip the Y axis
 * ctp_havekey: 0 for normal operation; 1 if the touch panel also has touch-keys.
 * ctp_int_port: interrupt line GPIO configuration
 * ctp_wakeup: screen wake up GPIO configuration
 * ctp_io_port: I/O port GPIO configuration

Configuration example: <pre class="brush: ini"> [ctp_para] ctp_used = 1 ctp_twi_id = 2 ctp_name = "ft5x_ts" ctp_twi_addr = 0x38

ctp1_used = 1 ctp1_name = "Goodix-TS" ctp1_twi_addr = 0x55

ctp2_used = 1 ctp2_name = "ssd253x-ts" ctp2_twi_addr = 0x48

ctp3_used = 1 ctp3_name = "novatek-ts" ctp3_twi_addr = 0x09

ctp4_used = 1 ctp4_name = "zet622x-ts" ctp4_twi_addr = 0x76

ctp5_used = 1 ctp5_name = "byd693x-ts" ctp5_twi_addr = 0x52

ctp6_used = 0 ctp6_name = "gt82x" ctp6_twi_addr = 0x5d

ctp7_used = 0 ctp7_name = "px811" ctp7_twi_addr = 0x5c

ctp_screen_rotate = 0 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_havekey = 0 ctp_int_port = port: PH21<6> ctp_wakeup = port: PB13<1> <1> ctp_io_port = port: PH21<0>

[tkey_para]
Touch 'key', only for "hv_keypad" for now


 * tkey_used: 0 to disable; 1 to enable
 * tkey_name: driver name, must match linux driver name
 * tkey_twi_id: twi controller to use
 * tkey_twi_addr: hardware specfic twi address in hex
 * tkey_int: interrupt line GPIO configuration

Configuration example: <pre class="brush: ini"> [tkey_para] tkey_used = 0 tkey_name = "hv_keypad" tkey_twi_id = 2 tkey_twi_addr = 0x62 tkey_int = port: PI13<6>

[motor_para]

 * motor_used: 0 to disable; 1 to enable
 * motor_shake: motor control pin GPIO configuration

Configuration example: <pre class="brush: ini"> [motor_para] motor_used = 0 motor_shake = port:PB03<1> <1>

lock configuration
Locks are either very new or really old as nothing can be found in any fex file in git. It seems reasonable to believe that this would be a screen lock 'button'.

[locks_para]
Configuration example: <pre class="brush: ini"> [locks_para] locks_used = 0 locks_gpio = port:PH00<0> <0>
 * locks_used: 0 to disable; 1 to enable
 * locks_gpio: switch GPIO configuration

[nand_para]

 * nand_used: 0 to disable; 1 to enable
 * nand_we: Write Enable GPIO configuration
 * nand_ale: Address Latch Enable GPIO configuration
 * nand_cle: Command Latch Enable GPIO configuration
 * nand_ce0: Chip sElect bit 0 GPIO configuration
 * nand_ce1: Chip sElect bit 1 GPIO configuration
 * nand_ce2: Chip sElect bit 2 GPIO configuration
 * nand_ce3: Chip sElect bit 3 GPIO configuration
 * nand_ce4: Chip sElect bit 4 GPIO configuration
 * nand_ce5: Chip sElect bit 5 GPIO configuration
 * nand_ce6: Chip sElect bit 6 GPIO configuration
 * nand_ce7: Chip sElect bit 7 GPIO configuration
 * nand_nre: Nand Read Enable GPIO configuration
 * nand_rb0: Read / Busy bit 0 GPIO configuration
 * nand_rb1: Read / Busy bit 1 GPIO configuration
 * nand_d0: data bus bit 0 GPIO configuration
 * nand_d1: data bus bit 1 GPIO configuration
 * nand_d2: data bus bit 2 GPIO configuration
 * nand_d3: data bus bit 3 GPIO configuration
 * nand_d4: data bus bit 4 GPIO configuration
 * nand_d5: data bus bit 5 GPIO configuration
 * nand_d6: data bus bit 6 GPIO configuration
 * nand_d7: data bus bit 7 GPIO configuration
 * nand_wp: Write Protect GPIO configuration
 * nand_spi: SPI data line GPIO configuration
 * nand_ndqs: nand ddr clock signal GPIO configuration

Configuration example: <pre class="brush: ini"> [Nand_para] nand_used = 1 nand_we = port:PC00<2> nand_ale = port:PC01<2> nand_cle = port:PC02<2> nand_ce1 = port:PC03<2> nand_ce0 = port:PC04<2> nand_nre = port:PC05<2> nand_rb0 = port:PC06<2> nand_rb1 = port:PC07<2> nand_d0 = port:PC08<2> nand_d1 = port:PC09<2> nand_d2 = port:PC10<2> nand_d3 = port:PC11<2> nand_d4 = port:PC12<2> nand_d5 = port:PC13<2> nand_d6 = port:PC14<2> nand_d7 = port:PC15<2> nand_wp = port:PC16<2> nand_ce2 = port:PC17<2> nand_ce3 = port:PC18<2> nand_ce4 = port:PC19<2> nand_ce5 = port:PC20<2> nand_ce6 = port:PC21<2> nand_ce7 = port:PC22<2> nand_spi = port:PC23<3> nand_ndqs = port:PC24<2>

[disp_init]

 * disp_init_enable: 0 to disable; 1 to enable
 * disp_mode: Display mode to use:
 * {| class="wikitable"

! mode ! display mode
 * 0
 * screen0(screen0, fb0)
 * 1
 * screen1(screen1, fb0)
 * 2
 * two_diff_screen_diff_contents(screen0, screen1, fb0, fb1)
 * 3
 * two_same_screen_diff_contents(screen0, screen1, fb0)
 * 4
 * two_diff_screen_same_contents(screen0, screen1, fb0)
 * }
 * screen0_output_type: Output type for screen0:
 * screen1_output_type: Output type for screen1:
 * {| class="wikitable"
 * two_diff_screen_same_contents(screen0, screen1, fb0)
 * }
 * screen0_output_type: Output type for screen0:
 * screen1_output_type: Output type for screen1:
 * {| class="wikitable"

! type ! Output type
 * 0
 * none
 * 1
 * lcd
 * 2
 * tv
 * 3
 * hdmi
 * 4
 * vga
 * }
 * screen0_output_mode: Output mode for screen0:
 * screen1_output_mode: Output mode for screen1:
 * {| class="wikitable"
 * vga
 * }
 * screen0_output_mode: Output mode for screen0:
 * screen1_output_mode: Output mode for screen1:
 * {| class="wikitable"

! mode ! used for tv/hdmi output ! used for vga output
 * 0
 * 480i
 * 1680*1050
 * 1
 * 576i
 * 1440*900
 * 2
 * 480p
 * 1360*768
 * 3
 * 576p
 * 1280*1024
 * 4
 * 720p50
 * 1024*768
 * 5
 * 720p60
 * 800*600
 * 6
 * 1080i50
 * 640*480
 * 7
 * 1080i60
 * 8
 * 1080p24
 * 9
 * 1080p50
 * 10
 * 1080p60
 * 1920*1080
 * 11
 * pal
 * 1280*720
 * 14
 * ntsc
 * }
 * fb0_framebuffer_num: fb0 buffer number, use 2 for double buffering
 * fb1_framebuffer_num: fb1 buffer number, use 2 for double buffering
 * fb0_format: pixel format for fb0:
 * fb1_format: pixel format for fb1:
 * {| class="wikitable"
 * 10
 * 1080p60
 * 1920*1080
 * 11
 * pal
 * 1280*720
 * 14
 * ntsc
 * }
 * fb0_framebuffer_num: fb0 buffer number, use 2 for double buffering
 * fb1_framebuffer_num: fb1 buffer number, use 2 for double buffering
 * fb0_format: pixel format for fb0:
 * fb1_format: pixel format for fb1:
 * {| class="wikitable"
 * fb0_format: pixel format for fb0:
 * fb1_format: pixel format for fb1:
 * {| class="wikitable"

! format ! fb0_format
 * 4
 * RGB655
 * 5
 * RGB565
 * 6
 * RGB556
 * 7
 * ARGB1555
 * 8
 * RGBA5551
 * 9
 * RGB888
 * 10
 * ARGB8888
 * 12
 * ARGB4444
 * }
 * fb0_pixel_sequence: fb0 pixel sequence (0 generally for linux, 2 for android):
 * fb1_pixel_sequence: fb1 pixel sequence (0 generally for linux, 2 for android):
 * {| class="wikitable"
 * ARGB8888
 * 12
 * ARGB4444
 * }
 * fb0_pixel_sequence: fb0 pixel sequence (0 generally for linux, 2 for android):
 * fb1_pixel_sequence: fb1 pixel sequence (0 generally for linux, 2 for android):
 * {| class="wikitable"
 * {| class="wikitable"

! sequence ! fb0_pixel_sequence
 * 0
 * ARGB
 * 1
 * BGRA
 * 2
 * ABGR
 * 3
 * RGBA
 * }
 * fb0_scaler_mode_enable: 0 to disable; 1 to enable
 * fb1_scaler_mode_enable: 0 to disable; 1 to enable
 * RGBA
 * }
 * fb0_scaler_mode_enable: 0 to disable; 1 to enable
 * fb1_scaler_mode_enable: 0 to disable; 1 to enable

Configuration example for LCD: <pre class="brush: ini"> [disp_init] disp_init_enable = 1 disp_mode = 0

screen0_output_type = 1 screen0_output_mode = 4

screen1_output_type = 1 screen1_output_mode = 4

fb0_framebuffer_num = 2 fb0_format = 10 fb0_pixel_sequence = 0 fb0_scaler_mode_enable = 0

fb1_framebuffer_num = 2 fb1_format = 10 fb1_pixel_sequence = 0 fb1_scaler_mode_enable = 0

Configuration example for VGA: <pre class="brush: ini"> [disp_init] disp_init_enable = 1 disp_mode = 0

screen0_output_type = 4 screen0_output_mode = 4

screen1_output_type = 2 screen1_output_mode = 14

fb0_framebuffer_num = 2 fb0_format = 10 fb0_pixel_sequence = 0 fb0_scaler_mode_enable = 1

fb1_framebuffer_num = 2 fb1_format = 10 fb1_pixel_sequence = 0 fb1_scaler_mode_enable = 1

lcd[0/1] configuration

 * lcd_used: 0 to disable; 1 to enable
 * lcd_pwm_not_used: 0 to enable PWM; 1 to disable
 * lcd_pwm_ch: PWM channel
 * lcd_pwm_freq: PWM frequency in Hz
 * lcd_pwm_pol: PWM polarity
 * lcd_x: X-axis active width
 * lcd_y: Y-axis active height
 * lcd_dclk_freq: pixel clock frequency in MHz
 * lcd_if: lcd interface:
 * {| class="wikitable"

! interface ! lcd_interface
 * 0
 * hv (sync + de)
 * 1
 * 8080
 * 2
 * ttl
 * 3
 * lvds
 * }
 * lcd_hbp: hsync back porch
 * lcd_ht: hsync total cycle
 * lcd_vbp: vsync back porch
 * lcd_vt: vysnc total cycle * 2
 * lcd_hv_if: 0 for parallel hv interface; 1: for serial hv interface
 * lcd_hv_smode: 0 for RGB888 serial interface mode; 1 for CCIR656
 * lcd_hv_s888_if: serial RGB format
 * lcd_hv_syuv_if: serial YUV format
 * lcd_hv_vspw: vysnc plus width
 * lcd_hv_hspw: hsync plus width
 * lcd_hv_lde_used: 0 to disable; 1 to enable
 * lcd_hv_lde_iovalue: HV LDE iovalue
 * lcd_lvds_ch: 0 for single channel; 1 for dual channel
 * lcd_lvds_mode: 0 for NS mode; 1 for JEIDA mode
 * lcd_lvds_bitwidth: 0 for 24 bit; 1 for 18 bit
 * lcd_io_cfg0: lcd IO configuration
 * lcd_lvds_io_cross: 0 for normal; 1 for pn cross
 * lcd_cpu_if: cpu if mode:
 * lcd_lvds_bitwidth: 0 for 24 bit; 1 for 18 bit
 * lcd_io_cfg0: lcd IO configuration
 * lcd_lvds_io_cross: 0 for normal; 1 for pn cross
 * lcd_cpu_if: cpu if mode:


 * {| class="wikitable"

! mode ! cpu_if
 * 0
 * 18 bit
 * 1
 * 16 bit mode0
 * 2
 * 16 bit mode1
 * 3
 * 16 bit mode2
 * 4
 * 16 bit mode3
 * 5
 * 9 bit
 * 6
 * 8 bit, 256k
 * 7
 * 8 bit, 65k
 * }
 * lcd_gamma_correction_en: 0 to disable; 1 to enable
 * lcd_gamma_tbl_[0-255]: Gamma table 0 through 255
 * lcd_frm: 0 to disable dither; 1 to enable enable rgb666 dither; 2 to enable rgb656 dither
 * lcd_io_cfg0: lcd io inv
 * lcd_bl_en_used: 0 to disable; 1 to enable
 * lcd_bl_en: LCD BackLight GPIO configuration
 * lcd_power_used: 0 to disable; 1 to enable
 * lcd_power: LCD_VCC Voltage control GPIO configuration
 * lcd_pwm_used: 0 to disable; 1 to enable
 * lcd_pwm: lcd PWM, GPIO configuration (PWM0 fixed using the PB02 PWM1 fixed PI03 without user modification)
 * lcd_gpio_0: 2/3-wire SCL GPIO configuration
 * lcd_gpio_1: 2/3-wire SDA GPIO configuration
 * lcd_gpio_2: 2/3-wire SCEN GPIO configuration
 * lcd_gpio_3: LCD module RESET GPIO configuration
 * lcdd0: data bit 0 GPIO configuration
 * lcdd1: data bit 1 GPIO configuration
 * lcdd2: data bit 2 GPIO configuration
 * lcdd3: data bit 3 GPIO configuration
 * lcdd4: data bit 4 GPIO configuration
 * lcdd5: data bit 5 GPIO configuration
 * lcdd6: data bit 6 GPIO configuration
 * lcdd7: data bit 7 GPIO configuration
 * lcdd8: data bit 8 GPIO configuration
 * lcdd9: data bit 9 GPIO configuration
 * lcdd10: data bit 10 GPIO configuration
 * lcdd11: data bit 11 GPIO configuration
 * lcdd12: data bit 12 GPIO configuration
 * lcdd13: data bit 13 GPIO configuration
 * lcdd14: data bit 14 GPIO configuration
 * lcdd15: data bit 15 GPIO configuration
 * lcdd16: data bit 16 GPIO configuration
 * lcdd17: data bit 17 GPIO configuration
 * lcdd18: data bit 18 GPIO configuration
 * lcdd19: data bit 19 GPIO configuration
 * lcdd20: data bit 20 GPIO configuration
 * lcdd21: data bit 21 GPIO configuration
 * lcdd22: data bit 22 GPIO configuration
 * lcdd23: data bit 23 GPIO configuration
 * lcdclk: LCD Clock GPIO configuration
 * lcdde: LCD de GPIO configuration
 * lcdhsync: H sync GPIO configuration
 * lcdvsync: V sync GPIO configuration
 * lcdd20: data bit 20 GPIO configuration
 * lcdd21: data bit 21 GPIO configuration
 * lcdd22: data bit 22 GPIO configuration
 * lcdd23: data bit 23 GPIO configuration
 * lcdclk: LCD Clock GPIO configuration
 * lcdde: LCD de GPIO configuration
 * lcdhsync: H sync GPIO configuration
 * lcdvsync: V sync GPIO configuration

[lcd0_para]
Configuration example: <pre class="brush: ini"> [lcd0_para] lcd_used = 1 lcd_x = 800 lcd_y = 480 lcd_dclk_freq = 33 lcd_pwm_freq = 1000 lcd_pwm_pol = 0 lcd_swap = 0 lcd_if = 0 lcd_hbp = 215 lcd_ht = 1055 lcd_vbp = 34 lcd_vt = 1050 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_hv_lde_used = 0 lcd_hv_lde_iovalue = 0 lcd_lvds_ch = 0 lcd_lvds_mode = 0 lcd_lvds_bitwidth = 0 lcd_lvds_io_cross = 0 lcd_cpu_if = 0 lcd_cpu_da = 0 lcd_frm = 0 lcd_io_cfg0 = 0x10000000 lcd_io_cfg1 = 0 lcd_io_strength = 0 lcd_bl_en_used = 1 lcd_bl_en = port: PH07<1><0> <1> lcd_power_used = 1 lcd_power = port: PH08<1><0> <1> lcd_pwm_used = 1 lcd_pwm = port:PB02<2> lcd_gpio_0 = lcd_gpio_1 = lcd_gpio_2 = lcd_gpio_3 = lcdd0 = port:PD00<2> lcdd1 = port:PD01<2> lcdd2 = port:PD02<2> lcdd3 = port:PD03<2> lcdd4 = port:PD04<2> lcdd5 = port:PD05<2> lcdd6 = port:PD06<2> lcdd7 = port:PD07<2> lcdd8 = port:PD08<2> lcdd9 = port:PD09<2> lcdd10 = port:PD10<2> lcdd11 = port:PD11<2> lcdd12 = port:PD12<2> lcdd13 = port:PD13<2> lcdd14 = port:PD14<2> lcdd15 = port:PD15<2> lcdd16 = port:PD16<2> lcdd17 = port:PD17<2> lcdd18 = port:PD18<2> lcdd19 = port:PD19<2> lcdd20 = port:PD20<2> lcdd21 = port:PD21<2> lcdd22 = port:PD22<2> lcdd23 = port:PD23<2> lcdclk = port:PD24<2> lcdde = port:PD25<2> lcdhsync = port:PD26<2> lcdvsync = port:PD27<2>

Other configuration examples for certain panels: <pre class="brush: ini"> lcd_x                   = 800 lcd_y                   = 480 lcd_dclk_freq           = 33 lcd_if                  = 0 lcd_hbp                 = 46 lcd_ht                  = 1055 lcd_vbp                 = 23 lcd_vt                  = 1050
 * RGB 800x480	module name: H-B070D-15C

lcd_x                   = 800 lcd_y                   = 600 lcd_dclk_freq           = 40 lcd_if                  = 0 lcd_hbp                 = 46 lcd_ht                  = 1056 lcd_vbp                 = 23 lcd_vt                  = 1270
 * RGB 800x600   module name: H-B080D-24F

lcd_x                   = 480 lcd_y                   = 272 lcd_dclk_freq           = 9 lcd_if                  = 0 lcd_hbp                 = 2 lcd_ht                  = 525 lcd_vbp                 = 2 lcd_vt                  = 572
 * RGB 480x272   module name: KD43G18-40NB-A11

lcd_x                   = 1024 lcd_y                   = 600 lcd_dclk_freq           = 52 lcd_if                  = 3 lcd_hbp                 = 33 lcd_ht                  = 1344 lcd_vbp                 = 23 lcd_vt                  = 1270
 * lvds 1024x600  module name: CLAP101NC01CW�

lcd_x                   = 1024 lcd_y                   = 768 lcd_dclk_freq           = 65 lcd_if                  = 3 lcd_hbp                 = 160 lcd_ht                  = 1344 lcd_vbp                 = 23 lcd_vt                  = 1612
 * lvds 1024x768  module name: KD080D3-40NA-A2

lcd_x                   = 1024 lcd_y                   = 768 lcd_dclk_freq           = 100 lcd_if                  = 3 lcd_hbp                 = 480 lcd_ht                  = 2084 lcd_vbp                 = 6 lcd_vt                  = 1600 lcd_lvds_bitwidth       = 1 lcd_io_cfg0             = 0x04000000 lcd_frm                 = 1
 * lvds 1024x768  module name: LG-LP097X02

lcd_io_cfg0             = 0x10000000 lcd_gamma_correction_en = 0 lcd_gamma_tbl_0         = 0x00000000 lcd_gamma_tbl_1         = 0x00010101 lcd_gamma_tbl_255       = 0x00ffffff

[lcd1_para]
Configuration example: <pre class="brush: ini"> [lcd1_para] lcd_used                = 0

lcd_x                   = 0 lcd_y                   = 0 lcd_dclk_freq           = 0 lcd_pwm_not_used        = 0 lcd_pwm_ch              = 0 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         = 0x00000000 lcd_gamma_tbl_1         = 0x00010101 lcd_gamma_tbl_255       = 0x00ffffff

lcd_bl_en_used          = 0 lcd_bl_en               =

lcd_power_used          = 0 lcd_power               =

lcd_pwm_used            = 0 lcd_pwm                 = port:PI03<2><0>

lcd_gpio_0              = lcd_gpio_1              = lcd_gpio_2              = lcd_gpio_3              =

lcdd0                   = port:PH00<2><0> lcdd1                   = port:PH01<2><0> lcdd2                   = port:PH02<2><0> lcdd3                   = port:PH03<2><0> lcdd4                   = port:PH04<2><0> lcdd5                   = port:PH05<2><0> lcdd6                   = port:PH06<2><0> lcdd7                   = port:PH07<2><0> lcdd8                   = port:PH08<2><0> lcdd9                   = port:PH09<2><0> lcdd10                  = port:PH10<2><0> lcdd11                  = port:PH11<2><0> lcdd12                  = port:PH12<2><0> lcdd13                  = port:PH13<2><0> lcdd14                  = port:PH14<2><0> lcdd15                  = port:PH15<2><0> lcdd16                  = port:PH16<2><0> lcdd17                  = port:PH17<2><0> lcdd18                  = port:PH18<2><0> lcdd19                  = port:PH19<2><0> lcdd20                  = port:PH20<2><0> lcdd21                  = port:PH21<2><0> lcdd22                  = port:PH22<2><0> lcdd23                  = port:PH23<2><0> lcdclk                  = port:PH24<2><0> lcdde                   = port:PH25<2><0> lcdhsync                = port:PH26<2><0> lcdvsync                = port:PH27<2><0>

tv out dac configuration
The TV-Out Digital Analog Converter (DAC) modules the framebuffer to a signal suitable for a TV

[tv_out_dac_para]

 * dac_used: 0 to disable; 1 to enable
 * dac0_src: Output source for the DAC:
 * dac1_src: Output source for the DAC:
 * dac2_src: Output source for the DAC:
 * dac3_src: Output source for the DAC:
 * {| class="wikitable"

! dac ! Output source
 * 0
 * Composite
 * 1
 * Luma
 * 2
 * Chroma
 * 3
 * 4
 * Y
 * 5
 * Pb
 * 6
 * Pr
 * 7
 * None
 * }
 * 5
 * Pb
 * 6
 * Pr
 * 7
 * None
 * }
 * None
 * }

Configuration example: <pre class="brush: ini"> [tv_out_dac_para] dac_used = 1 dac0_src = 4 dac1_src = 5 dac2_src = 6 dac3_src = 0

csi gpio configuration

 * csi_used: 0 to enable; 1 to disable
 * csi_mode: 0 to sample one csi to one buffer; 1 to sample two csi to one buffer
 * csi_dev_qty: Quantity of devices linked to the csi interface
 * csi_twi_id: TWI controller to use
 * csi_twi_id_b: TWI controller to use for second device
 * csi_mname: Module name to match the csi device; currently known to work:
 * csi_mname_b: Module name to match the second csi device; currently known to work:
 * ov7670
 * gc0308
 * gt2005
 * hi704
 * hi253


 * csi_twi_addr: TWI address for the used camera
 * csi_twi_addr_b: TWI address for the used camera for second device
 * csi_if: interface:
 * csi_if_b: interface for second device:
 * {| class="wikitable"

! if ! csi interface
 * 0
 * hv_8bit
 * 1
 * hv_16bit
 * 2
 * hv_24bit
 * 3
 * bt656 1ch
 * 4
 * bt656 2ch
 * 5
 * bt656 4ch
 * }
 * csi_pck: p clock GPIO configuration
 * csi_ck: clock GPIO configuration
 * csi_hsync: H-sync GPIO configuration
 * csi_vsync: V-sync GPIO configuration
 * csi_hflip: Horizontal frame flip
 * csi_hflip_b: Horizontal frame flip for second device
 * csi_vflip: Vertical frame flip
 * csi_vflip_b: Vertical frame flip for second device
 * csi_d0: data bit 0 GPIO configuration
 * csi_d1: data bit 1 GPIO configuration
 * csi_d2: data bit 2 GPIO configuration
 * csi_d3: data bit 3 GPIO configuration
 * csi_d4: data bit 4 GPIO configuration
 * csi_d5: data bit 5 GPIO configuration
 * csi_d6: data bit 6 GPIO configuration
 * csi_d7: data bit 7 GPIO configuration
 * csi_d8: data bit 8 GPIO configuration
 * csi_d9: data bit 9 GPIO configuration
 * csi_d10: data bit 10 GPIO configuration
 * csi_d11: data bit 11 GPIO configuration
 * csi_d12: data bit 12 GPIO configuration
 * csi_d13: data bit 13 GPIO configuration
 * csi_d14: data bit 14 GPIO configuration
 * csi_d15: data bit 15 GPIO configuration
 * csi_reset: Camera reset; the default value, high or low ,depends on the module
 * csi_power_en: Power enable GPIO configuration
 * csi_stby: Camera standby GPIO configuration; the default value, high or low ,depends on the module
 * csi_stby_b: Camera standby GPIO configuration for second device; the default value, high or low ,depends on the module
 * csi_stby_mode: 0 to not shutdown power at standby; 1 shutdown power at standby
 * csi_flash: Camera Flash GPIO configuration
 * csi_flash_b: Camera Flash GPIO configuration for second device
 * csi_flash_pol: Flash polarity of flash light; 0 for active low; 1 for active high
 * csi_flash_pol_b: Flash polarity of flash light for second device; 0 for active low; 1 for active high
 * csi_af_en: Autofocus enable GPIO configuration
 * csi_iovdd: Camera module IO power, PMU power supply
 * csi_iovdd_b: Camera module IO power, PMU power supply for second device
 * csi_avdd: Camera analog power, PMU power supply
 * csi_avdd_b: Camera analog power, PMU power supply for second device
 * csi_dvdd: Camera digital power, PMU power supply
 * csi_dvdd_b: Camera digital power, PMU power supply for second device
 * pmu_ldo3: "axp20_pll" or leave empty empty when not using any PMU power supply
 * pmu_ldo4: "axp20_hdmi" or empty when not using any PMU power supply
 * csi_avdd: Camera analog power, PMU power supply
 * csi_avdd_b: Camera analog power, PMU power supply for second device
 * csi_dvdd: Camera digital power, PMU power supply
 * csi_dvdd_b: Camera digital power, PMU power supply for second device
 * pmu_ldo3: "axp20_pll" or leave empty empty when not using any PMU power supply
 * pmu_ldo4: "axp20_hdmi" or empty when not using any PMU power supply

[csi0_para]
Configuration example: <pre class="brush: ini"> [csi0_para] csi_used = 1 csi_mode = 0 csi_dev_qty = 1 csi_stby_mode = 1

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 = "gt2005" csi_twi_id_b = 1 csi_twi_addr_b = 0x78 csi_if_b = 0 csi_vflip_b = 0 csi_hflip_b = 0 csi_iovdd_b = "" csi_avdd_b = "" csi_dvdd_b = "" csi_flash_pol_b = 1

csi_pck = port:PE00<3> csi_ck = port:PE01<3> csi_hsync = port:PE02<3> csi_vsync= port:PE03<3> csi_d0 = port:PE04<3> csi_d1 = port:PE05<3> csi_d2 = port:PE06<3> csi_d3 = port:PE07<3> csi_d4 = port:PE08<3> csi_d5 = port:PE09<3> csi_d6 = port:PE10<3> csi_d7 = port:PE11<3> csi_d8 = port:PG04<5> csi_d9 = port:PG05<5> csi_d10 = port:PG06<5> csi_d11 = port:PG07<5> csi_d12 = port:PG08<5> csi_d13 = port:PG09<5> csi_d14 = port:PG10<5> csi_d15 = port:PG11<5> csi_reset = port:PH13<1> <0> csi_power_en = port:PH16<1> <0> csi_stby = port:PH18<1> <0> csi_flash = csi_af_en = csi_reset_b = port:PH13<1> <0> csi_power_en_b = port:PH16<1> <0> csi_stby_b = port:PH19<1> <0> csi_flash_b = csi_af_en_b =

[csi1_para]
Configuration example: <pre class="brush: ini"> [csi1_para] csi_used = 1 csi_mode = 0 csi_dev_qty = 1 csi_stby_mode = 1

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 = "gt2005" csi_twi_id_b = 1 csi_twi_addr_b = 0x78 csi_if_b = 0 csi_vflip_b = 0 csi_hflip_b = 0 csi_iovdd_b = "" csi_avdd_b = "" csi_dvdd_b = "" csi_flash_pol_b = 1

csi_pck = port:PG00<3> csi_ck = port:PG01<3> csi_d0 = port:PH00<7> csi_d1 = port:PH01<7> csi_d2 = port:PH02<7> csi_d3 = port:PH03<7> csi_d4 = port:PH04<7> csi_d5 = port:PH05<7> csi_d6 = port:PH06<7> csi_d7 = port:PH07<7> csi_d8 = port:PH08<7> csi_d9 = port:PH09<7> csi_d10 = port:PH10<7> csi_d11 = port:PH11<7> csi_d12 = port:PH12<7> csi_d13 = port:PH13<7> csi_d14 = port:PH14<7> csi_d15 = port:PH15<7> csi_d16 = port:PH16<7> csi_d17 = port:PH17<7> csi_d18 = port:PH18<7> csi_d19 = port:PH19<7> csi_d20 = port:PH20<7> csi_d21 = port:PH21<7> csi_d22 = port:PH22<7> csi_d23 = port:PH23<7> csi_hsync = port:PH26<7> csi_vsync= port:PH27<7> csi_reset = port:PG13<1> <0> csi_power_en = port:PG16<1> <0> csi_stby = port:PG18<1> <0> csi_flash = csi_af_en = csi_reset_b = port:PG13<1> <0> csi_power_en_b = port:PG16<1> <0> csi_stby_b = port:PG19<1> <0> csi_flash_b = csi_af_en_b =

[tvout_para]

 * tvout_used: 0 to disable; 1 to enable
 * tvout_channel_num: Channel number
 * tv_en: TV encoder GPIO configuration

Configuration example: <pre class="brush: ini"> tvout_used = 1 tvout_channel_num = 1 tv_en = port:PI12<1> <0>

[tvin_para]

 * tvin_used: 0 to disable; 1 to enable
 * tvin_channel_num: channel number

Configuration example: <pre class="brush: ini"> tvin_used = 1 tvin_channel_num = 4

[sata_para]

 * sata_used: 0 to disable; 1 to enable
 * sata_power_en: Sata power enable GPIO configuration

Configuration example: <pre class="brush: ini"> sata_used = 1 sata_power_en = port:PB08<1> <0>

sdmmc configuration
There are several things to notice when configuring the sdmmc controller.
 * sdc_used: 0 to disable; 1 to enable
 * sdc_detmode: detection mode:
 * {| class="wikitable"

! mode ! detection mode ! note
 * 0
 * 1
 * GPIO detection
 * Also configure sdc_det to map to a GPIO
 * 2
 * sdc_d3 detection
 * sdc_d3 must be configured as HiZ GPIO and have an external 1 MΩ pull-down resistor
 * 3
 * polling (card cannot be swapped)
 * 4
 * manually (via the proc file system node)
 * }
 * bus_width: 1 for 1bit; 4 for 4bit (may also be called sdc_bwid?!? verify please)
 * sdc_d0: data line 0 GPIO configuration
 * sdc_d1: data line 1 GPIO configuration
 * sdc_d2: data line 2 GPIO configuration
 * sdc_d3: data line 3 GPIO configuration
 * sdc_clk: CLK GPIO configuration
 * sdc_cmd: CMD GPIO configuration
 * sdc_det: DET GPIO configuration
 * sdc_use_wp: 0 is normal operation; 1 is write protect
 * sdc_wp: Write Protect the GPIO configuration
 * sdc_d0: data line 0 GPIO configuration
 * sdc_d1: data line 1 GPIO configuration
 * sdc_d2: data line 2 GPIO configuration
 * sdc_d3: data line 3 GPIO configuration
 * sdc_clk: CLK GPIO configuration
 * sdc_cmd: CMD GPIO configuration
 * sdc_det: DET GPIO configuration
 * sdc_use_wp: 0 is normal operation; 1 is write protect
 * sdc_wp: Write Protect the GPIO configuration

[mmc0_para]
Configuration example: <pre class="brush: ini"> [mmc0_para] sdc_used = 1 sdc_detmode = 1 bus_width = 4 sdc_d1 = port:PF00<2><1> sdc_d0 = port:PF01<2><1> sdc_clk = port:PF02<2><1> sdc_cmd = port:PF03<2><1> sdc_d3 = port:PF04<2><1> sdc_d2 = port:PF05<2><1> sdc_det = port:PH01<0><1> sdc_use_wp = 0 sdc_wp =

[mmc1_para]
Configuration example: <pre class="brush: ini"> [mmc1_para] sdc_used = 1 sdc_detmode = 1 bus_width = 4 sdc_cmd = port:PH22<5><1><2> sdc_clk = port:PH23<5><1><2> sdc_d0 = port:PH24<5><1><2> sdc_d1 = port:PH25<5><1><2> sdc_d2 = port:PH26<5><1><2> sdc_d3 = port:PH27<5><1><2> sdc_det = port:PH2<0><1> sdc_use_wp = 0 sdc_wp =

[mmc2_para]
Configuration example: <pre class="brush: ini"> [mmc2_para] sdc_used = 0

[mmc3_para]
Configuration example: <pre class="brush: ini"> [mmc3_para] sdc_used = 1 sdc_detmode = 4 bus_width = 4 sdc_cmd = port:PI04<2><1><2> sdc_clk = port:PI05<2><1><2> sdc_d0 = port:PI06<2><1><2> sdc_d1 = port:PI07<2><1><2> sdc_d2 = port:PI08<2><1><2> sdc_d3 = port:PI09<2><1><2> sdc_det = sdc_use_wp = 0 sdc_wp =

[ms_para]

 * ms_used: 0 to disable; 1 to enable
 * ms_bs: Bus State signal GPIO configuration
 * ms_clk: Clock GPIO configuration
 * ms_d0: Data line 0 GPIO Configuration
 * ms_d1: Data line 1 GPIO Configuration
 * ms_d2: Data line 2 GPIO Configuration
 * ms_d3: Data line 3 GPIO Configuration
 * ms_det: Stick detection GPIO Configuration

Configuration example: <pre class="brush: ini"> [ms_para] ms_used = 1 ms_bs = port:PH06<5> ms_clk = port:PH07<5> ms_d0 = port:PH08<5> ms_d1 = port:PH09<5> ms_d2 = port:PH10<5> ms_d3 = port:PH11<5> ms_det = port:PH2<0><1>

[smc_para]

 * smc_used: 0 to disable; 1 to enable
 * smc_rst: Reset GPIO configuration
 * smc_vppen: VPP enable GPIO configuration
 * smc_vppp: Programming VPP GPIO configuration
 * smc_det: SIM Card detect GPIO configuration
 * smc_vccen: VCC enable GPIO configuration
 * smc_sck: Serial clock GPIO configuration
 * smc_sda: Serial data GPIO configurion

Configuration example: <pre class="brush: ini"> [smc_para] smc_used = 1 smc_rst = port:PH13<5> smc_vppen = port:PH14<5> smc_vppp = port:PH15<5> smc_det = port:PH16<5> smc_vccen = port:PH17<5> smc_sck = port:PH18<5> smc_sda = port:PH19<5>

[ps2_0_para]

 * ps2_used: 0 to disable; 1 to enable
 * ps2_scl: Serial clock GPIO configuration
 * ps2_sda: Serial data GPIO configuration

Configuration example: <pre class="brush: ini"> [ps2_0_para] ps2_used = 1 ps2_scl = port:PI20<2><1> ps2_sda = port:PI21<2><1>

[ps2_1_para]

 * ps2_used: 0 to disable; 1 to enable
 * ps2_scl: Serial clock GPIO configuration
 * ps2_sda: Serial data GPIO configuration

Configuration example: <pre class="brush: ini"> [ps2_1_para] ps2_used = 1 ps2_scl = port:PI20<2><1> ps2_sda = port:PI21<2><1>

[can_para]

 * can_used: 0 to disable; 1 to enable it
 * can_tx: transmit GPIO Configuration
 * can_rx: receive GPIO configuration

Configuration example: <pre class="brush: ini"> [Can_para] can_used = 1 can_tx = port:PA16<3> can_rx = port:PA17<3>

23.1 [keypad_para]

 * kp_used: 0 to disable; 1 to enable
 * kp_in_size: column width
 * kp_out_size: row width
 * kp_in0: column 0 GPIO Configuration
 * kp_in1: column 1 GPIO Configuration
 * kp_in2: column 2 GPIO Configuration
 * kp_in3: column 3 GPIO Configuration
 * kp_in4: column 4 GPIO configuration
 * kp_in5: column 5 GPIO configuration
 * kp_in6: column 6 GPIO Configuration
 * kp_in7: column 7 GPIO configuration
 * kp_out0: row 0 GPIO Configuration
 * kp_out1: row 1 GPIO Configuration
 * kp_out2: row 2 GPIO Configuration
 * kp_out3: row 3 GPIO Configuration
 * kp_out4: row 4 GPIO configuration
 * kp_out5: row 5 GPIO configuration
 * kp_out6: row 6 GPIO Configuration
 * kp_out7: row 7 GPIO configuration

Configuration example: <pre class="brush: ini"> [Keypad_para] kp_used = 1 kp_in_size = 8 kp_out_size = 8 kp_in0 = port:PH08<4><1> kp_in1 = port:PH09<4><1> kp_in2 = port:PH10<4><1> kp_in3 = port:PH11<4><1> kp_in4 = port:PH14<4><1> kp_in5 = port:PH15<4><1> kp_in6 = port:PH16<4><1> kp_in7 = port:PH17<4><1> kp_out0 = port:PH18<4><1> kp_out1 = port:PH19<4><1> kp_out2 = port:PH22<4><1> kp_out3 = port:PH23<4><1> kp_out4 = port:PH24<4><1> kp_out5 = port:PH25<4><1> kp_out6 = port:PH26<4><1> kp_out7 = port:PH27<4><1>

USB control flags

 * usb_used: 0 to disable; 1 to enable
 * usb_port_type: USB port type:
 * {| class="wikitable"

! type ! usb port type
 * 0
 * device only
 * 1
 * host only
 * 2
 * OTG
 * }
 * usb_detect_type: 0 = no checking; 1 = VBus / id check
 * usb_id_gpio:USB ID pin GPIO configuration
 * usb_det_vbus_gpio: USB detect VBus pin GPIO configuration
 * usb_drv_vbus_gpio: USB drive VBus pin GPIO configuration
 * usb_host_init_state: In host only mode, host port initialization state; 0 do not initialize; 1 initializatie USB
 * usb_det_vbus_gpio: USB detect VBus pin GPIO configuration
 * usb_drv_vbus_gpio: USB drive VBus pin GPIO configuration
 * usb_host_init_state: In host only mode, host port initialization state; 0 do not initialize; 1 initializatie USB

[usbc0]
Configuration example: <pre class="brush: ini"> [usbc0] usb_used = 1 usb_port_type = 2 usb_detect_type = 1 usb_id_gpio = port:PH04<0><1> usb_det_vbus_gpio = port:PH05<0><0> usb_drv_vbus_gpio = port:PB09<1><0> <0> usb_host_init_state = 0

[usbc1]
Configuration example: <pre class="brush: ini"> [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> <0> usb_host_init_state = 1

[usbc2]
Configuration example: <pre class="brush: ini"> [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> <0> usb_host_init_state = 1

[usb_feature]

 * vendor_id: vendor ID
 * mass_storage_id: mass storage ID
 * adb_id: android debug bridge ID
 * manufacturer_name: vendor name
 * product_name: = product name
 * serial_number: = serial number

Configuration example: <pre class="brush: ini"> [usb_feature] vendor_id = 0x18d1 mass_storage_id = 0x0001 adb_id = 0x0002 manufacturer_name = "USB Developer" product_name = "Android" serial_number = "20080411"

25.2 [msc_feature]
Configuration items to configure the meaning of
 * vendor_name = xx U disk manufacturers
 * product_name = xx U disk products
 * release = xx release version
 * the number of luns = xx U disk logical unit number (the PC can see the U-disk drive letter)

Configuration example: <pre class="brush: ini"> [Msc_feature] vendor_name = "USB 2.0" product_name = "USB Flash Driver" release = 100 luns = 2

26.1 [gsensor_para]
Configuration items to configure the meaning of
 * gsensor_used = xx support gsensor
 * the gsenser_name = xx program-driven optional gsenser, EVB1.2, with bma250 There mxc622x
 * Select gsensor_twi_id = xx I2C BUS control 0: TWI0; 1: TWI1; 2: TWI2
 * gsensor_twi_addr = xx chip I2C address
 * gsensor_int1 = xx interrupt one of the GPIO configuration
 * gsensor_int2 = xx interrupt GPIO configuration 2

Configuration example: <pre class="brush: ini"> [Gsensor_para] gsensor_used = 1 gsenser_name = "bma250" gsensor_twi_id = 1 gsensor_twi_addr = 0x18 gsensor_int1 = port: PH00 <6> <1> gsensor_int2 = port: PI10 <6> <1>

27.1 [gps_para]
Configuration items to configure the meaning of Configuration example:
 * gps_used = xx
 * gps_spi_id = xx
 * gps_spi_cs_num = xx
 * gps_lradc = xx
 * gps_clk = xx
 * gps_sign = xx
 * gps_mag
 * gps_vcc_en
 * gps_osc_en
 * gps_rx_en

28.1 [sdio_wifi_para]
Configuration items to configure the meaning of
 * sdio_wifi_used = xx SDIO WIFI control: 1, not 0
 * sdio_wifi_sdc_id = xx SDIO WIFI using the SDC No.
 * sdio_wifi_shdn = xx SDIO WIFI SHDN GPIO configuration
 * sdio_wifi_host_wakeup = xx SDIO WIFI WAKEUP GPIO Configuration
 * sdio_wifi_vdd_en = xx SDIO WIFI VDDEN GPIO configuration
 * sdio_wifi_vcc_en = xx SDIO WIFI VCCEN GPIO configuration

Configuration example: <pre class="brush: ini"> [Sdio_wifi_para] sdio_wifi_used = 1 sdio_wifi_sdc_id = 3 sdio_wifi_shdn = port: PH09 <1> <0> sdio_wifi_host_wakeup = port: PH10 <1> <1> sdio_wifi_vdd_en = port: PH11 <1> <0> sdio_wifi_vcc_en = port: PH12 <1> <0>

29.1 [usb_wifi_para]
Configuration items to configure the meaning of
 * usb_wifi_used = xx the USB enable flag (xx = 1 or 0). Set to 1, indicating that the system USBWIFI modules are available, set to 0, then the system USBWIFI disabled.
 * usb_wifi_usbc_num = xx USB WIFI to use the USB controller number xx values ??range from 0, 1, 2.
 * And the USB controller must be configured usb_host_init_state used together, such as xx = 2. The [usbc2 the usb_host_init_state 0

Configuration example: <pre class="brush: ini"> [Usb_wifi_para] usb_wifi_used = 0 usb_wifi_usbc_num = 2

30.1 [3g_para]
Configuration items to configure the meaning of
 * 3g_used = xx
 * 3g_usbc_num = xx
 * 3g_uart_num = xx
 * 3g_pwr = xx
 * 3g_wakeup = xx
 * 3g_int = xx

Configuration example:

31.1 [gy_para]
Configuration items to configure the meaning of
 * gy_used = xx
 * gy_twi_id = xx
 * gy_twi_addr = xx
 * gy_int1 = xx
 * gy_int2 = xx

Configuration example:

32.1 [ls_para]
Configuration items to configure the meaning of
 * ls_used = xx
 * ls_twi_id = xx
 * ls_twi_addr = xx
 * ls_int = xx

Configuration example:

33.1 [compass_para]
Configuration items to configure the meaning of
 * compass_used = xx
 * compass_twi_id = xx
 * compass_twi_addr = xx
 * compass_int = xx

Configuration example:

34.1 [bt_para]
Configuration items to configure the meaning of
 * bt_used = xx BLUETOOTH control: 1, 0 not
 * bt_uart_id = xx the BLUETOOTH use the UART controller number
 * bt_wakeup = XX BT the WAKEUP the GPIO configuration
 * bt_gpio = xx BT optional GPIO configuration
 * bt_rst = XX BT the RESET the GPIO configuration

Configuration example: <pre class="brush: ini"> [Bt_para] bt_used = 0 bt_uart_id = 2 bt_wakeup = port: PI20 <1> bt_gpio = port: PI21 <1> bt_rst = port: PB05 <1>

35.1 [i2s_para]
Configuration items to configure the meaning of
 * i2s_used = xx xx 0:00 to load the module is not loaded 0
 * i2s_channel = xx-channel control
 * i2s_mclk = xx I2sMCLK signal GPIO configuration
 * i2s_bclk = xx I2sBCLK signal GPIO configuration
 * i2s_lrclk = xx I2sLRCK signal GPIO configuration
 * i2s_dout0 I2S out0 GPIO configuration
 * i2s_dout1 temporarily use
 * i2s_dout2 temporarily use
 * i2s_dout3 temporarily use
 * i2s_din I2sIN signal GPIO configuration

Configuration example: <pre class="brush: ini"> [i2s_para] i2s_used = 0 i2s_channel = 2 i2s_mclk = port: PB5 <2> <1> i2s_bclk = port: PB6 <2> <1> i2s_lrclk = port: PB7 <2> <1> i2s_dout0 = port: PB8 <2> <1> i2s_dout1 = i2s_dout2 = i2s_dout3 = i2s_din = port: PB12 <2> <1>

36.1 [spdif_para]
Configuration items to configure the meaning of
 * spdif_used = xx
 * spdif_mclk = xx
 * spdif_dout = xx
 * spdif_din = xx

Configuration example:

37.1 [audio_para]
Configuration items to configure the meaning of
 * audio_used = xx Audio speaker is turned on, 1: Open (default) 0: Close
 * speakers audio_pa_ctrl = xx gpio port control.
 * audio_lr_change = xx part of the plate channels need to reverse the set, usually set to 0;

Configuration example: <pre class="brush: ini"> [Audio_para] audio_used = 1 audio_pa_ctrl = port:PH15<1> <0> audio_lr_change = xx = 0

38.1 [ir_para]
Configuration items to configure the meaning of ir_used = xx ir0_rx = xx Configuration example:

39.1 [pmu_para]

 * pmu_used = xx Pmu enable flag (xx = 1 or 0) 0: No 1: Use the
 * pmu_twi_addr = xx Pmu device address
 * pmu_twi_id = xx Pmu mount i2c controller number, 0: twi0, 1: twi1, 2: twi2
 * pmu_irq_id = xx Pmu interrupt 0: NMI, 1:1 interrupt interrupt 2:2 No. ...
 * pmu_battery_rdc = xx battery internal resistance, m? completed according to the actual test.
 * pmu_battery_cap = xx battery capacity, mAh completed according to the actual test
 * pmu_init_chgcur = xx set to boot the charging current, mA, 300/400/500/600/700/800/900/1000/1100/1200/1300/1400/1500/1600/1700/1800
 * pmu_suspend_chgcur = xx set the Sleep charging current, mA, 300/400/500/600/700/800/900/1000/1100/1200/1300/1400/1500/1600/1700/1800
 * pmu_resume_chgcur = xx set the wake of the charging current, mA 300/400/500/600/700/800/900/1000/1100/1200/1300/1400/1500/1600/1700/1800
 * pmu_shutdown_chgcur = xx set off the charge current, mA 300/400/500/600/700/800/900/1000/1100/1200/1300/1400/1500/1600/1700/1800
 * pmu_init_chgvol = xx set the charging target voltage, mV 4100/4150/4200/4360
 * pmu_init_chgend_rate = xx set the end of the charging current ratio,% 10, 15
 * pmu_init_chg_enabled = xx to set the charging function, 0: Close 1: Open
 * pmu_init_adc_freq = xx set adc sampling rate, Hz, 25/50/100/200
 * pmu_init_adc_freqc = xx set coulomb meter sampling rate, Hz, and 25/50/100/200
 * pmu_init_chg_pretime = xx set precharge timeout, min, 40/50/60/70
 * pmu_init_chg_csttime = xx set the constant current charging timeout min, and 360/480/600/720
 * pmu_bat_para1 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para2 = xx is set to no-load battery voltage corresponds to the percentage,%, details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para3 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para4 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para5 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para6 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para7 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para8 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para9 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para10 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para11 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para12 = xx is set to no-load battery voltage corresponds to the percentage,%, details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para13 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para14 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para15 = xx set corresponds to the percentage of no-load battery voltage,% details, please read the documentation of the cell parameter test instructions
 * pmu_bat_para16 = xx set the no-load battery voltage corresponding to a percentage,%, details, please read the documentation of the cell parameter test instructions, it is recommended here is fixed at 100
 * pmu_usbvol_limit = xx set usb voltage limiter function 0: off 1: Open
 * usb pmu_usbvol = xx to set the pressure limiting voltage mV, the 4000/4100/4200/4300/4400/4500/4600/4700
 * pmu_usbcur_limit = xx set the usb current limit function, 0: off 1: Open
 * pmu_usbcur = xx set the usb-limiting current, mA, 100/500/900
 * pmu_pwroff_vol = xx set to start the hardware protection voltage, mV, 2600/2700/2800/2900/3000/3100/3200/3300
 * pmu_pwron_vol = xx set turned on under hardware protection voltage, mV, 2600/2700/2800/2900/3000/3100/3200/3300
 * pmu_pekoff_time = xx set the hardware is turned off when ms, and 4000/6000/8000/10000
 * pmu_pekoff_en = xx set the hardware power off function, 0: off 1: Open
 * pmu_peklong_time = xx set long button interrupt time, ms, and 1000/1500/2000/2500
 * pmu_pekon_time = xx set the boot time, ms, 128/1000/2000/3000
 * pmu_pwrok_time = xx set the power to start after the completion pwrok signal delay, ms, 8/64
 * pmu_pwrnoe_time = xx set n_oe from low to high shutdown delay time, ms, and 128/1000/2000/3000
 * pmu_intotp_en = xx set the over-temperature shutdown function 0: Close 1: Open

Configuration example: <pre class="brush: ini"> [pmu_para] pmu_used = 1 pmu_twi_addr = 0x34 pmu_twi_id = 0 pmu_irq_id = 0 pmu_battery_rdc = 200 pmu_battery_cap = 2600 pmu_init_chgcur = 300 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 = 1 pmu_bat_para4 = 5 pmu_bat_para5 = 7 pmu_bat_para6 = 13 pmu_bat_para7 = 16 pmu_bat_para8 = 26 pmu_bat_para9 = 36 pmu_bat_para10 = 46 pmu_bat_para11 = 53 pmu_bat_para12 = 61 pmu_bat_para13 = 73 pmu_bat_para14 = 84 pmu_bat_para15 = 92 pmu_bat_para16 = 100 pmu_usbvol_limit = 1 pmu_usbvol = 4400 pmu_usbcur_limit = 0 pmu_usbcur = 900 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