调通全志R16平台的AP6212A0版本的BT(分色排版)v1.2

来源:互联网 发布:软件著作权登记申请表 编辑:程序博客网 时间:2024/05/29 10:54

调通全志R16平台的AP6212A0版本的BT

2017/7/18 15:39

版本:V1.2

 

 

开发板:SC3817R

SDK版本:Android6.0.1

 

 

请严重注意:

本文只需要关注:(其它列出来的都是可选修改或者是与WIFI相关的文件!)

W:\ap6212a0_r16m\android\device\softwinner\astar-evb30\astar_evb30.mk

(这里不打开,BT选项可以打开,但是你就是发现不了设备,全志够坑爹的!^_)

PRODUCT_COPY_FILES += \

   device/softwinner/astar-evb30/bluetooth/bt_vendor.conf:system/etc/bluetooth/bt_vendor.conf

 

 

 

 

1、不用修改(BT相关:)

W:\ap6212a0_r16m\android\device\softwinner\astar-evb30\bluetooth\bdroid_buildcfg.h

W:\ap6212a0_r16m\android\device\softwinner\astar-evb30\bluetooth\bt_vendor.conf

W:\ap6212a0_r16m\android\device\softwinner\astar-evb30\bluetooth\vnd_astar-evb30.txt

 

(在设置选项显示:WIFI/BT)

W:\ap6212a0_r16m\android\device\softwinner\astar-evb30\overlay\frameworks\base\core\res\res\values\config.xml

 

 

 

 

2、

W:\ap6212a0_r16m\android\device\softwinner\astar-evb30\astar_evb30.mk

(在BT的LE低功耗选项:)

PRODUCT_COPY_FILES += \

    frameworks/native/data/etc/android.hardware.camera.xml:system/etc/permissions/android.hardware.camera.xml \

    frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \

    frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \

    frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \

    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml

 

# Low mem(memory <= 512M) device should not copy android.software.managed_users.xml

#PRODUCT_COPY_FILES += \

#    frameworks/native/data/etc/android.software.managed_users.xml:system/etc/permissions/android.software.managed_users.xml

 

PRODUCT_COPY_FILES += \

    device/softwinner/astar-evb30/configs/camera.cfg:system/etc/camera.cfg \

    device/softwinner/astar-evb30/configs/gsensor.cfg:system/usr/gsensor.cfg \

    device/softwinner/astar-evb30/configs/media_profiles.xml:system/etc/media_profiles.xml \

    device/softwinner/astar-evb30/configs/sunxi-keyboard.kl:system/usr/keylayout/sunxi-keyboard.kl \

    device/softwinner/astar-evb30/configs/tp.idc:system/usr/idc/tp.idc

 

(这里不打开,BT选项可以打开,但是你就是发现不了设备,全志够坑爹的!^_)

PRODUCT_COPY_FILES += \

   device/softwinner/astar-evb30/bluetooth/bt_vendor.conf:system/etc/bluetooth/bt_vendor.conf

# bootanimation

PRODUCT_COPY_FILES += \

    device/softwinner/astar-evb30/media/bootanimation.zip:system/media/bootanimation.zip

 

(摄像头一般不适用hawkview的支持列表!)

# camera config for camera detector

#PRODUCT_COPY_FILES += \

#    device/softwinner/astar-evb30/hawkview/sensor_list_cfg.ini:system/etc/hawkview/sensor_list_cfg.ini

 

# Radio Packages and Configuration Flie

$(call inherit-product, device/softwinner/common/rild/radio_common.mk)

#$(call inherit-product, device/softwinner/common/ril_modem/huawei/mu509/huawei_mu509.mk)

#$(call inherit-product, device/softwinner/common/ril_modem/Oviphone/em55/oviphone_em55.mk)

 

#PRODUCT_PROPERTY_OVERRIDES += \

# limit dex2oat threads to improve thermals

 

PRODUCT_PROPERTY_OVERRIDES += \

    dalvik.vm.boot-dex2oat-threads=4 \

    dalvik.vm.dex2oat-threads=3 \

    dalvik.vm.image-dex2oat-threads=4

 

(关闭Realtek8723bs-vq0)

# Realtek wifi efuse map

#PRODUCT_COPY_FILES += \

#    device/softwinner/astar-d7/wifi_efuse_8723bs-vq0.map:system/etc/wifi/wifi_efuse_8723bs-vq0.map

 

PRODUCT_PROPERTY_OVERRIDES += \

    dalvik.vm.dex2oat-flags=--no-watch-dog \

    dalvik.vm.jit.codecachesize=0 \

    ro.am.reschedule_service=true

 

PRODUCT_PROPERTY_OVERRIDES += \

    ro.frp.pst=/dev/block/by-name/frp

 

(打开ADB,方便调试)

PRODUCT_PROPERTY_OVERRIDES += \

    persist.sys.usb.config=mass_storage,adb \

    ro.adb.secure=0 \

    ro.sys.mutedrm=true \

    rw.logger=0

 

# A33 Media

PRODUCT_PROPERTY_OVERRIDES += \

   ro.config.media=1

 

PRODUCT_PROPERTY_OVERRIDES += \

    dalvik.vm.heapsize=384m \

    dalvik.vm.heapstartsize=8m \

    dalvik.vm.heapgrowthlimit=80m \

    dalvik.vm.heaptargetutilization=0.75 \

    dalvik.vm.heapminfree=512k \

    dalvik.vm.heapmaxfree=8m \

    ro.zygote.disable_gl_preload=false

 

#PRODUCT_PROPERTY_OVERRIDES += \

#   ro.config.low_ram=true

 

PRODUCT_PROPERTY_OVERRIDES += \

    ro.sf.lcd_density=160

 

PRODUCT_PROPERTY_OVERRIDES += \

    persist.sys.timezone=Asia/Shanghai \

    persist.sys.country=CN \

    persist.sys.language=zh

 

# stoarge

PRODUCT_PROPERTY_OVERRIDES += \

    persist.fw.force_adoptable=true

 

PRODUCT_CHARACTERISTICS := tablet

 

PRODUCT_AAPT_CONFIG := mdpi

PRODUCT_AAPT_PREF_CONFIG := mdpi

 

(干掉GMS选项:)

#$(call inherit-product-if-exists, vendor/google/products/gms_base.mk)

 

(关闭Realtek8723bs-vq0,并且是重复了,干掉一处!)

#for 8723bs-vq0,should setmacaddr

#PRODUCT_PACKAGES += setmacaddr

 

 

 

 

2、不用修改:

W:\ap6212a0_r16m\android\device\softwinner\astar-evb30\BoardConfig.mk

W:\ap6212a0_r16m\android\device\softwinner\astar-evb30\init.sun8i.rc

 

 

 

 

3、(可选修改:)

W:\ap6212a0_r16m\android\device\softwinner\astar-evb30\ueventd.sun8i.rc

/dev/video0                 0777    media       media

#/dev/video1                 0777    media       media

/dev/snd/pcmC0D0c           0777    media       media

/dev/snd/pcmC0D0p           0777    media       media

/dev/ttyS1                  0660    bluetooth   bluetooth

 

 

 

 

4、

W:\ap6212a0_r16m\android\frameworks\base\packages\SettingsProvider\res\values\defaults.xml

<resources>

    <bool name="def_dim_screen">true</bool>

    <integer name="def_screen_off_timeout">1800000</integer>

    <integer name="def_sleep_timeout">-1</integer>

……

    <bool name="def_lockscreen_disabled">true</bool>

……

</resources>

 

 

 

 

5、不用修改:

W:\ap6212a0_r16m\android\hardware\broadcom\libbt\src\userial_vendor.c

W:\ap6212a0_r16m\lichee\linux-3.4\drivers\misc\rf_pm\bt_pm.c

static int rfkill_set_power(void *data, bool blocked)

{

  unsigned int mod_sel = get_rf_mod_type();

  

  RF_MSG("rfkill set power %d\n", !blocked);

 

  switch (mod_sel){

    case 2:  /* ap6210 */

    case 5:  /* rtl8723bs */

    case 7:  /* ap6476 */

    case 8:  /* ap6330 */

    case 9:  /* gb9663 */

      if (!blocked) {

        if(bt_rst_n != -1)

          gpio_set_value(bt_rst_n, 1);

      } else {

        if(bt_rst_n != -1)

          gpio_set_value(bt_rst_n, 0);

      }        

      break;

          

    default:

      RF_MSG("no bt module matched !!\n");

  }

  bt_state = !blocked;

  msleep(10);

  return 0;

}

 

 

W:\ap6212a0_r16m\lichee\linux-3.4\drivers\misc\rf_pm\rf_pm.c

char *module_list[] = {

" ",           

"ap6181",       

"ap6210",      

"rtl8188eu",   

"rtl8723au",   

"rtl8723bs",   

"esp8089",      

"ap6476",       

"ap6330",      

"gb9663",

};

 

 

static int rf_pm_probe(struct platform_device *pdev)

{

    get_module_res();

if (mod_info.num <= 0)

return -1;

 

  //moduls power init

  switch(mod_info.num){

    case 1:   /* ap6181 */

    case 2:   /* ap6210 */

    case 5:   /* rtl8723bs */

    case 6:   /* esp8089 */

    case 7:   /* ap6476 */

    case 8:   /* ap6330 */

    case 9:   /* gb9663 */

     rf_module_power(1);

      break;

 

    case 3:   /* rtl8188eu */

    case 4:   /* rtl8723au */

     rf_module_power(0);

     break;

    

    default:

     rf_pm_msg("wrong module select %d !\n", mod_info.num);

  }

 

  //opt ap 32k

  if(mod_info.lpo_use_apclk && strcmp(mod_info.lpo_use_apclk, "")){

   ap_32k = clk_get(NULL, mod_info.lpo_use_apclk);

    if (!ap_32k || IS_ERR(ap_32k)){

      rf_pm_msg("get clk %s failed!\n", mod_info.lpo_use_apclk);

      return -1;

    }

    rf_pm_msg("set %s 32k out\n", mod_info.lpo_use_apclk);

    enable_ap_32k(1);

  }

scene_lock_init(&gpio_hold_standby, SCENE_GPIO_HOLD_STANDBY, "rf_pm");

  return 0;

}

 

 

W:\ap6212a0_r16m\lichee\linux-3.4\drivers\misc\rf_pm\wifi_pm.c

void wifi_pm_power(int on)

{

int mod_num = get_rf_mod_type();

int on_off = 0;

if (on > 0){

  on_off = 1;

} else {

    on_off = 0;

  }

  

    wifi_pm_msg("wifi power %s\n", on?"on":"off");

 

switch(mod_num){

    case 1:   /* ap6181 */

    case 2:   /* ap6210 */

    case 5:   /* rtl8723bs */

    case 6:   /* esp8089 */

    case 7:   /* ap6476 */

    case 8:   /* ap6330 */

    case 9:   /* gb9663*/

     if (wl_info.wl_reg_on != -1)

       gpio_set_value(wl_info.wl_reg_on, on_off);

      break;

 

    case 3:   /* rtl8188eu */

     rf_module_power(on_off);

     break;

    

    case 4:   /* rtl8723au */

     break;

    

    default:

     wifi_pm_msg("wrong module select %d !\n", mod_num);

  }

  

  wl_info.wl_power_state = on_off;

  wifi_state = on_off;

}

EXPORT_SYMBOL(wifi_pm_power);

 

 

 

 

6、可选修改(调试方便):

W:\ap6212a0_r16m\lichee\tools\pack\chips\sun8iw5p1\configs\default\env.cfg

#kernel command arguments

console=ttyS0,115200

nand_root=/dev/nandd

mmc_root=/dev/mmcblk0p7

init=/init

loglevel=8

 

#set kernel cmdline if boot.img or recovery.img has no cmdline we will use this

setargs_nand=setenv bootargs console=${console} root=${nand_root} init=${init} ion_cma_list="120m,256m" loglevel=${loglevel} partitions=${partitions}

setargs_mmc=setenv bootargs console=${console} root=${mmc_root} init=${init} ion_cma_list="120m,256m" loglevel=${loglevel} partitions=${partitions}

 

#nand command syntax: sunxi_flash read address partition_name read_bytes

#0x40007800 = 0x40008000(kernel entry) - 0x800(boot.img header 2k)

boot_normal=sunxi_flash read 40007800 boot;boota 40007800

boot_recovery=sunxi_flash read 40007800 recovery;boota 40007800

boot_fastboot=fastboot

 

#recovery key

recovery_key_value_max=0x13

recovery_key_value_min=0x10

 

#fastboot key

fastboot_key_value_max=0x8

fastboot_key_value_min=0x2

 

#uboot system env config

bootdelay=3

 

#default bootcmd, will change at runtime according to key press

bootcmd=run setargs_nand boot_normal#default nand boot

 

 

 

 

7、

W:\ap6212a0_r16m\lichee\tools\pack\chips\sun8iw5p1\configs\evb-30\sys_config.fex

;----------------------------------------------------------------------------------

;dcdc1_vol ---set dcdc1 voltage,mV,1600-3400,100mV/step

;dcdc2_vol ---set dcdc2 voltage,mV,600-1540,20mV/step

;dcdc3_vol ---set dcdc3 voltage,mV,600-1860,20mV/step

;dcdc4_vol ---set dcdc4 voltage,mV,600-1540,20mV/step

;dcdc5_vol ---set dcdc5 voltage,mV,1000-2550,50mV/step

;aldo2_vol ---set aldo2 voltage,mV,700-3300,100mV/step

;aldo3_vol ---set aldo3 voltage,mV,700-3300,100mV/step

;----------------------------------------------------------------------------------

[power_sply]

dcdc1_vol       = 3000

dcdc2_vol       = 1100

dcdc3_vol       = 1200

dcdc4_vol       = 0

dcdc5_vol       = 1500

aldo2_vol       = 2500

aldo3_vol       = 3000

dldo3_vol       = 3300

 

 

;--------------------------------------------------------------------------------

;wifi/bt/fm/gps/nfc modules configuration

;module_num:   

;             0- none

;             1- ap6181(wifi)

;             2- ap6210/ap6212(wifi+bt)

;             3- rtl8188eu(wifi)

;             4- rtl8723au(wifi+bt)

;             5- rtl8723bs/rtl8723bs-vq0(wifi+bt)

;             6- esp8089(wifi)

;             7- ap6476(wifi+bt+fm+gps)

;             8- ap6330(wifi+bt+fm)

;             9- gb9663(wifi+bt+fm)

;module_power1: ""- bat, "axp_dldo1"- axp dldo1

;module_power1_vol: power1 voltage, mv; not used for module_power1 is ""

;module_power2: ""- bat, "axp_dldo2"- axp dldo2

;module_power2_vol: power2 voltage, mv; not used for module_power2 is ""

;module_power3: ""- bat, "axp_dldo2"- axp dldo2

;module_power3_vol: power3 voltage, mv; not used for module_power3 is ""

;power_switch:  module power switch io when bat supply

;chip_en:       enable chip io

;lpo_use_apclk: ""- not use, "losc_out"- a23/33, "ac10032k1"、"ac10032k2"、"ac10032k3"- a80/a83

;--------------------------------------------------------------------------------

[rf_para]

module_num          = 2

module_power1       = "axp22_dldo1"

module_power1_vol   = 3300000

module_power2       = "axp22_dldo2"

module_power2_vol   = 3300000

module_power3       = "axp22_aldo1"

module_power3_vol   = 3300000

power_switch        =

chip_en             =

lpo_use_apclk       = "losc_out"

 

;--------------------------------------------------------------------------------

;wifi configuration

;wifi_used:      0-not use, 1- use

;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 io

;wl_host_wake:   wifi device wake-up host

;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          = 1

wifi_usbc_type        = 1

wl_reg_on             = port:PL06<1><default><default><0>

wl_host_wake          = port:PL07<4><default><default><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_rst_n:      bt function enable io

;bt_wake:       host wake-up bluetooth device

;bt_wak_host:   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_rst_n              = port:PL08<1><default><default><0>

bt_wake               = port:PL10<1><default><default><0>

bt_host_wake          = port:PL09<4><default><default><0>

bt_wake_invert        = 0

bt_host_wake_invert   = 0

 

 

[pmu1_para]

pmu_used                   = 1

pmu_twi_addr               = 0x34

pmu_twi_id                 = 1

pmu_irq_id                 = 0

pmu_battery_rdc            = 100

pmu_battery_cap            = 4000

pmu_batdeten               = 1

pmu_chg_ic_temp            = 0

pmu_runtime_chgcur         = 900

pmu_earlysuspend_chgcur    = 1200

pmu_suspend_chgcur         = 1500

pmu_shutdown_chgcur        = 1500

pmu_init_chgvol            = 4200

pmu_init_chgend_rate       = 15

pmu_init_chg_enabled       = 1

pmu_init_adc_freq          = 800

pmu_init_adcts_freq        = 800

pmu_init_chg_pretime       = 70

pmu_init_chg_csttime       = 720

pmu_batt_cap_correct       = 1

pmu_bat_regu_en    = 0

 

pmu_bat_para1              = 0

pmu_bat_para2              = 0

pmu_bat_para3              = 0

pmu_bat_para4              = 0

pmu_bat_para5              = 0

pmu_bat_para6              = 0

pmu_bat_para7              = 0

pmu_bat_para8              = 0

pmu_bat_para9              = 5

pmu_bat_para10             = 8

pmu_bat_para11             = 9

pmu_bat_para12             = 10

pmu_bat_para13             = 13

pmu_bat_para14             = 16

pmu_bat_para15             = 20

pmu_bat_para16             = 33

pmu_bat_para17             = 41

pmu_bat_para18             = 46

pmu_bat_para19             = 50

pmu_bat_para20             = 53

pmu_bat_para21             = 57

pmu_bat_para22             = 61

pmu_bat_para23             = 67

pmu_bat_para24             = 73

pmu_bat_para25             = 78

pmu_bat_para26             = 84

pmu_bat_para27             = 88

pmu_bat_para28             = 92

pmu_bat_para29             = 93

pmu_bat_para30             = 94

pmu_bat_para31             = 95

pmu_bat_para32             = 100

 

pmu_usbvol_limit           = 0

pmu_usbcur_limit           = 0

pmu_usbvol                 = 4000

pmu_usbcur                 = 0

pmu_usbvol_pc              = 4400

pmu_usbcur_pc              = 500

pmu_pwroff_vol             = 3300

pmu_pwron_vol              = 2600

pmu_pekoff_time            = 6000

pmu_pekoff_func            = 1

pmu_pekoff_en              = 1

pmu_peklong_time           = 1500

pmu_pekon_time             = 1000

pmu_pwrok_time             = 64

pmu_battery_warning_level1 = 15

pmu_battery_warning_level2 = 0

pmu_restvol_adjust_time    = 60

pmu_ocv_cou_adjust_time    = 60

pmu_chgled_func            = 0

pmu_chgled_type            = 0

pmu_vbusen_func            = 1

pmu_reset                  = 0

pmu_IRQ_wakeup             = 1

pmu_hot_shutdowm           = 1

pmu_inshort                = 0

power_start                = 3

 

pmu_temp_enable            = 0

 

 

阅读全文
0 0
原创粉丝点击