diff --git a/config/fex/beelinkx2.fex b/config/fex/beelinkx2.fex index 248e9a7ac..54411aae6 100644 --- a/config/fex/beelinkx2.fex +++ b/config/fex/beelinkx2.fex @@ -1,1256 +1,1255 @@ -;H3 dolphin-p1 board application -;H3 dolphin-p1 board application -;--------------------------------------------------------------------------------------------------------- -; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 -; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> -;--------------------------------------------------------------------------------------------------------- - -[product] -version = "100" -machine = "Beelink X2" - -;--------------------------------------------------------------------------------------------------------- -; eraseflag - 1 erase data partition, 0 - do not erase data partition -; next_work - action after burn, 0x0 by config, 0x1, normal, 0x2 reboot 0x3 ,shutdown,0x4 reupdate ,0x5 boot -;--------------------------------------------------------------------------------------------------------- -[platform] -debug_mode = 1 -eraseflag = 1 -next_work = 2 - -;---------------------------------------------------------------------------------- -;[target] system bootup configuration -;boot_clock = CPU boot frequency, Unit: MHz -;storage_type = boot medium, 0-nand, 1-card0, 2-card2, -1(defualt)auto scan -;---------------------------------------------------------------------------------- -[target] -boot_clock = 1008 -storage_type = -1 -burn_key = 0 - -;--------------------------------------------------------------------------------- -; uboot key detect enable -; 当keyen_flag = 1 时,支持按键检测 -; 当keyen_flag = 0 时,不支持 -;--------------------------------------------------------------------------------- -[key_detect_en] -keyen_flag = 0 - -;--------------------------------------------------------------------------------- -;"一键进烧写功能"的按键值配置,按住位于min~max范围内的按键都可以强制进烧写 -; fel_key_max用于配置按键的最大键值 -; fel_key_min用于配置按键的最小键值 -;--------------------------------------------------------------------------------- -[fel_key] -fel_key_max =07 -fel_key_min =02 - -;---------------------------------------------------------------------------------- -;card boot -;logical_start用于配置启动卡上mbr的位置相对于SD卡sector 0的偏移,单位为sector(512byte) -;sprite_gpio0用于配置卡量产时指示灯所用的gpio -;---------------------------------------------------------------------------------- -;------------------------------------------------------------------------------- -; sprite_work_delay : -; sprite_err_delay : -; sprite_gpio0 : 卡量产、一键recovery状态指示灯 -; next_work : 卡量产完成,工作状态(默认关机) -;------------------------------------------------------------------------------- -[card_boot] -logical_start = 40960 -sprite_work_delay = 500 -sprite_err_delay = 200 -sprite_gpio0 = port:PA15<1> -next_work = 3 - -;--------------------------------------------------------------------------------- -; used : 1: used this config, 0: not -; start_type : 1: start system directly when power supply, 0: wait IR/KEY to power on -; irkey_used : 1: ir key used, 0: not -; pmukey_used: 1: physical button used, 0: not -; pmukey_num : the index of gpio, only support PL -; led_power : 1: light, 0: off, the control gpio is PL10 -; led_state : 1: light, 0: off, default is 0 -;--------------------------------------------------------------------------------- -[box_start_os] -used = 1 -start_type = 1 -irkey_used = 1 -pmukey_used = 1 -pmukey_num = 3 -led_power = 0 -led_state = 1 - -;------------------------------------------------------------------------------- -; boot阶段上电初始化GPIO -; used :模块使能端 置1:开启模块 置0:关闭模块 -; gpiox :上电初始化gpio (名称自定,但不能重复,并且GPIO允许可以多个) -; PH06 : 系统显示LED GPIO -;------------------------------------------------------------------------------- -[boot_init_gpio] -used = 1 -gpio0 = port:PL10<1><1> -gpio1 = port:PA15<1><0> - -;---------------------------------------------------------------------------------- -; used: 模块使能端 1:开启模块 0:关闭模块 -; mode: 模式选择 1:一键进入OTA升级 2:一键恢复(通过sysrecovery分区来恢复) 其他值:无效 -; recovery_key : 按键配置 (例如:recovery_key= port:PH16<0>) -;---------------------------------------------------------------------------------- -[recovery_para] -used = 0 -mode = 2 -recovery_key = port:PL04<0> - - -;--------------------------------------------------------------------------------------------------------- -; if 1 == standby_mode, then support super standby; -; else, support normal standby. -;--------------------------------------------------------------------------------------------------------- -[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> -sdc_d0 = port:PF01<2><1><2> -sdc_clk = port:PF02<2><1><2> -sdc_cmd = port:PF03<2><1><2> -sdc_d3 = port:PF04<2><1><2> -sdc_d2 = port:PF05<2><1><2> - -[card2_boot_para] -card_ctrl = 2 -card_high_speed = 1 -card_line = 8 -sdc_cmd = port:PC06<3><1><2> -sdc_clk = port:PC05<3><1><2> -sdc_d0 = port:PC08<3><1><2> -sdc_d1 = port:PC09<3><1><2> -sdc_d2 = port:PC10<3><1><2> -sdc_d3 = port:PC11<3><1><2> -sdc_d4 = port:PC12<3><1><2> -sdc_d5 = port:PC13<3><1><2> -sdc_d6 = port:PC14<3><1><2> -sdc_d7 = port:PC15<3><1><2> -sdc_2xmode = 1 -;sdc_ddrmode = 1 - -[twi_para] -twi_port = 0 -twi_scl = port:PA11<2> -twi_sda = port:PA12<2> - -[uart_para] -uart_debug_port = 0 -uart_debug_tx = port:PA04<2><1> -uart_debug_rx = port:PA05<2><1> - -[force_uart_para] -force_uart_port = 0 -force_uart_tx = port:PF02<3><1> -force_uart_rx = port:PF04<3><1> - -[jtag_para] -jtag_enable = 1 -jtag_ms = port:PA00<3> -jtag_ck = port:PA01<3> -jtag_do = port:PA02<3> -jtag_di = port:PA03<3> - -[clock] -pll_video = 297 -pll_ve = 402 -pll_periph0 = 600 -pll_gpu = 576 -pll_periph1 = 600 -pll_de = 864 - -;***************************************************************************** -;sdram configuration -; -; dram_tpr13[31:31]=1, use gpio type to detect dram type and -; dram_tpr13[31:31]=0, not use gpio type to detect dram type. -; -; if set ddr type auto detect, use dram_tpr7 to set dram clk. -; for example: if dram_tpr13[13:13] = 1, it use -; dram_tpr7[29:20] to set lpddr2 clk, -; dram_tpr7[19:10] to set lpddr3 clk, -; dram_tpr7[9:0] to set ddr3 or ddr3l clk. -;***************************************************************************** -[dram_para] -dram_clk = 576 -dram_type = 3 -dram_zq = 0x3b3bfb -dram_odt_en = 0x1 -dram_para1 = 0x10E40000 -dram_para2 = 0x0000 -dram_mr0 = 0x1840 -dram_mr1 = 0x40 -dram_mr2 = 0x18 -dram_mr3 = 0x2 -dram_tpr0 = 0x0048A192 -dram_tpr1 = 0x01C2418D -dram_tpr2 = 0x00076051 -dram_tpr3 = 0 -dram_tpr4 = 0 -dram_tpr5 = 0 -dram_tpr6 = 100 -dram_tpr7 = 0x93890240 -dram_tpr8 = 0 -dram_tpr9 = 0 -dram_tpr10 = 0 -dram_tpr11 = 0x6aaa0000 -dram_tpr12 = 0x7979 -dram_tpr13 = 0x1802800 -;---------------------------------------------------------------------------------- -;os life cycle para configuration -;---------------------------------------------------------------------------------- - -;--------------------------------------------------------------------------------------------------------- -; wakeup_src_para: -; sometimes, u would like to add more wakeup src in standby mode, these para will be -; help; -; u need to make sure the standby mode support the wakeup src. Also, some hw -; condition must be guaranteed. -; including: -; cpu_en: power on or off. -; 1: mean power on -; 0: mean power off -; cpu_freq: indicating lowest freq. unit is Mhz; -; dram selfresh_en: selfresh or not. -; 1: enable enter selfresh -; 0: disable enter selfresh -; dram_pll: if not enter selfresh, indicating lowest freq. unit is Mhz; -; wakeup_src: to make the scenario work, the wakeup src is needed. -;--------------------------------------------------------------------------------------------------------- -[wakeup_src_para] -cpu_en = 0 -cpu_freq = 48 -; (cpu:apb:ahb) -pll_ratio = 0x111 -dram_selfresh_en = 1 -dram_freq = 36 -wakeup_src0 = port:PL03<6><0> -wakeup_src_bt = - -;---------------------------------------------------------------------------------- -;i2c configuration -;---------------------------------------------------------------------------------- -[twi0] -twi_used = 1 -twi_scl = port:PA11<2> -twi_sda = port:PA12<2> - -[twi1] -twi_used = 1 -twi_scl = port:PA18<3> -twi_sda = port:PA19<3> - -[twi2] -twi_used = 0 -twi_scl = port:PE12<3> -twi_sda = port:PE13<3> - -;---------------------------------------------------------------------------------- -;uart configuration -;uart_type --- 2 (2 wire), 4 (4 wire), 8 (8 wire, full function) -;---------------------------------------------------------------------------------- -[uart0] -uart_used = 1 -uart_port = 0 -uart_type = 2 -uart_tx = port:PA04<2><1> -uart_rx = port:PA05<2><1> - -[uart1] -uart_used = 1 -uart_port = 1 -uart_type = 4 -uart_tx = port:PG06<2><1> -uart_rx = port:PG07<2><1> -uart_rts = port:PG08<2><1> -uart_cts = port:PG09<2><1> - -[uart2] -uart_used = 1 -uart_port = 2 -uart_type = 4 -uart_tx = port:PA00<2><1> -uart_rx = port:PA01<2><1> -uart_rts = port:PA02<2><1> -uart_cts = port:PA03<2><1> - -[uart3] -uart_used = 0 -uart_port = 3 -uart_type = 4 -uart_tx = port:PA13<3><1> -uart_rx = port:PA14<3><1> -uart_rts = port:PA15<3><1> -uart_cts = port:PA16<3><1> - -;---------------------------------------------------------------------------------- -;SPI controller configuration -;---------------------------------------------------------------------------------- -[spi0] -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:PC03<3><1> - -[spi1] -spi_used = 0 -spi_cs_bitmap = 1 -spi_cs0 = port:PA13<2><1> -spi_sclk = port:PA14<2> -spi_mosi = port:PA15<2> -spi_miso = port:PA16<2> - -;---------------------------------------------------------------------------------- -;SPI device configuration -;---------------------------------------------------------------------------------- -[spi_devices] -spi_dev_num = 1 - -[spi_board0] -modalias = "m25p32" -max_speed_hz = 33000000 -bus_num = 0 -chip_select = 0 -mode = 0 - -;---------------------------------------------------------------------------------- -;userspace gpio interface for android -;---------------------------------------------------------------------------------- -[gpio_para] -gpio_used = 1 -gpio_num = 2 -gpio_pin_1 = port:PL10<1><1> -gpio_pin_2 = port:PA15<1><0> - -[led_assign] -normal_led = "gpio_pin_1" -standby_led = "gpio_pin_2" - -;---------------------------------------------------------------------------------- -;thermal configuration -;ths_trip_count : temperature trigger number -;ths_trip_0 : first temperature trigger -;ths_trip_1 : second temperature trigger -;ths_trip_2 : third temperature trigger, when upto this temperature, system shutdown -;ths_trip_0_min : first temperature trigger's min freq -;ths_trip_0_max : first temperature trigger's max freq -;ths_trip_1_min : second temperature trigger's min freq -;ths_trip_1_max : second temperature trigger's max freq -;---------------------------------------------------------------------------------- -[ths_para] -ths_used = 1 -ths_trip1_count = 5 -ths_trip1_0 = 70 -ths_trip1_1 = 80 -ths_trip1_2 = 90 -ths_trip1_3 = 100 -ths_trip1_4 = 105 -ths_trip1_5 = 0 -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 = 4 -ths_trip1_5_min = 0 -ths_trip1_5_max = 0 -ths_trip1_6_min = 0 -ths_trip1_6_max = 0 -ths_trip2_count = 1 -ths_trip2_0 = 105 -;---------------------------------------------------------------------------------- -;cooler_table cooler_count <=32 -;---------------------------------------------------------------------------------- -[cooler_table] -cooler_count = 5 -cooler0 = "1200000 4 4294967295 0" -cooler1 = "1200000 3 4294967295 0" -cooler2 = "1200000 2 4294967295 0" -cooler3 = "1200000 1 4294967295 0" -cooler4 = "504000 1 4294967295 0" - - -[nand0_para] -nand_support_2ch = 0 - -nand0_used = 1 -nand0_we = port:PC00<2><0><1> -nand0_ale = port:PC01<2><0><1> -nand0_cle = port:PC02<2><0><1> -nand0_ce1 = port:PC03<2><1><1> -nand0_ce0 = port:PC04<2><1><1> -nand0_nre = port:PC05<2><0><1> -nand0_rb0 = port:PC06<2><1><1> -nand0_rb1 = port:PC07<2><1><1> -nand0_d0 = port:PC08<2><0><1> -nand0_d1 = port:PC09<2><0><1> -nand0_d2 = port:PC10<2><0><1> -nand0_d3 = port:PC11<2><0><1> -nand0_d4 = port:PC12<2><0><1> -nand0_d5 = port:PC13<2><0><1> -nand0_d6 = port:PC14<2><0><1> -nand0_d7 = port:PC15<2><0><1> -nand0_ndqs = port:PC16<2><0><1> - - -;----------------------------------------------------------------- -;auto_hpd - 1:need hotplud for hdmi/tv; 0:dont hotplud for lcd -;output_type - 0:none; 1:lcd; 2:tv; 4:hdmi; 8:vga (as default config in homlet) -;hdmi_channel- the display channel for hdmi (as default config in homlet) -;cvbs_channel- the display channel for cvbs (as default config in homlet) -;hdmi_mode - as default config for output of hdmi in homlet -;cvbs_mode - as default config for output of tv in homlet. 11:PAL; 14:NTSC -;check the definition(of hdmi/cvbs_mode) of disp_tv_mode in sunxi_display2.h -;hdmi_mode_check - disable/enable the function of checking hdmi mode, 0 is disable, 1 is enable -;----------------------------------------------------------------- -[boot_disp] -advert_disp = 0 -auto_hpd = 1 -output_type = 4 -hdmi_channel = 0 -hdmi_mode = 5 -cvbs_channel = 1 -cvbs_mode = 11 -output_full = 1 -hdmi_mode_check = 1 - -;---------------------------------------------------------------------------------- -;disp init configuration -; -;disp_mode (0:screen0; 1:screen1) -;screenx_output_type (0:none; 1:lcd; 3:hdmi;) -;screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50) -; (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60) -;fbx format (0:ARGB 1:ABGR 2:RGBA 3:BGRA 5:RGB565 8:RGB888 12:ARGB4444 16:ARGB1555 18:RGBA5551) -;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) -;lcdx_backlight (lcd init backlight,the range:[0,256],default:197 -;---------------------------------------------------------------------------------- -[disp_init] -disp_init_enable = 1 -disp_mode = 0 - -screen0_output_type = 3 -screen0_output_mode = 4 - -screen1_output_type = 3 -screen1_output_mode = 4 - -fb0_format = 0 -fb0_width = 0 -fb0_height = 0 - -fb1_format = 0 -fb1_width = 0 -fb1_height = 0 - -;---------------------------------------------------------------------------------- -;hdmi configuration -;---------------------------------------------------------------------------------- -[hdmi_para] -hdmi_used = 1 -hdmi_power = "vcc-hdmi-18" - -[hdmi_cec] -hdmi_cec_used = 1 -hdmi_cec_pin = port:PA14<0><0> - -[tv_para] -tv_used = 0 -tv_dac_used = 1 -tv_dac_src0 = 0 - -;---------------------------------------------------------------------------------- -;pwm config -;---------------------------------------------------------------------------------- -[pwm0_para] -pwm_used = 0 -pwm_positive = port:PA05<3><0> - -;------------------------------------------------------------------------------; -; 10/100/100Mbps Ethernet MAC Controller Configure ; -;------------------------------------------------------------------------------; -; Options: ; -; gmac_used --- 0: not used, 1: external phy, 2: internal phy ; -; gmac_powerx -- A[:B] A: axp channel, B: voltage value ; -; If set gamc_phy to use internal PHY, do not config port ; -;------------------------------------------------------------------------------; -; MII RMII MII RMII MII RMII ; -; PD00 * PD06 * * PD12 * * ; -; PD01 * PD07 * PD13 * * ; -; PD02 * * PD08 * PD14 * ; -; PD03 * * PD09 * * PD15 * ; -; PD04 * PD10 * * PD16 * * ; -; PD05 * PD11 * * PD17 * * ; -;------------------------------------------------------------------------------; -[gmac0] -gmac_used = 2 -;gmac_rxd3 = port:PD00<2><3> -;gmac_rxd2 = port:PD01<2><3> -;gmac_rxd1 = port:PD02<2><3> -;gmac_rxd0 = port:PD03<2><3> -;gmac_rxclk = port:PD04<2><3> -;gmac_rxdv = port:PD05<2><3> -;gmac_rxerr = port:PD06<2><3> -;gmac_txd3 = port:PD07<2><3> -;gmac_txd2 = port:PD08<2><3> -;gmac_txd1 = port:PD09<2><3> -;gmac_txd0 = port:PD10<2><3> -;gmac_crs = port:PD11<2><3> -;gmac_txclk = port:PD12<2><3> -;gmac_txen = port:PD13<2><3> -;gmac_txerr = port:PD14<2><3> -;gmac_col = port:PD15<2><3> -;gmac_mdc = port:PD16<2><3> -;gmac_mdio = port:PD17<2><3> -gmac_power1 = - -;-------------------------------------------------------------------------------- -;vip (video input port) configuration -;vip_used: 0:disable 1:enable -;vip_mode: 0:sample one interface to one buffer 1:sample two interface to one buffer -;vip_dev_qty: The quantity of devices linked to capture bus -; -;vip_define_sensor_list: If you want use sensor detect function, please set vip_define_sensor_list = 1, and -; verify that file /system/etc/hawkview/sensor_list_cfg.ini is properly configured! -; -;vip_dev(x)_pos: sensor position, "rear" or "front", if vip_define_sensor_list = 1, -;vip_dev(x)_pos must be configured! -; -;vip_dev(x)_isp_used 0:not use isp 1:use isp -;vip_dev(x)_fmt: 0:yuv 1:bayer raw rgb -;vip_dev(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby -;vip_dev(x)_vflip: flip in vertical direction 0:disable 1:enable -;vip_dev(x)_hflip: flip in horizontal direction 0:disable 1:enable -;vip_dev(x)_iovdd: camera module io power handle string, pmu power supply -;vip_dev(x)_iovdd_vol: camera module io power voltage, pmu power supply -;vip_dev(x)_avdd: camera module analog power handle string, pmu power supply -;vip_dev(x)_avdd_vol: camera module analog power voltage, pmu power supply -;vip_dev(x)_dvdd: camera module core power handle string, pmu power supply -;vip_dev(x)_dvdd_vol: camera module core power voltage, pmu power supply -;vip_dev(x)_afvdd: camera module vcm power handle string, pmu power supply -;vip_dev(x)_afvdd_vol: camera module vcm power voltage, pmu power supply -;x indicates the index of the devices which are linked to the same capture bus -;fill voltage in uV, e.g. iovdd = 2.8V, vip_devx_iovdd_vol = 2800000 -;fill handle string as below: -;axp22_eldo3 -;axp22_dldo4 -;axp22_eldo2 -;fill handle string "" when not using any pmu power supply -;-------------------------------------------------------------------------------- - -[csi0] - -vip_used = 0 -vip_mode = 0 -vip_dev_qty = 1 -vip_define_sensor_list = 0 - -vip_csi_pck = port:PE00<2> -vip_csi_mck = port:PE01<2> -vip_csi_hsync = port:PE02<2> -vip_csi_vsync = port:PE03<2> -vip_csi_d0 = port:PE04<2> -vip_csi_d1 = port:PE05<2> -vip_csi_d2 = port:PE06<2> -vip_csi_d3 = port:PE07<2> -vip_csi_d4 = port:PE08<2> -vip_csi_d5 = port:PE09<2> -vip_csi_d6 = port:PE10<2> -vip_csi_d7 = port:PE11<2> -vip_csi_sck = port:PE12<2> -vip_csi_sda = port:PE13<2> - -vip_dev0_mname = "ov5640" -vip_dev0_pos = "rear" -vip_dev0_lane = 1 -vip_dev0_twi_id = 0 -vip_dev0_twi_addr = 0x78 -vip_dev0_isp_used = 0 -vip_dev0_fmt = 0 -vip_dev0_stby_mode = 0 -vip_dev0_vflip = 0 -vip_dev0_hflip = 0 -vip_dev0_iovdd = "" -vip_dev0_iovdd_vol = 2800000 -vip_dev0_avdd = "" -vip_dev0_avdd_vol = 2800000 -vip_dev0_dvdd = "" -vip_dev0_dvdd_vol = 1500000 -vip_dev0_afvdd = "" -vip_dev0_afvdd_vol = 2800000 -vip_dev0_power_en = -vip_dev0_reset = -vip_dev0_pwdn = -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 = 0x18 - - -vip_dev1_mname = "" -vip_dev1_pos = "front" -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 = - - -;-------------------------------------------------------------------------------- -;tv configuration -; -;-------------------------------------------------------------------------------- -[tvout_para] -tvout_used = -tvout_channel_num = -tv_en = - -[tvin_para] -tvin_used = -tvin_channel_num = - -;---------------------------------------------------------------------------------- -;DE-Interlace configuration -;---------------------------------------------------------------------------------- -[di_para] -di_used = 1 - -;-------------------------------------------------------------------------------- -; SDMMC PINS MAPPING | -; ------------------------------------------------------------------------------| -; Config Guide | -; sdc_used: 1-enable card, 0-disable card | -; sdc_detmode: card detect mode | -; 1-detect card by gpio polling | -; 2-detect card by gpio irq(must use IO with irq function) | -; 3-no detect, always in for boot card | -; 4-manually insert and remove by /proc/driver/sunxi-mmc.x/insert| -; sdc_buswidth: card bus width, 1-1bit, 4-4bit, 8-8bit | -; sdc_use_wp: 1-with write protect IO, 0-no write protect IO | -; sdc_isio: for sdio card | -; sdc_regulator: power control.if card supports UHS-I/DDR and HS200 timing for| -; SD3.0 or eMMC4.5, regulator must be configured. the value is | -; the ldo name of AXP221, eg: sdc_regulator = "axp22_eldo2" | -; other: GPIO Mapping configuration | -; ------------------------------------------------------------------------------| -; Note: | -; 1 if detmode=2, sdc_det's config=6 | -; else if detmode=1, sdc_det's config=0 | -; else sdc_det IO is not necessary | -; 2 if the customer wants to support UHS-I and HS200 features, he must provide| -; an independent power supply for the card. This is only used in platforms | -; that supports SD3.0 cards and eMMC4.4+ flashes | -;-------------------------------------------------------------------------------- -[mmc0_para] -sdc_used = 1 -sdc_detmode = 1 -sdc_buswidth = 4 -sdc_clk = port:PF02<2><1><2> -sdc_cmd = port:PF03<2><1><2> -sdc_d0 = port:PF01<2><1><2> -sdc_d1 = port:PF00<2><1><2> -sdc_d2 = port:PF05<2><1><2> -sdc_d3 = port:PF04<2><1><2> -sdc_det = port:PF06<0><1><2> -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> -sdc_cmd = port:PG01<2><1><3> -sdc_d0 = port:PG02<2><1><3> -sdc_d1 = port:PG03<2><1><3> -sdc_d2 = port:PG04<2><1><3> -sdc_d3 = port:PG05<2><1><3> -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> -sdc_cmd = port:PC06<3><1><2> -sdc_d0 = port:PC08<3><1><2> -sdc_d1 = port:PC09<3><1><2> -sdc_d2 = port:PC10<3><1><2> -sdc_d3 = port:PC11<3><1><2> -sdc_d4 = port:PC12<3><1><2> -sdc_d5 = port:PC13<3><1><2> -sdc_d6 = port:PC14<3><1><2> -sdc_d7 = port:PC15<3><1><2> -emmc_rst = port:PC16<3><1><2> -sdc_det = -sdc_use_wp = 0 -sdc_wp = -sdc_isio = 0 -sdc_regulator = "none" -sdc_power_supply = "none" -sdc_2xmode = 1 -;sdc_ddrmode = 1 - -; ------------------------------------------------------------------------------| -; sim card configuration -;-------------------------------------------------------------------------------- -[smc_para] -smc_used = -smc_rst = port:PA09<2> -smc_vppen = port:PA20<3> -smc_vppp = port:PA21<3> -smc_det = port:PA10<2> -smc_vccen = port:PA06<2> -smc_sck = port:PA07<2> -smc_sda = port:PA08<2> - - -;-------------------------------- -;[usbc0]:控制器0的配置。 -;usb_used:USB使能标志。置1,表示系统中USB模块可用,置0,则表示系统USB禁用。 -;usb_port_type:USB端口的使用情况。 0:device only;1:host only;2:OTG -;usb_detect_type:USB端口的检查方式。0:不做检测;1:vbus/id检查;2:id/dpdm检查 -;usb_id_gpio:USB ID pin脚配置。具体请参考gpio配置说明。 -;usb_det_vbus_gpio:USB DET_VBUS pin脚配置。具体请参考gpio配置说明。 -;usb_drv_vbus_gpio:USB DRY_VBUS pin脚配置。具体请参考gpio配置说明。 -;usb_det_vbus_gpio: "axp_ctrl",表示axp 提供 -;usb_restrict_gpio usb限流控制pin -;usb_restric_flag: usb限流标置 -;-------------------------------- -;-------------------------------- -;--- USB0控制标志 -;-------------------------------- -[usbc0] -usb_used = 1 -usb_port_type = 2 -usb_detect_type = 1 -usb_id_gpio = port:PA07<1><1> -usb_det_vbus_gpio = port:PA07<1><1> -usb_drv_vbus_gpio = port:PL02<1><0><0> -usb_host_init_state = 0 -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 - -;-------------------------------- -;--- USB1控制标志 -;-------------------------------- -[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 - -;-------------------------------- -;--- USB2控制标志 -;-------------------------------- -[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 - -;-------------------------------- -;--- USB3控制标志 -;-------------------------------- -[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 Device -;-------------------------------- -[usb_feature] -vendor_id = 0x18D1 -mass_storage_id = 0x0001 -adb_id = 0x0002 - -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 - - -;-------------------------------------------------------------------------------- -;wifi/bt/fm/gps/nfc modules configuration -;module_power0: axp used by module, "axp22_dldo1" - use dldo1, not use keep it empty -;module_power0_vol: power0 voltage, mv; -;chip_en: enable chip io -;lpo_use_apclk: ""- not use, "losc_out"- a23/33/H3, "ac10032k1"、"ac10032k2"、"ac10032k3"- a80 -;-------------------------------------------------------------------------------- -[module_para] -module_power0 = port:PL07<1><1> -module_power0_vol = 0 -module_power1 = port:PG13<1><0> -module_power1_vol = 1 -module_power2 = -module_power2_vol = -module_power3 = -module_power3_vol = -chip_en = -lpo_use_apclk = "losc_out" - -;-------------------------------------------------------------------------------- -;wifi configuration -;wifi_sdc_id: 0- SDC0, 1- SDC1, 2- SDC2, 3- SDC3 -;wifi_usbc_id: 0- USB0, 1- USB1, 2- USB2 -;wifi_usbc_type: 1- EHCI(speed 2.0), 2- OHCI(speed 1.0) -;wl_reg_on: wifi function enable pin -;wl_host_wake: wlan device wake-up host pin -;wl_host_wake_invert: whether wl_host_wake use inverter between ap and module -; 0: not used, 1: used -;-------------------------------------------------------------------------------- -[wifi_para] -wifi_used = 1 -wifi_sdc_id = 1 -wifi_usbc_id = 3 -wifi_usbc_type = 1 -wl_reg_on = port:PL07<1><0> -wl_host_wake = port:PG10<0><0> -wl_host_wake_invert = 0 - -;-------------------------------------------------------------------------------- -;bluetooth configuration -;bt_used: 0- no used, 1- used -;bt_uard_id: 0- uart0, 1- uart1, 2- uart2 -;bt_uart_baud: uart baud rate, unit: bps -;bt_rst_n: bt function enable io -;bt_wake: host wake-up bluetooth device -;bt_host_wake: bt device wake-up host -;bt_host_wake_invert: whether bt_host_wake use inverter between ap and module -; 0: not used, 1: used -;-------------------------------------------------------------------------------- -[bt_para] -bt_used = 1 -bt_uart_id = 1 -bt_uart_baud = 1500000 -bt_rst_n = port:PG12<1><0> -;bt_wake = port:PA17<1><1> -bt_host_wake = port:PG11<1><0> -bt_host_wake_invert = 0 - -;-------------------------------------------------------------------------------- -;daudio_master:1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) use -; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) not use -; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use -; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) use -;daudio_select:0 is pcm.1 is i2s -;audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format). use -; 2:SND_SOC_DAIFMT_RIGHT_J(right justfied format). -; 3:SND_SOC_DAIFMT_LEFT_J(left justfied format) -; 4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use -; 5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge) -;signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) use -; 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM) -; 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) use -; 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM) -;over_sample_rate: support 128fs/192fs/256fs/384fs/512fs/768fs -;sample_resolution :16bits/20bits/24bits -;word_select_size :16bits/20bits/24bits/32bits -;pcm_sync_period :16/32/64/128/256 -;msb_lsb_first :0: msb first; 1: lsb first -;sign_extend :0: zero pending; 1: sign extend -;slot_index :slot index: 0: the 1st slot - 3: the 4th slot -;slot_width :8 bit width / 16 bit width -;frame_width :0: long frame = 2 clock width; 1: short frame -;tx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law -;rx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law -;-------------------------------------------------------------------------------- -[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_sync_period = 256 -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> -i2s_bclk = port:PA19<2><1> -i2s_dout0 = port:PA20<2><1> -i2s_din = port:PA21<2><1> - - -[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_sync_period = 256 -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> -i2s_bclk = port:PG11<2><1> -i2s_dout0 = port:PG12<2><1> -i2s_din = port:PG13<2><1> - - -[audio0] -audio_used = 1 -lineout_vol = 0x1f -cap_vol = 0x5 -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><0> - -[spdif0] -spdif_used = 1 -spdif_dout = port:PA17<2><1> - -[audiohub] -hub_used = 0 -codec_used = 1 -spdif_used = 1 -hdmi_used = 1 - -;---------------------------------------------------------------------------------- -;ir rx --- infra remote configuration -;---------------------------------------------------------------------------------- -[s_cir0] -ir_used = 1 -ir_rx = port:PL11<2><1> -ir_power_key_code0 = 0x57 -ir_addr_code0 = 0x9f00 -ir_power_key_code1 = 0x1a -ir_addr_code1 = 0xfb04 -ir_power_key_code2 = 0x14 -ir_addr_code2 = 0x7F80 -ir_power_key_code3 = 0x51 -ir_addr_code3 = 0x7F80 -ir_power_key_code4 = 0x0b -ir_addr_code4 = 0xF708 -ir_power_key_code5 = 0x03 -ir_addr_code5 = 0x00EF -ir_power_key_code6 = 0x9f -ir_addr_code6 = 0x4CB3 -ir_power_key_code7 = 0x0a -ir_addr_code7 = 0x7748 -ir_power_key_code8 = 0x45 -ir_addr_code8 = 0xbd02 -ir_power_key_code9 = 0x4d -ir_addr_code9 = 0xde21 -ir_power_key_code10 = 0x18 -ir_addr_code10 = 0xfe01 -ir_power_key_code11 = 0x57 -ir_addr_code11 = 0xff00 -ir_power_key_code12 = 0x4d -ir_addr_code12 = 0xff40 -ir_power_key_code13 = 0x88 -ir_addr_code13 = 0xdd22 - - -;---------------------------------------------------------------------------------- -;ir tx--- infra remote configuration -;---------------------------------------------------------------------------------- -[cir] -ir_used = 0 -ir_tx = port:PH07<2> - - -;---------------------------------------------------------------------------------- -; dvfs voltage-frequency table configuration -; -; pmuic_type:0:none, 1:gpio, 2:i2c -; pmu_gpio0: gpio config. -; pmu_levelx: 0~9999: voltage(mV), 10000~90000:gpio0 state. voltage form high to low. -; -; extremity_freq(Hz): cpu extremity frequency when run benckmark or demo apk -; 1536MHz@1500mV with radiator, 1296MHz@1340mV without radiator -; max_freq: cpu maximum frequency, based on Hz, can not be more than 1200MHz -; min_freq: cpu minimum frequency, based on Hz, can not be less than 60MHz -; -; LV_count: count of LV_freq/LV_volt, must be < 16 -; -; LV1: core vdd is 1.50v if cpu frequency is (1296Mhz, 1536Mhz] -; LV2: core vdd is 1.34v if cpu frequency is (1200Mhz, 1296Mhz] -; LV3: core vdd is 1.32v if cpu frequency is (1008Mhz, 1200Mhz] -; LV4: core vdd is 1.20v if cpu frequency is (816Mhz, 1008Mhz] -; LV5: core vdd is 1.10v if cpu frequency is (648Mhz, 816Mhz] -; LV6: core vdd is 1.04v if cpu frequency is (0Mhz, 648Mhz] -; LV7: core vdd is 1.04v if cpu frequency is (0Mhz, 648Mhz] -; LV8: core vdd is 1.04v if cpu frequency is (0Mhz, 648Mhz] -; -;---------------------------------------------------------------------------------- -[dvfs_table] -pmuic_type = 0 -pmu_gpio0 = port:PL06<1><1><2><1> -pmu_level0 = 11300 -pmu_level1 = 01100 -;extremity_freq = 1344000000 -max_freq = 1200000000 -min_freq = 480000000 -boot_freq = 1008000000 -LV_count = 8 - -LV1_freq = 1200000000 -LV1_volt = 1300 - -LV2_freq = 1008000000 -LV2_volt = 1200 - -LV3_freq = 0 -LV3_volt = 1100 - -LV4_freq = 0 -LV4_volt = 1100 - -LV5_freq = 0 -LV5_volt = 1100 - -LV6_freq = 0 -LV6_volt = 1100 - -LV7_freq = 0 -LV7_volt = 1100 - -LV8_freq = 0 -LV8_volt = 1100 - -[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 - -;---------------------------------------------------------------------------------- -;special gpio config for Board Vendor ID -;vid_used -- if board need distinguished by gpio,set '1';if not,set '0' -;vid_count -- the count of vendor id bits -;vid_bit_[0..3] -- gpio config for each bit of board vendor id -;example: vendor id hex format :{0x 0 0 1 0 } -; | | | | -; [vid_bit_3] [vid_bit_2] [vid_bit_1] [vid_bit_0] -;---------------------------------------------------------------------------------- -[board_vendor] -vid_used = 1 -vid_count = 6 -vid_bit_0 = port:PD16<0><1> -vid_bit_1 = port:PD15<0><1> -vid_bit_2 = port:PD14<0><1> -vid_bit_3 = port:PD13<0><1> -vid_bit_4 = port:PD12<0><1> -vid_bit_5 = port:PD17<0><1> - -;---------------------------------------------------------------------------------- -;virtual device -;virtual device for pinctrl testing -;device have pin PA1 PA2 -;---------------------------------------------------------------------------------- -[Vdevice] -Vdevice_used = 0 -Vdevice_0 = port:PH10<5><1><2> -Vdevice_1 = port:PH11<5><1><2> - -;---------------------------------------------------------------------------------- -;s_uart0 config parameters -;s_uart_used --s_uart0 whether used for arisc debugging -;---------------------------------------------------------------------------------- -[s_uart0] -s_uart_used = 0 -s_uart_tx = port:PL02<2> -s_uart_rx = port:PL03<2> - -;---------------------------------------------------------------------------------- -;s_rsb0 config parameters -;s_rsb_used --s_rsb0 whether used for arisc -;---------------------------------------------------------------------------------- -[s_rsb0] -s_rsb_used = 1 -s_rsb_sck = port:PL00<2><1><2> -s_rsb_sda = port:PL01<2><1><2> - -;---------------------------------------------------------------------------------- -;s_jtag0 config parameters -;s_jtag0_used --s_jtag0 whether used for arisc -; -;---------------------------------------------------------------------------------- -[s_jtag0] -s_jtag_used = 0 -s_jtag_tms = port:PL04<2><1><2> -s_jtag_tck = port:PL05<2><1><2> -s_jtag_tdo = port:PL06<2><1><2> -s_jtag_tdi = port:PL07<2><1><2> - -;---------------------------------------------------------------------------------- -;s_powchk cpus power check -;s_powchk_used --power check whether used for arisc in super standby -; bit31:enable power updat, bit1:wakeup when power state exception -; bit0:wakeup when power consumption exception -;s_power_reg the expected regs stand for power on/off state -;s_system_power the limit maxmum power consumption when super standby (unit: mw) -; -;---------------------------------------------------------------------------------- -[s_powchk] -s_powchk_used = 0x80000000 -s_power_reg = 0x00000000 -s_system_power = 50 - -;---------------------------------------------------------------------------------- -;scr configuration -;---------------------------------------------------------------------------------- -[sim0] -scr_used = 1 -scr_vccen = port:PA06<2> -scr_slk = port:PA07<2> -scr_sda = port:PA08<2> -scr_rst = port:PA09<2> -scr_det = port:PA10<2> - - -;-------------------------------------------------------------------------------- -;tsc configuration -;-------------------------------------------------------------------------------- -[ts0] -tsc_used = 1 -tsc_clk = port:PE00<3> -tsc_err = port:PE01<3> -tsc_sync = port:PE02<3> -tsc_dvld = port:PE03<3> -tsc_d0 = port:PE04<3> -tsc_d1 = port:PE05<3> -tsc_d2 = port:PE06<3> -tsc_d3 = port:PE07<3> -tsc_d4 = port:PE08<3> -tsc_d5 = port:PE09<3> -tsc_d6 = port:PE10<3> -tsc_d7 = port:PE11<3> - -;-------------------------------------------------------------------------------- -;gpio key -;-------------------------------------------------------------------------------- -[gpio_power_key] -key_used = 1 -key_io = port:PL03<6><0> - -;---------------------------------------------------------------------------------- -; key para -; -; key_used --0:not used, 1:used -; key_cnt --how many key button attach to keyadc. -; key*_vol --the threshold of input voltage of key. -; -; For example: if key2_vol < $(keyadc value) < key3_vol, then key3 be reported. -;---------------------------------------------------------------------------------- -[key_para] -key_used = 0 -key_cnt = 5 -key1_vol = 222 -key2_vol = 444 -key3_vol = 666 -key4_vol = 857 -key5_vol = 2000 - - -;---------------------------------------------------------------------------------- -;display seven segment para -;---------------------------------------------------------------------------------- -[d7s_para] -d7s_used = 0 -din_gpio = port:PD00<1><1> -clk_gpio = port:PD01<1><1> -stb_gpio = port:PD02<1><1> +;H3 dolphin-p1 board application +;H3 dolphin-p1 board application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 +; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> +;--------------------------------------------------------------------------------------------------------- + +[product] +version = "100" +machine = "Beelink X2" + +;--------------------------------------------------------------------------------------------------------- +; eraseflag - 1 erase data partition, 0 - do not erase data partition +; next_work - action after burn, 0x0 by config, 0x1, normal, 0x2 reboot 0x3 ,shutdown,0x4 reupdate ,0x5 boot +;--------------------------------------------------------------------------------------------------------- +[platform] +debug_mode = 1 +eraseflag = 1 +next_work = 2 + +;---------------------------------------------------------------------------------- +;[target] system bootup configuration +;boot_clock = CPU boot frequency, Unit: MHz +;storage_type = boot medium, 0-nand, 1-card0, 2-card2, -1(defualt)auto scan +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1008 +storage_type = -1 +burn_key = 0 + +;--------------------------------------------------------------------------------- +; uboot key detect enable +; 当keyen_flag = 1 时,支持按键检测 +; 当keyen_flag = 0 时,不支持 +;--------------------------------------------------------------------------------- +[key_detect_en] +keyen_flag = 0 + +;--------------------------------------------------------------------------------- +;"一键进烧写功能"的按键值配置,按住位于min~max范围内的按键都可以强制进烧写 +; fel_key_max用于配置按键的最大键值 +; fel_key_min用于配置按键的最小键值 +;--------------------------------------------------------------------------------- +[fel_key] +fel_key_max =07 +fel_key_min =02 + +;---------------------------------------------------------------------------------- +;card boot +;logical_start用于配置启动卡上mbr的位置相对于SD卡sector 0的偏移,单位为sector(512byte) +;sprite_gpio0用于配置卡量产时指示灯所用的gpio +;---------------------------------------------------------------------------------- +;------------------------------------------------------------------------------- +; sprite_work_delay : +; sprite_err_delay : +; sprite_gpio0 : 卡量产、一键recovery状态指示灯 +; next_work : 卡量产完成,工作状态(默认关机) +;------------------------------------------------------------------------------- +[card_boot] +logical_start = 40960 +sprite_work_delay = 500 +sprite_err_delay = 200 +sprite_gpio0 = port:PA15<1> +next_work = 3 + +;--------------------------------------------------------------------------------- +; used : 1: used this config, 0: not +; start_type : 1: start system directly when power supply, 0: wait IR/KEY to power on +; irkey_used : 1: ir key used, 0: not +; pmukey_used: 1: physical button used, 0: not +; pmukey_num : the index of gpio, only support PL +; led_power : 1: light, 0: off, the control gpio is PL10 +; led_state : 1: light, 0: off, default is 0 +;--------------------------------------------------------------------------------- +[box_start_os] +used = 1 +start_type = 1 +irkey_used = 1 +pmukey_used = 1 +pmukey_num = 3 +led_power = 0 +led_state = 1 + +;------------------------------------------------------------------------------- +; boot阶段上电初始化GPIO +; used :模块使能端 置1:开启模块 置0:关闭模块 +; gpiox :上电初始化gpio (名称自定,但不能重复,并且GPIO允许可以多个) +; PH06 : 系统显示LED GPIO +;------------------------------------------------------------------------------- +[boot_init_gpio] +used = 1 +gpio0 = port:PL10<1><1> +gpio1 = port:PA15<1><0> + +;---------------------------------------------------------------------------------- +; used: 模块使能端 1:开启模块 0:关闭模块 +; mode: 模式选择 1:一键进入OTA升级 2:一键恢复(通过sysrecovery分区来恢复) 其他值:无效 +; recovery_key : 按键配置 (例如:recovery_key= port:PH16<0>) +;---------------------------------------------------------------------------------- +[recovery_para] +used = 0 +mode = 2 +recovery_key = port:PL04<0> + + +;--------------------------------------------------------------------------------------------------------- +; if 1 == standby_mode, then support super standby; +; else, support normal standby. +;--------------------------------------------------------------------------------------------------------- +[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> +sdc_d0 = port:PF01<2><1><2> +sdc_clk = port:PF02<2><1><2> +sdc_cmd = port:PF03<2><1><2> +sdc_d3 = port:PF04<2><1><2> +sdc_d2 = port:PF05<2><1><2> + +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_cmd = port:PC06<3><1><2> +sdc_clk = port:PC05<3><1><2> +sdc_d0 = port:PC08<3><1><2> +sdc_d1 = port:PC09<3><1><2> +sdc_d2 = port:PC10<3><1><2> +sdc_d3 = port:PC11<3><1><2> +sdc_d4 = port:PC12<3><1><2> +sdc_d5 = port:PC13<3><1><2> +sdc_d6 = port:PC14<3><1><2> +sdc_d7 = port:PC15<3><1><2> +sdc_2xmode = 1 +;sdc_ddrmode = 1 + +[twi_para] +twi_port = 0 +twi_scl = port:PA11<2> +twi_sda = port:PA12<2> + +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PA04<2><1> +uart_debug_rx = port:PA05<2><1> + +[force_uart_para] +force_uart_port = 0 +force_uart_tx = port:PF02<3><1> +force_uart_rx = port:PF04<3><1> + +[jtag_para] +jtag_enable = 1 +jtag_ms = port:PA00<3> +jtag_ck = port:PA01<3> +jtag_do = port:PA02<3> +jtag_di = port:PA03<3> + +[clock] +pll_video = 297 +pll_ve = 402 +pll_periph0 = 600 +pll_gpu = 576 +pll_periph1 = 600 +pll_de = 864 + +;***************************************************************************** +;sdram configuration +; +; dram_tpr13[31:31]=1, use gpio type to detect dram type and +; dram_tpr13[31:31]=0, not use gpio type to detect dram type. +; +; if set ddr type auto detect, use dram_tpr7 to set dram clk. +; for example: if dram_tpr13[13:13] = 1, it use +; dram_tpr7[29:20] to set lpddr2 clk, +; dram_tpr7[19:10] to set lpddr3 clk, +; dram_tpr7[9:0] to set ddr3 or ddr3l clk. +;***************************************************************************** +[dram_para] +dram_clk = 576 +dram_type = 3 +dram_zq = 0x3b3bfb +dram_odt_en = 0x1 +dram_para1 = 0x10E40000 +dram_para2 = 0x0000 +dram_mr0 = 0x1840 +dram_mr1 = 0x40 +dram_mr2 = 0x18 +dram_mr3 = 0x2 +dram_tpr0 = 0x0048A192 +dram_tpr1 = 0x01C2418D +dram_tpr2 = 0x00076051 +dram_tpr3 = 0 +dram_tpr4 = 0 +dram_tpr5 = 0 +dram_tpr6 = 100 +dram_tpr7 = 0x93890240 +dram_tpr8 = 0 +dram_tpr9 = 0 +dram_tpr10 = 0 +dram_tpr11 = 0x6aaa0000 +dram_tpr12 = 0x7979 +dram_tpr13 = 0x1802800 +;---------------------------------------------------------------------------------- +;os life cycle para configuration +;---------------------------------------------------------------------------------- + +;--------------------------------------------------------------------------------------------------------- +; wakeup_src_para: +; sometimes, u would like to add more wakeup src in standby mode, these para will be +; help; +; u need to make sure the standby mode support the wakeup src. Also, some hw +; condition must be guaranteed. +; including: +; cpu_en: power on or off. +; 1: mean power on +; 0: mean power off +; cpu_freq: indicating lowest freq. unit is Mhz; +; dram selfresh_en: selfresh or not. +; 1: enable enter selfresh +; 0: disable enter selfresh +; dram_pll: if not enter selfresh, indicating lowest freq. unit is Mhz; +; wakeup_src: to make the scenario work, the wakeup src is needed. +;--------------------------------------------------------------------------------------------------------- +[wakeup_src_para] +cpu_en = 0 +cpu_freq = 48 +; (cpu:apb:ahb) +pll_ratio = 0x111 +dram_selfresh_en = 1 +dram_freq = 36 +wakeup_src0 = port:PL03<6><0> +wakeup_src_bt = + +;---------------------------------------------------------------------------------- +;i2c configuration +;---------------------------------------------------------------------------------- +[twi0] +twi_used = 1 +twi_scl = port:PA11<2> +twi_sda = port:PA12<2> + +[twi1] +twi_used = 1 +twi_scl = port:PA18<3> +twi_sda = port:PA19<3> + +[twi2] +twi_used = 0 +twi_scl = port:PE12<3> +twi_sda = port:PE13<3> + +;---------------------------------------------------------------------------------- +;uart configuration +;uart_type --- 2 (2 wire), 4 (4 wire), 8 (8 wire, full function) +;---------------------------------------------------------------------------------- +[uart0] +uart_used = 1 +uart_port = 0 +uart_type = 2 +uart_tx = port:PA04<2><1> +uart_rx = port:PA05<2><1> + +[uart1] +uart_used = 1 +uart_port = 1 +uart_type = 4 +uart_tx = port:PG06<2><1> +uart_rx = port:PG07<2><1> +uart_rts = port:PG08<2><1> +uart_cts = port:PG09<2><1> + +[uart2] +uart_used = 1 +uart_port = 2 +uart_type = 4 +uart_tx = port:PA00<2><1> +uart_rx = port:PA01<2><1> +uart_rts = port:PA02<2><1> +uart_cts = port:PA03<2><1> + +[uart3] +uart_used = 0 +uart_port = 3 +uart_type = 4 +uart_tx = port:PA13<3><1> +uart_rx = port:PA14<3><1> +uart_rts = port:PA15<3><1> +uart_cts = port:PA16<3><1> + +;---------------------------------------------------------------------------------- +;SPI controller configuration +;---------------------------------------------------------------------------------- +[spi0] +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:PC03<3><1> + +[spi1] +spi_used = 0 +spi_cs_bitmap = 1 +spi_cs0 = port:PA13<2><1> +spi_sclk = port:PA14<2> +spi_mosi = port:PA15<2> +spi_miso = port:PA16<2> + +;---------------------------------------------------------------------------------- +;SPI device configuration +;---------------------------------------------------------------------------------- +[spi_devices] +spi_dev_num = 1 + +[spi_board0] +modalias = "m25p32" +max_speed_hz = 33000000 +bus_num = 0 +chip_select = 0 +mode = 0 + +;---------------------------------------------------------------------------------- +;userspace gpio interface for android +;---------------------------------------------------------------------------------- +[gpio_para] +gpio_used = 1 +gpio_num = 2 +gpio_pin_1 = port:PL10<1><1> +gpio_pin_2 = port:PA15<1><0> + +[led_assign] +normal_led = "gpio_pin_1" +standby_led = "gpio_pin_2" + +;---------------------------------------------------------------------------------- +;thermal configuration +;ths_trip_count : temperature trigger number +;ths_trip_0 : first temperature trigger +;ths_trip_1 : second temperature trigger +;ths_trip_2 : third temperature trigger, when upto this temperature, system shutdown +;ths_trip_0_min : first temperature trigger's min freq +;ths_trip_0_max : first temperature trigger's max freq +;ths_trip_1_min : second temperature trigger's min freq +;ths_trip_1_max : second temperature trigger's max freq +;---------------------------------------------------------------------------------- +[ths_para] +ths_used = 1 +ths_trip1_count = 8 +ths_trip1_0 = 65 +ths_trip1_1 = 70 +ths_trip1_2 = 75 +ths_trip1_3 = 80 +ths_trip1_4 = 85 +ths_trip1_5 = 90 +ths_trip1_6 = 95 +ths_trip1_7 = 105 +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 = 6 +ths_trip1_5_min = 6 +ths_trip1_5_max = 8 +ths_trip1_6_min = 8 +ths_trip1_6_max = 10 +ths_trip1_7_min = 0 +ths_trip1_7_max = 0 +ths_trip2_count = 1 +ths_trip2_0 = 105 + +;---------------------------------------------------------------------------------- +;cooler_table cooler_count <=32 +;---------------------------------------------------------------------------------- +[cooler_table] +cooler_count = 11 +cooler0 = "1200000 4 4294967295 0" +cooler1 = "1008000 4 4294967295 0" +cooler2 = "816000 4 4294967295 0" +cooler3 = "720000 4 4294967295 0" +cooler4 = "648000 4 4294967295 0" +cooler5 = "480000 4 4294967295 0" +cooler6 = "312000 4 4294967295 0" +cooler7 = "240000 4 4294967295 0" +cooler8 = "240000 3 4294967295 0" +cooler9 = "240000 2 4294967295 0" +cooler10 = "240000 1 4294967295 0" + +[nand0_para] +nand_support_2ch = 0 + +nand0_used = 1 +nand0_we = port:PC00<2><0><1> +nand0_ale = port:PC01<2><0><1> +nand0_cle = port:PC02<2><0><1> +nand0_ce1 = port:PC03<2><1><1> +nand0_ce0 = port:PC04<2><1><1> +nand0_nre = port:PC05<2><0><1> +nand0_rb0 = port:PC06<2><1><1> +nand0_rb1 = port:PC07<2><1><1> +nand0_d0 = port:PC08<2><0><1> +nand0_d1 = port:PC09<2><0><1> +nand0_d2 = port:PC10<2><0><1> +nand0_d3 = port:PC11<2><0><1> +nand0_d4 = port:PC12<2><0><1> +nand0_d5 = port:PC13<2><0><1> +nand0_d6 = port:PC14<2><0><1> +nand0_d7 = port:PC15<2><0><1> +nand0_ndqs = port:PC16<2><0><1> + + +;----------------------------------------------------------------- +;auto_hpd - 1:need hotplud for hdmi/tv; 0:dont hotplud for lcd +;output_type - 0:none; 1:lcd; 2:tv; 4:hdmi; 8:vga (as default config in homlet) +;hdmi_channel- the display channel for hdmi (as default config in homlet) +;cvbs_channel- the display channel for cvbs (as default config in homlet) +;hdmi_mode - as default config for output of hdmi in homlet +;cvbs_mode - as default config for output of tv in homlet. 11:PAL; 14:NTSC +;check the definition(of hdmi/cvbs_mode) of disp_tv_mode in sunxi_display2.h +;hdmi_mode_check - disable/enable the function of checking hdmi mode, 0 is disable, 1 is enable +;----------------------------------------------------------------- +[boot_disp] +advert_disp = 0 +auto_hpd = 1 +output_type = 4 +hdmi_channel = 0 +hdmi_mode = 5 +cvbs_channel = 1 +cvbs_mode = 11 +output_full = 1 +hdmi_mode_check = 1 + +;---------------------------------------------------------------------------------- +;disp init configuration +; +;disp_mode (0:screen0; 1:screen1) +;screenx_output_type (0:none; 1:lcd; 3:hdmi;) +;screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50) +; (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60) +;fbx format (0:ARGB 1:ABGR 2:RGBA 3:BGRA 5:RGB565 8:RGB888 12:ARGB4444 16:ARGB1555 18:RGBA5551) +;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +;lcdx_backlight (lcd init backlight,the range:[0,256],default:197 +;---------------------------------------------------------------------------------- +[disp_init] +disp_init_enable = 1 +disp_mode = 0 + +screen0_output_type = 3 +screen0_output_mode = 4 + +screen1_output_type = 3 +screen1_output_mode = 4 + +fb0_format = 0 +fb0_width = 0 +fb0_height = 0 + +fb1_format = 0 +fb1_width = 0 +fb1_height = 0 + +;---------------------------------------------------------------------------------- +;hdmi configuration +;---------------------------------------------------------------------------------- +[hdmi_para] +hdmi_used = 1 +hdmi_power = "vcc-hdmi-18" + +[hdmi_cec] +hdmi_cec_used = 1 +hdmi_cec_pin = port:PA14<0><0> + +[tv_para] +tv_used = 0 +tv_dac_used = 1 +tv_dac_src0 = 0 + +;---------------------------------------------------------------------------------- +;pwm config +;---------------------------------------------------------------------------------- +[pwm0_para] +pwm_used = 0 +pwm_positive = port:PA05<3><0> + +;------------------------------------------------------------------------------; +; 10/100/100Mbps Ethernet MAC Controller Configure ; +;------------------------------------------------------------------------------; +; Options: ; +; gmac_used --- 0: not used, 1: external phy, 2: internal phy ; +; gmac_powerx -- A[:B] A: axp channel, B: voltage value ; +; If set gamc_phy to use internal PHY, do not config port ; +;------------------------------------------------------------------------------; +; MII RMII MII RMII MII RMII ; +; PD00 * PD06 * * PD12 * * ; +; PD01 * PD07 * PD13 * * ; +; PD02 * * PD08 * PD14 * ; +; PD03 * * PD09 * * PD15 * ; +; PD04 * PD10 * * PD16 * * ; +; PD05 * PD11 * * PD17 * * ; +;------------------------------------------------------------------------------; +[gmac0] +gmac_used = 2 +;gmac_rxd3 = port:PD00<2><3> +;gmac_rxd2 = port:PD01<2><3> +;gmac_rxd1 = port:PD02<2><3> +;gmac_rxd0 = port:PD03<2><3> +;gmac_rxclk = port:PD04<2><3> +;gmac_rxdv = port:PD05<2><3> +;gmac_rxerr = port:PD06<2><3> +;gmac_txd3 = port:PD07<2><3> +;gmac_txd2 = port:PD08<2><3> +;gmac_txd1 = port:PD09<2><3> +;gmac_txd0 = port:PD10<2><3> +;gmac_crs = port:PD11<2><3> +;gmac_txclk = port:PD12<2><3> +;gmac_txen = port:PD13<2><3> +;gmac_txerr = port:PD14<2><3> +;gmac_col = port:PD15<2><3> +;gmac_mdc = port:PD16<2><3> +;gmac_mdio = port:PD17<2><3> +gmac_power1 = + +;-------------------------------------------------------------------------------- +;vip (video input port) configuration +;vip_used: 0:disable 1:enable +;vip_mode: 0:sample one interface to one buffer 1:sample two interface to one buffer +;vip_dev_qty: The quantity of devices linked to capture bus +; +;vip_define_sensor_list: If you want use sensor detect function, please set vip_define_sensor_list = 1, and +; verify that file /system/etc/hawkview/sensor_list_cfg.ini is properly configured! +; +;vip_dev(x)_pos: sensor position, "rear" or "front", if vip_define_sensor_list = 1, +;vip_dev(x)_pos must be configured! +; +;vip_dev(x)_isp_used 0:not use isp 1:use isp +;vip_dev(x)_fmt: 0:yuv 1:bayer raw rgb +;vip_dev(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby +;vip_dev(x)_vflip: flip in vertical direction 0:disable 1:enable +;vip_dev(x)_hflip: flip in horizontal direction 0:disable 1:enable +;vip_dev(x)_iovdd: camera module io power handle string, pmu power supply +;vip_dev(x)_iovdd_vol: camera module io power voltage, pmu power supply +;vip_dev(x)_avdd: camera module analog power handle string, pmu power supply +;vip_dev(x)_avdd_vol: camera module analog power voltage, pmu power supply +;vip_dev(x)_dvdd: camera module core power handle string, pmu power supply +;vip_dev(x)_dvdd_vol: camera module core power voltage, pmu power supply +;vip_dev(x)_afvdd: camera module vcm power handle string, pmu power supply +;vip_dev(x)_afvdd_vol: camera module vcm power voltage, pmu power supply +;x indicates the index of the devices which are linked to the same capture bus +;fill voltage in uV, e.g. iovdd = 2.8V, vip_devx_iovdd_vol = 2800000 +;fill handle string as below: +;axp22_eldo3 +;axp22_dldo4 +;axp22_eldo2 +;fill handle string "" when not using any pmu power supply +;-------------------------------------------------------------------------------- + +[csi0] + +vip_used = 0 +vip_mode = 0 +vip_dev_qty = 1 +vip_define_sensor_list = 0 + +vip_csi_pck = port:PE00<2> +vip_csi_mck = port:PE01<2> +vip_csi_hsync = port:PE02<2> +vip_csi_vsync = port:PE03<2> +vip_csi_d0 = port:PE04<2> +vip_csi_d1 = port:PE05<2> +vip_csi_d2 = port:PE06<2> +vip_csi_d3 = port:PE07<2> +vip_csi_d4 = port:PE08<2> +vip_csi_d5 = port:PE09<2> +vip_csi_d6 = port:PE10<2> +vip_csi_d7 = port:PE11<2> +vip_csi_sck = port:PE12<2> +vip_csi_sda = port:PE13<2> + +vip_dev0_mname = "ov5640" +vip_dev0_pos = "rear" +vip_dev0_lane = 1 +vip_dev0_twi_id = 0 +vip_dev0_twi_addr = 0x78 +vip_dev0_isp_used = 0 +vip_dev0_fmt = 0 +vip_dev0_stby_mode = 0 +vip_dev0_vflip = 0 +vip_dev0_hflip = 0 +vip_dev0_iovdd = "" +vip_dev0_iovdd_vol = 2800000 +vip_dev0_avdd = "" +vip_dev0_avdd_vol = 2800000 +vip_dev0_dvdd = "" +vip_dev0_dvdd_vol = 1500000 +vip_dev0_afvdd = "" +vip_dev0_afvdd_vol = 2800000 +vip_dev0_power_en = +vip_dev0_reset = +vip_dev0_pwdn = +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 = 0x18 + + +vip_dev1_mname = "" +vip_dev1_pos = "front" +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 = + + +;-------------------------------------------------------------------------------- +;tv configuration +; +;-------------------------------------------------------------------------------- +[tvout_para] +tvout_used = +tvout_channel_num = +tv_en = + +[tvin_para] +tvin_used = +tvin_channel_num = + +;---------------------------------------------------------------------------------- +;DE-Interlace configuration +;---------------------------------------------------------------------------------- +[di_para] +di_used = 1 + +;-------------------------------------------------------------------------------- +; SDMMC PINS MAPPING | +; ------------------------------------------------------------------------------| +; Config Guide | +; sdc_used: 1-enable card, 0-disable card | +; sdc_detmode: card detect mode | +; 1-detect card by gpio polling | +; 2-detect card by gpio irq(must use IO with irq function) | +; 3-no detect, always in for boot card | +; 4-manually insert and remove by /proc/driver/sunxi-mmc.x/insert| +; sdc_buswidth: card bus width, 1-1bit, 4-4bit, 8-8bit | +; sdc_use_wp: 1-with write protect IO, 0-no write protect IO | +; sdc_isio: for sdio card | +; sdc_regulator: power control.if card supports UHS-I/DDR and HS200 timing for| +; SD3.0 or eMMC4.5, regulator must be configured. the value is | +; the ldo name of AXP221, eg: sdc_regulator = "axp22_eldo2" | +; other: GPIO Mapping configuration | +; ------------------------------------------------------------------------------| +; Note: | +; 1 if detmode=2, sdc_det's config=6 | +; else if detmode=1, sdc_det's config=0 | +; else sdc_det IO is not necessary | +; 2 if the customer wants to support UHS-I and HS200 features, he must provide| +; an independent power supply for the card. This is only used in platforms | +; that supports SD3.0 cards and eMMC4.4+ flashes | +;-------------------------------------------------------------------------------- +[mmc0_para] +sdc_used = 1 +sdc_detmode = 1 +sdc_buswidth = 4 +sdc_clk = port:PF02<2><1><2> +sdc_cmd = port:PF03<2><1><2> +sdc_d0 = port:PF01<2><1><2> +sdc_d1 = port:PF00<2><1><2> +sdc_d2 = port:PF05<2><1><2> +sdc_d3 = port:PF04<2><1><2> +sdc_det = port:PF06<0><1><2> +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> +sdc_cmd = port:PG01<2><1><3> +sdc_d0 = port:PG02<2><1><3> +sdc_d1 = port:PG03<2><1><3> +sdc_d2 = port:PG04<2><1><3> +sdc_d3 = port:PG05<2><1><3> +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> +sdc_cmd = port:PC06<3><1><2> +sdc_d0 = port:PC08<3><1><2> +sdc_d1 = port:PC09<3><1><2> +sdc_d2 = port:PC10<3><1><2> +sdc_d3 = port:PC11<3><1><2> +sdc_d4 = port:PC12<3><1><2> +sdc_d5 = port:PC13<3><1><2> +sdc_d6 = port:PC14<3><1><2> +sdc_d7 = port:PC15<3><1><2> +emmc_rst = port:PC16<3><1><2> +sdc_det = +sdc_use_wp = 0 +sdc_wp = +sdc_isio = 0 +sdc_regulator = "none" +sdc_power_supply = "none" +sdc_2xmode = 1 +;sdc_ddrmode = 1 + +; ------------------------------------------------------------------------------| +; sim card configuration +;-------------------------------------------------------------------------------- +[smc_para] +smc_used = +smc_rst = port:PA09<2> +smc_vppen = port:PA20<3> +smc_vppp = port:PA21<3> +smc_det = port:PA10<2> +smc_vccen = port:PA06<2> +smc_sck = port:PA07<2> +smc_sda = port:PA08<2> + + +;-------------------------------- +;[usbc0]:控制器0的配置。 +;usb_used:USB使能标志。置1,表示系统中USB模块可用,置0,则表示系统USB禁用。 +;usb_port_type:USB端口的使用情况。 0:device only;1:host only;2:OTG +;usb_detect_type:USB端口的检查方式。0:不做检测;1:vbus/id检查;2:id/dpdm检查 +;usb_id_gpio:USB ID pin脚配置。具体请参考gpio配置说明。 +;usb_det_vbus_gpio:USB DET_VBUS pin脚配置。具体请参考gpio配置说明。 +;usb_drv_vbus_gpio:USB DRY_VBUS pin脚配置。具体请参考gpio配置说明。 +;usb_det_vbus_gpio: "axp_ctrl",表示axp 提供 +;usb_restrict_gpio usb限流控制pin +;usb_restric_flag: usb限流标置 +;-------------------------------- +;-------------------------------- +;--- USB0控制标志 +;-------------------------------- +[usbc0] +usb_used = 1 +usb_port_type = 2 +usb_detect_type = 1 +usb_id_gpio = port:PA07<1><1> +usb_det_vbus_gpio = port:PA07<1><1> +usb_drv_vbus_gpio = port:PL02<1><0><0> +usb_host_init_state = 0 +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 + +;-------------------------------- +;--- USB1控制标志 +;-------------------------------- +[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 + +;-------------------------------- +;--- USB2控制标志 +;-------------------------------- +[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 + +;-------------------------------- +;--- USB3控制标志 +;-------------------------------- +[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 Device +;-------------------------------- +[usb_feature] +vendor_id = 0x18D1 +mass_storage_id = 0x0001 +adb_id = 0x0002 + +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 + + +;-------------------------------------------------------------------------------- +;wifi/bt/fm/gps/nfc modules configuration +;module_power0: axp used by module, "axp22_dldo1" - use dldo1, not use keep it empty +;module_power0_vol: power0 voltage, mv; +;chip_en: enable chip io +;lpo_use_apclk: ""- not use, "losc_out"- a23/33/H3, "ac10032k1"、"ac10032k2"、"ac10032k3"- a80 +;-------------------------------------------------------------------------------- +[module_para] +module_power0 = port:PL07<1><1> +module_power0_vol = 0 +module_power1 = port:PG13<1><0> +module_power1_vol = 1 +module_power2 = +module_power2_vol = +module_power3 = +module_power3_vol = +chip_en = +lpo_use_apclk = "losc_out" + +;-------------------------------------------------------------------------------- +;wifi configuration +;wifi_sdc_id: 0- SDC0, 1- SDC1, 2- SDC2, 3- SDC3 +;wifi_usbc_id: 0- USB0, 1- USB1, 2- USB2 +;wifi_usbc_type: 1- EHCI(speed 2.0), 2- OHCI(speed 1.0) +;wl_reg_on: wifi function enable pin +;wl_host_wake: wlan device wake-up host pin +;wl_host_wake_invert: whether wl_host_wake use inverter between ap and module +; 0: not used, 1: used +;-------------------------------------------------------------------------------- +[wifi_para] +wifi_used = 1 +wifi_sdc_id = 1 +wifi_usbc_id = 3 +wifi_usbc_type = 1 +wl_reg_on = port:PL07<1><0> +wl_host_wake = port:PG10<0><0> +wl_host_wake_invert = 0 + +;-------------------------------------------------------------------------------- +;bluetooth configuration +;bt_used: 0- no used, 1- used +;bt_uard_id: 0- uart0, 1- uart1, 2- uart2 +;bt_uart_baud: uart baud rate, unit: bps +;bt_rst_n: bt function enable io +;bt_wake: host wake-up bluetooth device +;bt_host_wake: bt device wake-up host +;bt_host_wake_invert: whether bt_host_wake use inverter between ap and module +; 0: not used, 1: used +;-------------------------------------------------------------------------------- +[bt_para] +bt_used = 1 +bt_uart_id = 1 +bt_uart_baud = 1500000 +bt_rst_n = port:PG12<1><0> +;bt_wake = port:PA17<1><1> +bt_host_wake = port:PG11<1><0> +bt_host_wake_invert = 0 + +;-------------------------------------------------------------------------------- +;daudio_master:1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) use +; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) not use +; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use +; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) use +;daudio_select:0 is pcm.1 is i2s +;audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format). use +; 2:SND_SOC_DAIFMT_RIGHT_J(right justfied format). +; 3:SND_SOC_DAIFMT_LEFT_J(left justfied format) +; 4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use +; 5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge) +;signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) use +; 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM) +; 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) use +; 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM) +;over_sample_rate: support 128fs/192fs/256fs/384fs/512fs/768fs +;sample_resolution :16bits/20bits/24bits +;word_select_size :16bits/20bits/24bits/32bits +;pcm_sync_period :16/32/64/128/256 +;msb_lsb_first :0: msb first; 1: lsb first +;sign_extend :0: zero pending; 1: sign extend +;slot_index :slot index: 0: the 1st slot - 3: the 4th slot +;slot_width :8 bit width / 16 bit width +;frame_width :0: long frame = 2 clock width; 1: short frame +;tx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;rx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;-------------------------------------------------------------------------------- +[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_sync_period = 256 +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> +i2s_bclk = port:PA19<2><1> +i2s_dout0 = port:PA20<2><1> +i2s_din = port:PA21<2><1> + + +[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_sync_period = 256 +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> +i2s_bclk = port:PG11<2><1> +i2s_dout0 = port:PG12<2><1> +i2s_din = port:PG13<2><1> + + +[audio0] +audio_used = 1 +lineout_vol = 0x1f +cap_vol = 0x5 +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><0> + +[spdif0] +spdif_used = 1 +spdif_dout = port:PA17<2><1> + +[audiohub] +hub_used = 0 +codec_used = 1 +spdif_used = 1 +hdmi_used = 1 + +;---------------------------------------------------------------------------------- +;ir rx --- infra remote configuration +;---------------------------------------------------------------------------------- +[s_cir0] +ir_used = 1 +ir_rx = port:PL11<2><1> +ir_power_key_code0 = 0x57 +ir_addr_code0 = 0x9f00 +ir_power_key_code1 = 0x1a +ir_addr_code1 = 0xfb04 +ir_power_key_code2 = 0x14 +ir_addr_code2 = 0x7F80 +ir_power_key_code3 = 0x51 +ir_addr_code3 = 0x7F80 +ir_power_key_code4 = 0x0b +ir_addr_code4 = 0xF708 +ir_power_key_code5 = 0x03 +ir_addr_code5 = 0x00EF +ir_power_key_code6 = 0x9f +ir_addr_code6 = 0x4CB3 +ir_power_key_code7 = 0x0a +ir_addr_code7 = 0x7748 +ir_power_key_code8 = 0x45 +ir_addr_code8 = 0xbd02 +ir_power_key_code9 = 0x4d +ir_addr_code9 = 0xde21 +ir_power_key_code10 = 0x18 +ir_addr_code10 = 0xfe01 +ir_power_key_code11 = 0x57 +ir_addr_code11 = 0xff00 +ir_power_key_code12 = 0x4d +ir_addr_code12 = 0xff40 +ir_power_key_code13 = 0x88 +ir_addr_code13 = 0xdd22 + + +;---------------------------------------------------------------------------------- +;ir tx--- infra remote configuration +;---------------------------------------------------------------------------------- +[cir] +ir_used = 0 +ir_tx = port:PH07<2> + + +;---------------------------------------------------------------------------------- +; dvfs voltage-frequency table configuration +; +; pmuic_type:0:none, 1:gpio, 2:i2c +; pmu_gpio0: gpio config. +; pmu_levelx: 0~9999: voltage(mV), 10000~90000:gpio0 state. voltage form high to low. +; +; extremity_freq(Hz): cpu extremity frequency when run benckmark or demo apk +; 1536MHz@1500mV with radiator, 1296MHz@1340mV without radiator +; max_freq: cpu maximum frequency, based on Hz, can not be more than 1200MHz +; min_freq: cpu minimum frequency, based on Hz, can not be less than 60MHz +; +; LV_count: count of LV_freq/LV_volt, must be < 16 +; +; LV1: core vdd is 1.50v if cpu frequency is (1296Mhz, 1536Mhz] +; LV2: core vdd is 1.34v if cpu frequency is (1200Mhz, 1296Mhz] +; LV3: core vdd is 1.32v if cpu frequency is (1008Mhz, 1200Mhz] +; LV4: core vdd is 1.20v if cpu frequency is (816Mhz, 1008Mhz] +; LV5: core vdd is 1.10v if cpu frequency is (648Mhz, 816Mhz] +; LV6: core vdd is 1.04v if cpu frequency is (0Mhz, 648Mhz] +; LV7: core vdd is 1.04v if cpu frequency is (0Mhz, 648Mhz] +; LV8: core vdd is 1.04v if cpu frequency is (0Mhz, 648Mhz] +; +;---------------------------------------------------------------------------------- +[dvfs_table] +pmuic_type = 0 +pmu_gpio0 = port:PL06<1><1><2><1> +pmu_level0 = 11300 +pmu_level1 = 1100 +;extremity_freq = 1296000000 +max_freq = 1200000000 +min_freq = 648000000 +LV_count = 2 +LV1_freq = 1200000000 +LV1_volt = 1300 +LV2_freq = 648000000 +LV2_volt = 1300 + +[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 + +;---------------------------------------------------------------------------------- +;special gpio config for Board Vendor ID +;vid_used -- if board need distinguished by gpio,set '1';if not,set '0' +;vid_count -- the count of vendor id bits +;vid_bit_[0..3] -- gpio config for each bit of board vendor id +;example: vendor id hex format :{0x 0 0 1 0 } +; | | | | +; [vid_bit_3] [vid_bit_2] [vid_bit_1] [vid_bit_0] +;---------------------------------------------------------------------------------- +[board_vendor] +vid_used = 1 +vid_count = 6 +vid_bit_0 = port:PD16<0><1> +vid_bit_1 = port:PD15<0><1> +vid_bit_2 = port:PD14<0><1> +vid_bit_3 = port:PD13<0><1> +vid_bit_4 = port:PD12<0><1> +vid_bit_5 = port:PD17<0><1> + +;---------------------------------------------------------------------------------- +;virtual device +;virtual device for pinctrl testing +;device have pin PA1 PA2 +;---------------------------------------------------------------------------------- +[Vdevice] +Vdevice_used = 0 +Vdevice_0 = port:PH10<5><1><2> +Vdevice_1 = port:PH11<5><1><2> + +;---------------------------------------------------------------------------------- +;s_uart0 config parameters +;s_uart_used --s_uart0 whether used for arisc debugging +;---------------------------------------------------------------------------------- +[s_uart0] +s_uart_used = 0 +s_uart_tx = port:PL02<2> +s_uart_rx = port:PL03<2> + +;---------------------------------------------------------------------------------- +;s_rsb0 config parameters +;s_rsb_used --s_rsb0 whether used for arisc +;---------------------------------------------------------------------------------- +[s_rsb0] +s_rsb_used = 1 +s_rsb_sck = port:PL00<2><1><2> +s_rsb_sda = port:PL01<2><1><2> + +;---------------------------------------------------------------------------------- +;s_jtag0 config parameters +;s_jtag0_used --s_jtag0 whether used for arisc +; +;---------------------------------------------------------------------------------- +[s_jtag0] +s_jtag_used = 0 +s_jtag_tms = port:PL04<2><1><2> +s_jtag_tck = port:PL05<2><1><2> +s_jtag_tdo = port:PL06<2><1><2> +s_jtag_tdi = port:PL07<2><1><2> + +;---------------------------------------------------------------------------------- +;s_powchk cpus power check +;s_powchk_used --power check whether used for arisc in super standby +; bit31:enable power updat, bit1:wakeup when power state exception +; bit0:wakeup when power consumption exception +;s_power_reg the expected regs stand for power on/off state +;s_system_power the limit maxmum power consumption when super standby (unit: mw) +; +;---------------------------------------------------------------------------------- +[s_powchk] +s_powchk_used = 0x80000000 +s_power_reg = 0x00000000 +s_system_power = 50 + +;---------------------------------------------------------------------------------- +;scr configuration +;---------------------------------------------------------------------------------- +[sim0] +scr_used = 1 +scr_vccen = port:PA06<2> +scr_slk = port:PA07<2> +scr_sda = port:PA08<2> +scr_rst = port:PA09<2> +scr_det = port:PA10<2> + + +;-------------------------------------------------------------------------------- +;tsc configuration +;-------------------------------------------------------------------------------- +[ts0] +tsc_used = 1 +tsc_clk = port:PE00<3> +tsc_err = port:PE01<3> +tsc_sync = port:PE02<3> +tsc_dvld = port:PE03<3> +tsc_d0 = port:PE04<3> +tsc_d1 = port:PE05<3> +tsc_d2 = port:PE06<3> +tsc_d3 = port:PE07<3> +tsc_d4 = port:PE08<3> +tsc_d5 = port:PE09<3> +tsc_d6 = port:PE10<3> +tsc_d7 = port:PE11<3> + +;-------------------------------------------------------------------------------- +;gpio key +;-------------------------------------------------------------------------------- +[gpio_power_key] +key_used = 1 +key_io = port:PL03<6><0> + +;---------------------------------------------------------------------------------- +; key para +; +; key_used --0:not used, 1:used +; key_cnt --how many key button attach to keyadc. +; key*_vol --the threshold of input voltage of key. +; +; For example: if key2_vol < $(keyadc value) < key3_vol, then key3 be reported. +;---------------------------------------------------------------------------------- +[key_para] +key_used = 0 +key_cnt = 5 +key1_vol = 222 +key2_vol = 444 +key3_vol = 666 +key4_vol = 857 +key5_vol = 2000 + + +;---------------------------------------------------------------------------------- +;display seven segment para +;---------------------------------------------------------------------------------- +[d7s_para] +d7s_used = 0 +din_gpio = port:PD00<1><1> +clk_gpio = port:PD01<1><1> +stb_gpio = port:PD02<1><1> + +;---------------------------------------------------------------------------------- +;mali parameters +;---------------------------------------------------------------------------------- +[mali_para] +mali_used = 1 +mali_clkdiv = 1 +mali_extreme_freq = 600 +mali_extreme_vol = 1400 + +[corekeeper] +corekeeper_enabled = 1 diff --git a/scripts/nand-sata-install/usr/lib/nand-sata-install/nand-sata-install.sh b/scripts/nand-sata-install/usr/lib/nand-sata-install/nand-sata-install.sh index ef7569f0d..83ff96d51 100644 --- a/scripts/nand-sata-install/usr/lib/nand-sata-install/nand-sata-install.sh +++ b/scripts/nand-sata-install/usr/lib/nand-sata-install/nand-sata-install.sh @@ -14,21 +14,18 @@ CWD="/usr/lib/nand-sata-install" EX_LIST="${CWD}/exclude.txt" backtitle="Armbian install script, http://www.armbian.com | Author: Igor Pecovnik" -title="NAND, SATA and USB Armbian installer" +title="NAND, eMMC, SATA and USB Armbian installer" emmcdevice="/dev/mmcblk1" nanddevice="/dev/nand" if cat /proc/cpuinfo | grep -q 'sun4i'; then DEVICE_TYPE="a10"; else DEVICE_TYPE="a20"; fi # Determine device -BOOTLOADER="${CWD}/${DEVICE_TYPE}/bootloader" # Define bootloader -nandcheck=$(grep nand /proc/partitions) # check NAND -emmcchech=$(grep mmcblk1 /proc/partitions) # check eMMC -satacheck=$(grep sd /proc/partitions) # check SATA/USB - - +BOOTLOADER="${CWD}/${DEVICE_TYPE}/bootloader" # Define bootloader +nandcheck=$(grep nand /proc/partitions) # check NAND +emmccheck=$(grep mmcblk1 /proc/partitions) # check eMMC +satacheck=$(grep sd /proc/partitions) # check SATA/USB # Create boot and root file system $1 = boot, $2 = root (Example: create_armbian "/dev/nand1" "/dev/sda3") -create_armbian () -{ +create_armbian() { # create mount points, mount and clean sync mkdir -p /mnt/bootfs /mnt/rootfs @@ -36,7 +33,6 @@ create_armbian () [[ -n "$1" && "$1" != "$2" ]] && mount $1 /mnt/bootfs rm -rf /mnt/bootfs/* /mnt/rootfs/* - # calculate usage and see if it fits on destination USAGE=$(df -BM | grep ^/dev | head -1 | awk '{print $3}' | tr -cd '[0-9]. \n') DEST=$(df -BM | grep ^/dev | grep /mnt/rootfs | awk '{print $4}' | tr -cd '[0-9]. \n') @@ -54,7 +50,7 @@ create_armbian () # count files is needed for progress bar dialog --title "$title" --backtitle "$backtitle" --infobox "\n Counting files ... few seconds." 5 40 - TODO=$(rsync -ahvrltDn --delete --stats --exclude-from=$EX_LIST / /mnt/rootfs |grep "Number of files:"|awk '{print $4}' | tr -d '.,') + TODO=$(rsync -ahvrltDn --delete --stats --exclude-from=$EX_LIST / /mnt/rootfs | grep "Number of files:"|awk '{print $4}' | tr -d '.,') # creating rootfs rsync -avrltD --delete --exclude-from=$EX_LIST / /mnt/rootfs | nl | awk '{ printf "%.0f\n", 100*$1/"'"$TODO"'" }' \ @@ -65,13 +61,12 @@ create_armbian () # creating fstab, kernel and boot script for NAND partition if [[ "$1" == *nand* ]]; then - REMOVESDTXT="and remove SD to boot from NAND" sed -i '/boot/d' /mnt/rootfs/etc/fstab echo "$1 /boot vfat defaults 0 0" >> /mnt/rootfs/etc/fstab dialog --title "$title" --backtitle "$backtitle" --infobox "\nConverting kernel ... few seconds." 5 60 mkimage -A arm -O linux -T kernel -C none -a "0x40008000" -e "0x40008000" -n "Linux kernel" -d \ - /boot/zImage /mnt/bootfs/uImage >/dev/null 2>&1 + /boot/zImage /mnt/bootfs/uImage >/dev/null 2>&1 cp /boot/script.bin /mnt/bootfs/ cat > /mnt/bootfs/uEnv.txt </dev/null 2>&1 tune2fs -O ^has_journal /dev/nand2 >/dev/null 2>&1 e2fsck -f /dev/nand2 >/dev/null 2>&1 - + elif [[ "$2" == "/dev/mmcblk1p1" ]]; then # eMMC install # fix that we can have one exlude file cp -R /boot/ /mnt/rootfs # determine u-boot and write it - name_of_ubootpackage=$(aptitude versions '~i linux-u-boot*'|head -1| awk '{print $2}' | sed 's/linux-u-boot-//g' | cut -f1 -d"-") + name_of_ubootpackage=$(aptitude versions '~i linux-u-boot*'| head -1 | awk '{print $2}' | sed 's/linux-u-boot-//g' | cut -f1 -d"-") version_of_ubootpkg=$(aptitude versions '~i linux-u-boot*'| tail -1 | awk '{print $2}') arhitecture=$(dpkg --print-architecture) uboot="/usr/lib/linux-u-boot-"$name_of_ubootpackage"_"$version_of_ubootpkg"_"$arhitecture""/u-boot-sunxi-with-spl.bin @@ -116,9 +111,9 @@ EOF elif [[ -f /boot/boot.ini ]]; then sed -e 's,root='"$root_partition"',root='"$2"',g' -i /boot/boot.ini sed -i "s/data=writeback,//" /mnt/rootfs/etc/fstab -fi -umountdevice "/dev/sda" -} + fi + umountdevice "/dev/sda" +} # create_armbian # Accept device as parameter: for example /dev/sda unmounts all their mounts @@ -133,31 +128,27 @@ umountdevice() { fi done fi - -} +} # umountdevice # Recognize root filesystem -recognize_root (){ - +recognize_root() { local device="/dev/"$(lsblk -idn -o NAME | grep mmcblk0) local partitions=$(($(fdisk -l $device | grep $device | wc -l)-1)) local device="/dev/"$(lsblk -idn -o NAME | grep mmcblk0)"p"$partitions local root_device=$(mountpoint -d /) for file in /dev/* ; do - local current_device=$(printf "%d:%d" $(stat --printf="0x%t 0x%T" $file)) - if [ $current_device = $root_device ]; then + local current_device=$(printf "%d:%d" $(stat --printf="0x%t 0x%T" $file)) + if [ $current_device = $root_device ]; then root_partition=$file break; - fi + fi done - -} +} # recognize_root # Formatting NAND - no parameters. Fixed solution. -formatnand(){ - +formatnand() { [[ ! -e /dev/nand ]] && echo "NAND error" && exit 0 dialog --title "$title" --backtitle "$backtitle" --infobox "\nFormating ... up to one minute." 5 40 if [[ "$DEVICE_TYPE" = "a20" ]]; then @@ -167,14 +158,11 @@ formatnand(){ fi mkfs.vfat /dev/nand1 >/dev/null 2>&1 mkfs.ext4 /dev/nand2 >/dev/null 2>&1 - -} +} # formatnand # Formatting eMMC [device] example /dev/mmcblk1 -formatemmc() -{ - +formatemmc() { # deletes all partitions dialog --title "$title" --backtitle "$backtitle" --infobox "\n Formating eMMC ... one moment." 5 40 dd bs=1 seek=446 count=64 if=/dev/zero of=$1 >/dev/null 2>&1 @@ -183,30 +171,25 @@ formatemmc() partprobe $1 # create fs mkfs.ext4 -qF $1"p1" >/dev/null 2>&1 - -} +} # formatemmc # formatting SATA/USB [device] example /dev/sda3 -formatsata(){ - +formatsata() { dialog --title "$title" --backtitle "$backtitle" --infobox "\nFormating ... up to one minute." 5 40 mkfs.ext4 $1 >/dev/null 2>&1 tune2fs $1 -o journal_data_writeback >/dev/null 2>&1 - -} +} # formatsata # choose target SATA/USB partition. -function checksatatarget -{ - +checksatatarget() { IFS=" " - SataTargets=$(cat /proc/partitions | grep sd | awk '{print "/dev/"$4}' | grep -E '[0-9]{1,4}' | nl | xargs echo -n) + SataTargets=$(awk '/sd/ {print "/dev/"$4}' &1 >/dev/tty) if [ $? -ne 0 ]; then exit 1; fi SDA_ROOT_PART=${SataOptions[(2*$SataChoices)-1]} - -} +} # checksatatarget # show warning [TEXT] -function ShowWarning -{ - +ShowWarning() { dialog --title "$title" --backtitle "$backtitle" --cr-wrap --colors --yesno " \Z1$(toilet -f mono12 WARNING)\Zn\n$1" 17 74 if [ $? -ne 0 ]; then exit 1; fi +} # ShowWarning -} - - +main() { # This tool must run under root if [[ ${EUID} -ne 0 ]]; then @@ -249,11 +228,10 @@ function ShowWarning exit 1 fi - recognize_root IFS="'" options=() - if [[ -n "$emmcchech" ]]; then + if [[ -n "$emmccheck" ]]; then ichip="eMMC"; dest_boot="/dev/mmcblk1p1"; dest_root="/dev/mmcblk1p1"; @@ -263,9 +241,9 @@ function ShowWarning dest_root="/dev/nand2"; fi - [[ -n "$nandcheck" || -n "$emmcchech" ]] && options=(${options[@]} 1 'Boot from '$ichip' - system on '$ichip) - [[ ( -n "$nandcheck" || -n "$emmcchech" ) && -n "$satacheck" ]] && options=(${options[@]} 2 'Boot from '$ichip' - system on SATA or USB') - [[ -n "$satacheck" ]] && options=(${options[@]} 3 'Boot from SD - system on SATA or USB') + [[ -n "$nandcheck" || -n "$emmccheck" ]] && options=(${options[@]} 1 'Boot from '$ichip' - system on '$ichip) + [[ ( -n "$nandcheck" || -n "$emmccheck" ) && -n "$satacheck" ]] && options=(${options[@]} 2 'Boot from '$ichip' - system on SATA or USB') + [[ -n "$satacheck" ]] && options=(${options[@]} 3 'Boot from SD - system on SATA or USB') [[ ${#options[@]} -eq 0 ]] && dialog --title "$title" --backtitle "$backtitle" --colors --infobox "\n\Z1There are no targets. Please check your drives.\Zn" 5 60 && exit 1 @@ -280,7 +258,7 @@ function ShowWarning title="$ichip install" command="Power off" ShowWarning "This script will erase your $ichip. Continue?" - if [[ -n "$emmcchech" ]]; then + if [[ -n "$emmccheck" ]]; then umountdevice "/dev/mmcblk1" formatemmc "/dev/mmcblk1" else @@ -294,7 +272,7 @@ function ShowWarning command="Power off" checksatatarget ShowWarning "This script will erase your $ichip and $SDA_ROOT_PART. Continue?" - if [[ -n "$emmcchech" ]]; then + if [[ -n "$emmccheck" ]]; then umountdevice "/dev/mmcblk1" formatemmc "/dev/mmcblk1" else @@ -317,4 +295,7 @@ function ShowWarning done dialog --title "$title" --backtitle "$backtitle" --yes-label "$command" --no-label "Exit" --yesno "\nAll done. $command $REMOVESDTXT" 7 60 - if [ $? -eq 0 ]; then "$(echo ${command,,} | sed 's/ //')"; fi \ No newline at end of file + if [ $? -eq 0 ]; then "$(echo ${command,,} | sed 's/ //')"; fi +} # main + +main "$@"