android: add tulip-m64-hdmi target

This commit is contained in:
August 2018-08-14 21:26:09 +08:00
parent c931c0bce3
commit a693e3798b
93 changed files with 163096 additions and 0 deletions

View file

@ -0,0 +1 @@
LOCAL_PATH := $(call my-dir)

View file

@ -0,0 +1,18 @@
#
# Copyright (C) 2013 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/tulip_m64_hdmi.mk

View file

@ -0,0 +1,119 @@
# BoardConfig.mk
#
# Product-specific compile-time definitions.
#
include device/softwinner/tulip-common/BoardConfigCommon.mk
# Enable dex-preoptimization to speed up first boot sequence
WITH_DEXPREOPT := true
DONT_DEXPREOPT_PREBUILTS := false
BOARD_KERNEL_CMDLINE := selinux=1 androidboot.selinux=enforcing
BOARD_FLASH_BLOCK_SIZE := 4096
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736
BOARD_CACHEIMAGE_PARTITION_SIZE := 536870912
ifeq ($(PRODUCT_NOT_USES_VENDORIMAGE), true)
TARGET_COPY_OUT_VENDOR := system/vendor
else
TARGET_COPY_OUT_VENDOR := vendor
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_PARTITION_SIZE := 314572800
# build & split configs
PRODUCT_ENFORCE_RRO_TARGETS := framework-res
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
PRODUCT_FULL_TREBLE_OVERRIDE := true
#BOARD_VNDK_VERSION := current
endif
#time for health alarm
BOARD_PERIODIC_CHORES_INTERVAL_FAST := 86400
BOARD_PERIODIC_CHORES_INTERVAL_SLOW := 86400
# USE Android Go GMS package
BOARD_USE_ANDROID_GO := true
# Enable SVELTE malloc
MALLOC_SVELTE := true
# recovery touch high threshold
TARGET_RECOVERY_UI_TOUCH_HIGH_THRESHOLD := 200
# recovery fs table
TARGET_RECOVERY_FSTAB := device/softwinner/tulip-m64-hdmi/recovery.fstab
DEVICE_MANIFEST_FILE := device/softwinner/tulip-m64-hdmi/configs/manifest.xml
DEVICE_MATRIX_FILE := device/softwinner/tulip-m64-hdmi/configs/compatibility_matrix.xml
# wifi and bt configuration
# 1. Wifi Configuration
BOARD_WIFI_VENDOR := broadcom
# 1.1 broadcom wifi configuration
# BOARD_USR_WIFI: ap6181/ap6210/ap6212/ap6330/ap6335
ifeq ($(BOARD_WIFI_VENDOR), broadcom)
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd
BOARD_WLAN_DEVICE := bcmdhd
WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/bcmdhd/parameters/firmware_path"
BOARD_USR_WIFI := ap6212
include hardware/aw/wlan/firmware/firmware.mk
endif
# 1.2 realtek wifi configuration
ifeq ($(BOARD_WIFI_VENDOR), realtek)
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_rtl
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_rtl
include hardware/realtek/wlan/config/config.mk
BOARD_WLAN_DEVICE := realtek
WIFI_DRIVER_MODULE_NAME := "8723bu"
WIFI_DRIVER_MODULE_PATH := "/vendor/modules/8723bu.ko"
WIFI_DRIVER_MODULE_ARG := "ifname=wlan0 if2name=p2p0"
endif
# 1.3 eagle wifi configuration
ifeq ($(BOARD_WIFI_VENDOR), eagle)
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_eagle
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_eagle
BOARD_USR_WIFI := esp8089
BOARD_WLAN_DEVICE := esp8089
include hardware/espressif/wlan/firmware/esp8089/device-esp.mk
endif
# 2. Bluetooth Configuration
# make sure BOARD_HAVE_BLUETOOTH is true for every bt vendor
BOARD_BLUETOOTH_VENDOR := broadcom
# 2.1 broadcom bt configuration
# BOARD_HAVE_BLUETOOTH_NAME: ap6210/ap6212/ap6330/ap6335
ifeq ($(BOARD_BLUETOOTH_VENDOR), broadcom)
BOARD_HAVE_BLUETOOTH := true
BOARD_HAVE_BLUETOOTH_BCM := true
BOARD_HAVE_BLUETOOTH_NAME := ap6212
BOARD_CUSTOM_BT_CONFIG := $(TOP_DIR)device/softwinner/$(basename $(TARGET_DEVICE))/configs/bluetooth/vnd_$(basename $(TARGET_DEVICE)).txt
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(TOP_DIR)device/softwinner/$(basename $(TARGET_DEVICE))/configs/bluetooth/
endif
# 2.2 realtek bt configuration
ifeq ($(BOARD_BLUETOOTH_VENDOR), realtek)
BOARD_HAVE_BLUETOOTH := true
BOARD_HAVE_BLUETOOTH_RTK := true
BOARD_HAVE_BLUETOOTH_RTK_COEX := true
BOARD_HAVE_BLUETOOTH_NAME := rtl8723bu
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(TOP_DIR)device/softwinner/$(basename $(TARGET_DEVICE))/configs/bluetooth/
include hardware/realtek/bluetooth/firmware/rtlbtfw_cfg.mk
endif
# sensor
SW_BOARD_USES_SENSORS_TYPE := aw

View file

@ -0,0 +1,11 @@
on boot
# MAC Program
mkdir /data/misc/bluedroid 0770 bluetooth net_bt_admin
exec - root system -- /vendor/xbin/macprog.sh
chmod 775 /data/misc/wifi
# Bluetooth
# UART device
chmod 0660 /dev/ttyS1
chown bluetooth net_bt_admin /dev/ttyS1

View file

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2016 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<globalConfiguration speaker_drc_enabled="true"/>
<modules>
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Built-In Mic</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<!--
<mixPort name="hdmi output" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="dynamic"/>
</mixPort>
-->
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100"
channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
</devicePort>
<devicePort tagName="HDMI Out" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
</devicePort>
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="Speaker"
sources="primary output"/>
<route type="mix" sink="Wired Headset"
sources="primary output"/>
<route type="mix" sink="Wired Headphones"
sources="primary output"/>
<route type="mix" sink="BT SCO"
sources="primary output"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output"/>
<route type="mix" sink="HDMI Out"
sources="primary output"/>
<!--
<route type="mix" sink="HDMI Out"
sources="hdmi output"/>
-->
<route type="mix" sink="primary input"
sources="Built-In Mic,Wired Headset Mic,BT SCO Headset Mic"/>
</routes>
</module>
<!-- A2dp Audio HAL -->
<xi:include href="a2dp_audio_policy_configuration.xml"/>
<!-- Usb Audio HAL -->
<xi:include href="usb_audio_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL -->
<xi:include href="r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- Volume section -->
<xi:include href="audio_policy_volumes_drc.xml"/>
<xi:include href="default_volume_tables.xml"/>
</audioPolicyConfiguration>

View file

@ -0,0 +1,2 @@
# bpi axp power key
key 116 POWER

View file

@ -0,0 +1,132 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H
#ifdef BLUETOOTH_RTK
/*
#define BTM_DEF_LOCAL_NAME "Realtek Bluetooth"
*/
// SERVICE_CLASS:0x1A (Bit17 -Networking,Bit19 - Capturing,Bit20 -Object Transfer)
// MAJOR CLASS: COMPUTER
// MINOR CLASS: TABLET
#define BTA_DM_COD {0x1A, 0x01, 0x1C}
#define BTA_GATT_DEBUG FALSE
#define PORT_RX_BUF_LOW_WM (10)
#define PORT_RX_BUF_HIGH_WM (40)
#define PORT_RX_BUF_CRITICAL_WM (45)
#define PORT_CREDIT_RX_MAX (48)
#define HCI_MAX_SIMUL_CMDS (1)
#define BTM_BLE_SCAN_SLOW_INT_1 (144)
#define BTM_BLE_SCAN_SLOW_WIN_1 (16)
#define BTM_MAX_VSE_CALLBACKS (6)
#define BTM_BLE_CONN_INT_MIN_DEF 0x06
#define BTM_BLE_CONN_INT_MAX_DEF 0x0C
#define BTM_BLE_CONN_TIMEOUT_DEF 200
#define BTIF_HF_SERVICES (BTA_HSP_SERVICE_MASK)
#define BTIF_HF_SERVICE_NAMES { BTIF_HSAG_SERVICE_NAME, NULL }
#define BTA_DISABLE_DELAY 1000 /* in milliseconds */
#define BTA_HOST_INTERLEAVE_SEARCH FALSE
/*heartbeat log define*/
#define BTPOLL_DBG FALSE
/*hci log define*/
#define BTHC_DBG FALSE
/*avdtp log define*/
//#define AVDT_DEBUG TRUE
/*BT log verbose*/
#define BT_TRACE_VERBOSE TRUE
/* BT trace messages*/
#define BT_USE_TRACES TRUE
/*A2DP SINK ENABLE*/
#define BTA_AV_SINK_INCLUDED TRUE
#define BLE_LOCAL_PRIVACY_ENABLED FALSE
#define USE_AUDIO_TRACK TRUE
/*BT lib vendor log*/
//#define BTVND_DBG TRUE
/*page timeout */
#define BTA_DM_PAGE_TIMEOUT 8192
#define BTM_LOCAL_IO_CAPS_BLE BTM_IO_CAP_KBDISP
#define BT_HCI_DEVICE_NODE_MAX_LEN 512
#define KERNEL_MISSING_CLOCK_BOOTTIME_ALARM TRUE
#else
#define BTM_DEF_LOCAL_NAME "BPI-M64"
#define BTA_DM_COD {0x20, BTM_COD_MAJOR_AUDIO, BTM_COD_MINOR_SET_TOP_BOX}
#define BLE_VND_INCLUDED TRUE
// Turn off BLE_PRIVACY_SPT. Remote reconnect fails on
// often if this is enabled.
#define BLE_PRIVACY_SPT FALSE
// Force connection interval to 13.75ms
#define BTM_BLE_CONN_INT_MIN_DEF 11 /* 13.75ms = 11 * 1.25 */
#define BTM_BLE_CONN_INT_MAX_DEF BTM_BLE_CONN_INT_MIN_DEF
// Allow better battery life
#define BTM_BLE_CONN_SLAVE_LATENCY_DEF 24
// Detect disconnects faster
#define BTM_BLE_CONN_TIMEOUT_DEF 300
// Increase background scanning to reduce reconnect time
#define BTM_BLE_SCAN_SLOW_INT_1 110 /* 68.75 ms = 110 *0.625 */
#define BTM_BLE_SCAN_SLOW_WIN_1 8 /* 5 ms = 8 *0.625 */
// Disable HFP
#define BTIF_HF_SERVICES (BTA_HSP_SERVICE_MASK)
#define BTIF_HF_SERVICE_NAMES { BTIF_HSAG_SERVICE_NAME, NULL }
// Disable compiling code in Bluedroid for profiles we don't support
#define BTA_PAN_INCLUDED FALSE
#define BNEP_INCLUDED FALSE
#define AVDT_INCLUDED FALSE
#define PAN_INCLUDED FALSE
#define AVCT_INCLUDED FALSE
/* We will support a remote + 4 game controllers. To be able to
* allocate sufficient bandwidth for all devices we will restrict the
* Game Controllers to a sniff interval of 13.75ms.
*/
#define BTA_DM_PM_SNIFF4_MAX 22
#define BTA_DM_PM_SNIFF4_MIN 22
#define BTA_DM_PM_SNIFF4_ATTEMPT 1
#define BTA_DM_PM_SNIFF4_TIMEOUT 0
#define BTA_DM_PM_SNIFF_HH_OPEN_IDX BTA_DM_PM_SNIFF4
#define BTA_DM_PM_HH_OPEN_DELAY 0
#define BTA_DM_PM_SNIFF_HH_ACTIVE_IDX BTA_DM_PM_SNIFF4
#define BTA_DM_PM_HH_ACTIVE_DELAY 0
#define BTA_DM_PM_SNIFF_HH_IDLE_IDX BTA_DM_PM_SNIFF4
#define BTA_DM_PM_HH_IDLE_DELAY 0
// Change I/O capabilities to output only so pairing uses passkey instead of pin
#define BTM_LOCAL_IO_CAPS BTM_IO_CAP_OUT
#endif
#endif

View file

@ -0,0 +1,39 @@
# RELEASE NAME: 20171107_BT_ANDROID_8.x
# Bluetooth Device Name; NULL or comment means "ro.product.model"
Name=BPI-M64
# Indicate USB or UART driver bluetooth
# For usb device:
BtDeviceNode=/dev/rtk_btusb
# For uart device:
# BtDeviceNode=/dev/ttyS1
# Device Class
DevClassServiceClass=0x1A
DevClassMajorClass=0x01
DevClassMinorClass=0x1C
# Enable BtSnoop logging function
# valid value : true, false
RtkBtsnoopDump=false
# BtSnoop log output file
BtSnoopFileName=/data/misc/bluedroid/btsnoop_hci.cfa
# Preserve existing BtSnoop log before overwriting
BtSnoopSaveLog=true
#bit0 = 1,don't show heartbeat packet in btsnoop
RtkbtLogFilter=1
# configuration for uart card to save HCI log for slave
H5LogOutput=0
# Enable Coex log
BtCoexLogOutput=0
# Enable net btsnoop Dump
RtkBtsnoopNetDump=false
# Enable auto restart bt
RtkBtAutoRestart=true

View file

@ -0,0 +1,21 @@
#Set baudrate to 1500000
UART_TARGET_BAUD_RATE=1500000
BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyS1"
FW_PATCHFILE_LOCATION = "/system/vendor/modules/"
LPM_IDLE_TIMEOUT_MULTIPLE = 5
LPM_SLEEP_MODE = FALSE
BT_WAKE_VIA_PROC = TRUE
BTVND_DBG = TRUE
BTHW_DBG = TRUE
VNDUSERIAL_DBG = TRUE
UPIO_DBG = TRUE
SCO_PCM_ROUTING = 0x00
SCO_PCM_IF_CLOCK_RATE = 0x04
SCO_PCM_IF_FRAME_TYPE = 0x00
SCO_PCM_IF_SYNC_MODE = 0x00
SCO_PCM_IF_CLOCK_MODE = 0x00
PCM_DATA_FMT_SHIFT_MODE = 0x00
PCM_DATA_FMT_FILL_BITS = 0x03
PCM_DATA_FMT_FILL_METHOD = 0x00
PCM_DATA_FMT_FILL_NUM = 0x00
PCM_DATA_FMT_JUSTIFY_MODE = 0x0

View file

@ -0,0 +1,189 @@
;-------------------------------------------------------------------------------
; 用于camera的配置
;
; 采用格式:
; key = key_value
; 注意: 每个key需要顶格写;
; key_value紧跟着key后面的等号后面, 位于同一行中;
; key_value限制大小为256字节以内;
;
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
; exif information of "make" and "model"
;-------------------------------------------------------------------------------
key_camera_exif_make = MAKE_AllWinner
key_camera_exif_model = PRODUCT_BOARD
;-------------------------------------------------------------------------------
; 1 for single camera, 2 for double camera
;-------------------------------------------------------------------------------
number_of_camera = 1
;-------------------------------------------------------------------------------
; CAMERA_FACING_BACK
; ov5640
;-------------------------------------------------------------------------------
camera_id = 0
;-------------------------------------------------------------------------------
; 1 for CAMERA_FACING_FRONT
; 0 for CAMERA_FACING_BACK
;-------------------------------------------------------------------------------
camera_facing = 0
;-------------------------------------------------------------------------------
; 1 for camera without isp(using built-in isp of Axx)
; 0 for camera with isp
;-------------------------------------------------------------------------------
use_builtin_isp = 0
;-------------------------------------------------------------------------------
; camera orientation (0, 90, 180, 270)
;-------------------------------------------------------------------------------
camera_orientation = 180
;-------------------------------------------------------------------------------
; driver device name
;-------------------------------------------------------------------------------
camera_device = /dev/video0
;-------------------------------------------------------------------------------
; device id
; for two camera devices with one CSI
;-------------------------------------------------------------------------------
device_id = 0
used_preview_size = 1
key_support_preview_size = 1920x1080,1280x720,800x600,640x480,320x240,176x144
key_default_preview_size = 800x600
used_picture_size = 1
key_support_picture_size = 2592x1936,2048x1536,1600x1200,1920x1080,1280x720,800x600,640x480,320x240
key_default_picture_size = 2592x1936
used_flash_mode = 0
key_support_flash_mode = on,off,auto
key_default_flash_mode = off
used_color_effect=1
key_support_color_effect = none,mono,negative,sepia,aqua
key_default_color_effect = none
used_frame_rate = 1
key_support_frame_rate = 24
key_default_frame_rate = 24
used_focus_mode = 0
key_support_focus_mode = auto,infinity,macro,fixed,continuous-video,continuous-picture
key_default_focus_mode = auto
used_scene_mode = 0
key_support_scene_mode = auto,portrait,landscape,night,night-portrait,theatre,beach,snow,sunset,steadyphoto,fireworks,sports,party,candlelight,barcode
key_default_scene_mode = auto
used_white_balance = 1
key_support_white_balance = auto,incandescent,fluorescent,warm-fluorescent,daylight,cloudy-daylight
key_default_white_balance = auto
used_exposure_compensation = 1
key_max_exposure_compensation = 4
key_min_exposure_compensation = -4
key_step_exposure_compensation = 1
key_default_exposure_compensation = 0
used_zoom = 1
key_zoom_supported = true
key_smooth_zoom_supported = false
key_zoom_ratios = 100,120,150,200,230,250,300
key_max_zoom = 30
key_default_zoom = 0
key_horizonal_view_angle = 48.6
key_vertical_view_angle = 37.0
;-------------------------------------------------------------------------------
; CAMERA_FACING_FRONT
; gc0307
;-------------------------------------------------------------------------------
camera_id = 1
;-------------------------------------------------------------------------------
; 1 for camera without isp(using built-in isp of Axx)
; 0 for camera with isp
;-------------------------------------------------------------------------------
use_builtin_isp = 0
;-------------------------------------------------------------------------------
; 1 for CAMERA_FACING_FRONT
; 0 for CAMERA_FACING_BACK
;-------------------------------------------------------------------------------
camera_facing = 1
;-------------------------------------------------------------------------------
; camera orientation (0, 90, 180, 270)
;-------------------------------------------------------------------------------
camera_orientation = 270
;-------------------------------------------------------------------------------
; driver device name
;-------------------------------------------------------------------------------
camera_device = /dev/video0
;-------------------------------------------------------------------------------
; device id
; for two camera devices with one CSI
;-------------------------------------------------------------------------------
device_id = 1
used_preview_size = 1
key_support_preview_size = 640x480,320x240,176x144
key_default_preview_size = 640x480
used_picture_size = 1
key_support_picture_size = 640x480,320x240
key_default_picture_size = 640x480
;200w
;key_support_picture_size = 1600x1200,1280x720,640x480,320x240
;key_default_picture_size = 1600x1200
used_flash_mode = 0
key_support_flash_mode = on,off,auto
key_default_flash_mode = on
used_color_effect= 1
key_support_color_effect = none,mono,negative,sepia,aqua
key_default_color_effect = none
used_frame_rate = 1
key_support_frame_rate = 24
key_default_frame_rate = 24
used_focus_mode = 0
key_support_focus_mode = auto,infinity,macro,fixed
key_default_focus_mode = auto
used_scene_mode = 0
key_support_scene_mode = auto,portrait,landscape,night,night-portrait,theatre,beach,snow,sunset,steadyphoto,fireworks,sports,party,candlelight,barcode
key_default_scene_mode = auto
used_white_balance = 0
key_support_white_balance = auto,incandescent,fluorescent,warm-fluorescent,daylight,cloudy-daylight
key_default_white_balance = auto
used_exposure_compensation = 1
key_max_exposure_compensation = 3
key_min_exposure_compensation = -3
key_step_exposure_compensation = 1
key_default_exposure_compensation = 0
used_zoom = 1
key_zoom_supported = true
key_smooth_zoom_supported = false
key_zoom_ratios = 100,120,150,200,230,250,300
key_max_zoom = 30
key_default_zoom = 0
key_horizonal_view_angle = 44.3
key_vertical_view_angle = 33.9

View file

@ -0,0 +1,57 @@
<compatibility-matrix version="1.0" type="device">
<hal format="hidl" optional="false">
<name>android.frameworks.schedulerservice</name>
<version>1.0</version>
<interface>
<name>ISchedulingPolicyService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.allocator</name>
<version>1.0</version>
<interface>
<name>IAllocator</name>
<instance>ashmem</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.manager</name>
<version>1.1</version>
<interface>
<name>IServiceManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.memory</name>
<version>1.0</version>
<interface>
<name>IMapper</name>
<instance>ashmem</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.token</name>
<version>1.0</version>
<interface>
<name>ITokenManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.system.wifi.keystore</name>
<version>1.0</version>
<interface>
<name>IKeystore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="native" optional="false">
<name>netutils-wrapper</name>
<version>1.0</version>
</hal>
<vndk>
<version>0.0.0</version>
</vndk>
</compatibility-matrix>

View file

@ -0,0 +1,48 @@
#
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This is a build configuration for a full-featured build of the
# Open-Source part of the tree. It's geared toward a US-centric
# build of the emulator, but all those aspects can be overridden
# in inherited configurations.
PRODUCT_PROPERTY_OVERRIDES := \
ro.config.ringtone=Ring_Synth_04.ogg \
ro.config.notification_sound=pixiedust.ogg
# Put en_US first in the list, so make it default.
PRODUCT_LOCALES := en_US
# Get some sounds
$(call inherit-product-if-exists, frameworks/base/data/sounds/AudioPackageGo.mk)
PRODUCT_COPY_FILES += \
frameworks/base/data/sounds/effects/ogg/Dock.ogg:system/media/audio/ui/Dock.ogg \
frameworks/base/data/sounds/effects/ogg/Undock.ogg:system/media/audio/ui/Undock.ogg \
frameworks/base/data/sounds/effects/ogg/Lock.ogg:system/media/audio/ui/Lock.ogg \
frameworks/base/data/sounds/effects/ogg/Unlock.ogg:system/media/audio/ui/Unlock.ogg \
frameworks/base/data/sounds/effects/ogg/LowBattery.ogg:system/media/audio/ui/LowBattery.ogg \
frameworks/base/data/sounds/effects/ogg/Trusted.ogg:system/media/audio/ui/Trusted.ogg \
frameworks/base/data/sounds/effects/ogg/VideoRecord.ogg:system/media/audio/ui/VideoRecord.ogg \
frameworks/base/data/sounds/effects/ogg/VideoStop.ogg:system/media/audio/ui/VideoStop.ogg \
frameworks/base/data/sounds/effects/ogg/WirelessChargingStarted.ogg:system/media/audio/ui/WirelessChargingStarted.ogg \
frameworks/base/data/sounds/effects/ogg/camera_click.ogg:system/media/audio/ui/camera_click.ogg \
frameworks/base/data/sounds/effects/ogg/camera_focus.ogg:system/media/audio/ui/camera_focus.ogg
# Get a list of languages.
$(call inherit-product, $(SRC_TARGET_DIR)/product/locales_full.mk)
# Get everything else from the parent package
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk)

View file

@ -0,0 +1,117 @@
;Direction parameter adjustment, including the x, y, z axis, and xy interchange four variables,
;the name of the module used for identification, and drive registered name consistent
;--------------------------
;name:bma250
;--------------------------
gsensor_name = bma250
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = false
gsensor_xy_revert = true
;--------------------------
;name:dmard06
;--------------------------
gsensor_name = dmard06
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = true
gsensor_xy_revert = false
;--------------------------
;name:mma7660
;--------------------------
gsensor_name = mma7660
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = false
gsensor_xy_revert = true
;--------------------------
;name:mma8452
;--------------------------
gsensor_name = mma8452
gsensor_direct_x = true
gsensor_direct_y = false
gsensor_direct_z = false
gsensor_xy_revert = false
;--------------------------
;name:kxtik
;--------------------------
gsensor_name = kxtik
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = true
gsensor_xy_revert = false
;--------------------------
;name:afa750
;--------------------------
gsensor_name = afa750
gsensor_direct_x = false
gsensor_direct_y = false
gsensor_direct_z = false
gsensor_xy_revert = true
;--------------------------
;name:mxc622x
;--------------------------
gsensor_name = mxc622x
gsensor_direct_x = true
gsensor_direct_y = false
gsensor_direct_z = false
gsensor_xy_revert = false
;--------------------------
;name:mma865x
;--------------------------
gsensor_name = mma865x
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = false
gsensor_xy_revert = true
;--------------------------
;name:lis3de_acc
;--------------------------
gsensor_name = lis3de_acc
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = false
gsensor_xy_revert = false
;--------------------------
;name:lis3dh_acc
;--------------------------
gsensor_name = lis3dh_acc
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = false
gsensor_xy_revert = false
;--------------------------
;name:stk831x
;--------------------------
gsensor_name = stk831x
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = false
gsensor_xy_revert = true
;--------------------------
;name:FreescaleAccelerometer
;--------------------------
gsensor_name = FreescaleAccelerometer
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = true
gsensor_xy_revert = false
;--------------------------
;name:sc7a30
;--------------------------
gsensor_name = sc7a30
gsensor_direct_x = true
gsensor_direct_y = true
gsensor_direct_z = true
gsensor_xy_revert = true
;--------------------------
;name:mir3da
;--------------------------
gsensor_name = mir3da
gsensor_direct_x = false
gsensor_direct_y = true
gsensor_direct_z = false
gsensor_xy_revert = false

View file

@ -0,0 +1,11 @@
on boot
# MAC Program
mkdir /data/misc/bluedroid 0770 bluetooth net_bt_admin
exec - root system -- /vendor/xbin/macprog.sh
chmod 775 /data/misc/wifi
# Bluetooth
# UART device
chmod 0660 /dev/ttyS1
chown bluetooth net_bt_admin /dev/ttyS1

View file

@ -0,0 +1,208 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IDevicesFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.power</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IPower</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.audio.effect</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IEffectsFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.bluetooth</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IBluetoothHci</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.radio.deprecated</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOemHook</name>
<instance>slot1</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IRadio</name>
<instance>slot1</instance>
</interface>
<interface>
<name>ISap</name>
<instance>slot1</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.light</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>ILight</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.cas</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMediaCasService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.wifi</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IWifi</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.wifi.supplicant</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISupplicant</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.configstore</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISurfaceFlingerConfigs</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.drm</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ICryptoFactory</name>
<instance>default</instance>
<instance>widevine</instance>
</interface>
<interface>
<name>IDrmFactory</name>
<instance>default</instance>
<instance>widevine</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.gatekeeper</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IGatekeeper</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.allocator</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IAllocator</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.composer</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IComposer</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.mapper</name>
<transport arch="32+64">passthrough</transport>
<version>2.0</version>
<interface>
<name>IMapper</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.keymaster</name>
<transport>hwbinder</transport>
<version>3.0</version>
<interface>
<name>IKeymasterDevice</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOmx</name>
<instance>default</instance>
</interface>
<interface>
<name>IOmxStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.memtrack</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMemtrack</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.camera.provider</name>
<transport>hwbinder</transport>
<version>2.4</version>
<interface>
<name>ICameraProvider</name>
<instance>legacy/0</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.sensors</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISensors</name>
<instance>default</instance>
</interface>
</hal>
<sepolicy>
<version>26.0</version>
</sepolicy>
</manifest>

View file

@ -0,0 +1,276 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE MediaSettings [
<!ELEMENT MediaSettings (CamcorderProfiles,
EncoderOutputFileFormat+,
VideoEncoderCap+,
AudioEncoderCap+,
VideoDecoderCap,
AudioDecoderCap)>
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
<!ELEMENT EncoderProfile (Video, Audio)>
<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ELEMENT Video EMPTY>
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
<!ATTLIST Video bitRate CDATA #REQUIRED>
<!ATTLIST Video width CDATA #REQUIRED>
<!ATTLIST Video height CDATA #REQUIRED>
<!ATTLIST Video frameRate CDATA #REQUIRED>
<!ELEMENT Audio EMPTY>
<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
<!ATTLIST Audio bitRate CDATA #REQUIRED>
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
<!ATTLIST Audio channels (1|2) #REQUIRED>
<!ELEMENT ImageEncoding EMPTY>
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
<!ELEMENT ImageDecoding EMPTY>
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
<!ELEMENT Camera EMPTY>
<!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
<!ELEMENT EncoderOutputFileFormat EMPTY>
<!ATTLIST EncoderOutputFileFormat name (mp4) #REQUIRED>
<!ELEMENT VideoEncoderCap EMPTY>
<!ATTLIST VideoEncoderCap name (h264) #REQUIRED>
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
<!ELEMENT AudioEncoderCap EMPTY>
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
<!ELEMENT VideoDecoderCap EMPTY>
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT AudioDecoderCap EMPTY>
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
]>
<!--
This file is used to declare the multimedia profiles and capabilities
on an android-powered device.
-->
<MediaSettings>
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
<!-- Back Camera -->
<!-- Front Camera -->
<CamcorderProfiles cameraId="0" startOffsetMs="700">
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1500000"
width="640"
height="480"
frameRate="24" />
<Audio codec="aac"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="10000000"
width="1280"
height="720"
frameRate="30" />
<Audio codec="aac"
bitRate="128000"
sampleRate="44100"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="10000000"
width="1920"
height="1080"
frameRate="30" />
<Audio codec="aac"
bitRate="128000"
sampleRate="44100"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1500000"
width="640"
height="480"
frameRate="24" />
<Audio codec="aac"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="10000000"
width="1280"
height="720"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="128000"
sampleRate="44100"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="10000000"
width="1920"
height="1080"
frameRate="30" />
<!-- audio setting is ignored -->
<Audio codec="aac"
bitRate="128000"
sampleRate="44100"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<CamcorderProfiles cameraId="1" startOffsetMs="700">
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1500000"
width="640"
height="480"
frameRate="24" />
<Audio codec="aac"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="1500000"
width="640"
height="480"
frameRate="24" />
<Audio codec="aac"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<ImageEncoding quality="90" />
<ImageEncoding quality="80" />
<ImageEncoding quality="70" />
<ImageDecoding memCap="20000000" />
</CamcorderProfiles>
<EncoderOutputFileFormat name="mp4" />
<!--
If a codec is not enabled, it is invisible to the applications
In other words, the applications won't be able to use the codec
or query the capabilities of the codec at all if it is disabled
-->
<VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="3000000"
minFrameWidth="176" maxFrameWidth="2592"
minFrameHeight="144" maxFrameHeight="1936"
minFrameRate="1" maxFrameRate="30" />
<AudioEncoderCap name="aac" enabled="true"
minBitRate="12200" maxBitRate="51200"
minSampleRate="8000" maxSampleRate="44100"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="amrwb" enabled="true"
minBitRate="6600" maxBitRate="23050"
minSampleRate="16000" maxSampleRate="16000"
minChannels="1" maxChannels="1" />
<AudioEncoderCap name="amrnb" enabled="true"
minBitRate="5525" maxBitRate="12200"
minSampleRate="8000" maxSampleRate="8000"
minChannels="1" maxChannels="1" />
<!--
FIXME:
We do not check decoder capabilities at present
At present, we only check whether windows media is visible
for TEST applications. For other applications, we do
not perform any checks at all.
-->
<VideoDecoderCap name="wmv" enabled="true"/>
<AudioDecoderCap name="wma" enabled="true"/>
<!--
The VideoEditor Capability configuration:
- maxInputFrameWidth: maximum video width of imported video clip.
- maxInputFrameHeight: maximum video height of imported video clip.
- maxOutputFrameWidth: maximum video width of exported video clip.
- maxOutputFrameHeight: maximum video height of exported video clip.
- maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
used to limit the amount of memory for prefetched YUV frames.
For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
frames) memory.
-->
<VideoEditorCap maxInputFrameWidth="1920"
maxInputFrameHeight="1080" maxOutputFrameWidth="1920"
maxOutputFrameHeight="1080" maxPrefetchYUVFrames="10"/>
<!--
The VideoEditor Export codec profile and level values
correspond to the values in OMX_Video.h.
E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
and level 4096 means OMX_VIDEO_AVCLevel41.
Please note that the values are in decimal.
These values are for video encoder.
-->
<!--
Codec = h.264, Baseline profile, level 4.1
-->
<ExportVideoProfile name="h264" profile= "2" level="4096"/>
<!--
Codec = h.263, Baseline profile, level 0
-->
<ExportVideoProfile name="h263" profile= "1" level="1"/>
<!--
Codec = mpeg4, Simple profile, level 5
-->
<ExportVideoProfile name="m4v" profile= "1" level="128"/>
</MediaSettings>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,14 @@
# bpi ir keycode
# type 17c6
key 116 POWER
key 28 DPAD_CENTER
key 103 DPAD_UP
key 105 DPAD_LEFT
key 106 DPAD_RIGHT
key 108 DPAD_DOWN
key 102 HOME
key 158 BACK
key 119 APP_SWITCH
key 139 MENU

View file

@ -0,0 +1,40 @@
# Copyright (C) 2010 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Emulator keyboard configuration file #1.
#
# Basic Parameters
touch.deviceType = touchScreen
touch.orientationAware = 1
# Size
touch.size.calibration = diameter
touch.size.scale = 10
touch.size.bias = 0
touch.size.isSummed = 0
# Pressure
# Driver reports signal strength as pressure.
#
# A normal thumb touch typically registers about 200 signal strength
# units although we don't expect these values to be accurate.
touch.pressure.calibration = amplitude
touch.pressure.scale = 0.005
# Orientation
touch.orientation.calibration = none

View file

@ -0,0 +1,32 @@
29 81 03 7C E1 00 28 00 b3 04 65 45 10 86 40 02
2A 2A 2A 2A 2A 2A 2E 2E 2E 2E 2E 02 FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF 2A 2A 2A 2A 2A 2A
2E 2E 2E 2E 2E 02 FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 20 20 28 00 00 00 FF FF
FF 39 20 11 00 00 00 FF 00 FF 12 FF FF FF FF FF
3E 10 01 02 23 00 80 FF 20 04 4C 02 03 B7 21 02
0C 00 22 04 00 08 00 32 FF 21 02 0C 00 22 2A 01
01 00 00 00 00 00 00 00 00 00 00 00 02 00 FF FF
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 EB 00 6E 01 00 00 00 00 FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

View file

@ -0,0 +1,19 @@
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#/dev/block/by-name/system /system ext4 ro,barrier=1 wait
#/dev/block/by-name/vendor /vendor ext4 ro,barrier=1 wait
/dev/block/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check,formattable
/dev/block/by-name/UDISK /data f2fs noatime,nosuid,nodev,discard wait,check,formattable,quota,encryptable=/dev/block/by-name/metadata
/dev/block/by-name/boot /boot emmc defaults defaults
/dev/block/by-name/recovery /recovery emmc defaults defaults
/dev/block/by-name/misc /misc emmc defaults defaults
/dev/block/by-name/frp /persistent emmc defaults defaults
/dev/block/zram0 none swap defaults zramsize=75%
/devices/platform/soc/sdc0/mmc_host/mmc* auto auto defaults voldmanaged=extsd:auto
/devices/platform/soc/1c1a000.ehci0-controller/usb* auto auto defaults voldmanaged=usb:auto
/devices/platform/soc/1c1b000.ehci1-controller/usb* auto auto defaults voldmanaged=usb:auto
/devices/platform/soc/1c1a000.ohci0-controller/usb* auto auto defaults voldmanaged=usb:auto
/devices/platform/soc/1c1b000.ohci1-controller/usb* auto auto defaults voldmanaged=usb:auto

View file

@ -0,0 +1,98 @@
# Gralloc
PRODUCT_PACKAGES += \
android.hardware.graphics.allocator@2.0-impl \
android.hardware.graphics.allocator@2.0-service \
android.hardware.graphics.mapper@2.0-impl
# HW Composer
PRODUCT_PACKAGES += \
android.hardware.graphics.composer@2.1-impl \
android.hardware.graphics.composer@2.1-service \
hwcomposer.tulip
# Audio
PRODUCT_PACKAGES += \
audio.primary.tulip \
sound_trigger.primary.tulip \
radio.fm.default \
android.hardware.audio@2.0-service \
android.hardware.audio@2.0-impl \
android.hardware.audio.effect@2.0-impl \
android.hardware.soundtrigger@2.0-impl \
android.hardware.broadcastradio@1.0-impl
#power
PRODUCT_PACKAGES += \
android.hardware.power@1.0-service \
android.hardware.power@1.0-impl \
power.tulip
# keymaster HAL
PRODUCT_PACKAGES += \
android.hardware.keymaster@3.0-impl \
android.hardware.keymaster@3.0-service
# CAMERA
PRODUCT_PACKAGES += \
camera.device@3.2-impl \
android.hardware.camera.provider@2.4-service\
android.hardware.camera.provider@2.4-impl \
libcamera \
camera.tulip
# Memtrack
PRODUCT_PACKAGES += \
android.hardware.memtrack@1.0-impl \
android.hardware.memtrack@1.0-service \
memtrack.tulip \
memtrack.default
# drm
PRODUCT_PACKAGES += \
android.hardware.drm@1.0-impl \
android.hardware.drm@1.0-service \
android.hardware.drm@1.0-service.widevine
# ION
PRODUCT_PACKAGES += \
libion
# Wi-Fi Pakages
PRODUCT_PACKAGES += \
android.hardware.wifi@1.0-service \
libwpa_client \
wpa_supplicant \
hostapd \
wificond \
wifilogd \
wpa_supplicant.conf
# Bluetooth
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.0-impl \
android.hardware.bluetooth@1.0-service \
android.hardware.bluetooth@1.0-service.rc \
android.hidl.memory@1.0-impl \
Bluetooth \
libbt-vendor \
audio.a2dp.default
# Light Hal
PRODUCT_PACKAGES += \
android.hardware.light@2.0-service \
android.hardware.light@2.0-impl \
lights.tulip
# Sensor
PRODUCT_PACKAGES += \
sensors.exdroid \
android.hardware.sensors@1.0-impl \
android.hardware.sensors@1.0-service
# new gatekeeper HAL
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-impl \
android.hardware.gatekeeper@1.0-service \
libgatekeeper \
gatekeeper.tulip

View file

@ -0,0 +1,41 @@
on init
# Load persistent dm-verity state
verity_load_state
on early-boot
# Update dm-verity state and set partition.*.verified properties
verity_update_state
on boot
# Read one page at a time for swap (default is 8)
write /proc/sys/vm/page-cluster 0
write /proc/sys/vm/swappiness 80
# led
insmod /vendor/modules/leds-sunxi.ko
#insmod gsensor module
#insmod /vendor/modules/bma250.ko
#tp
chown system system /sys/devices/platform/soc/twi0/i2c-0/0-0038/input/input3/runtime_suspend
### csi module
insmod /vendor/modules/videobuf2-core.ko
insmod /vendor/modules/videobuf2-memops.ko
insmod /vendor/modules/videobuf2-v4l2.ko
insmod /vendor/modules/videobuf2-dma-contig.ko
insmod /vendor/modules/vfe_io.ko
insmod /vendor/modules/ov5640.ko
insmod /vendor/modules/vfe_v4l2.ko
on property:sys.boot_completed=1
#inmod tp module
#insmod /vendor/modules/ft5x16_ts.ko
#insmod /vendor/modules/gt9xxnew_ts.ko
#insmod ir module
insmod /vendor/modules/ir-nec-decoder.ko
insmod /vendor/modules/sunxi-ir-rx.ko
# 40pin
insmod /vendor/modules/gpio-sunxi.ko

View file

@ -0,0 +1,2 @@
on init
insmod /ft5x16_ts.ko

Binary file not shown.

View file

@ -0,0 +1,3 @@
# modules.mk generate by extract-files.sh, do not edit it.
PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/modules,$(TARGET_COPY_OUT_VENDOR)/modules)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2012, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. -->
<resources>
<!-- Use a larger scaling span for larger screen devices. -->
<dimen name="config_minScalingSpan">33mm</dimen>
</resources>

View file

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2012, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. -->
<resources>
<!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
autodetected from the Configuration. -->
<bool name="config_enableWallpaperService">true</bool>
<bool name="config_showNavigationBar">true</bool>
<!-- Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">1</integer>
<!-- Whether UI for multi user should be shown -->
<bool name="config_enableMultiUserUI">true</bool>
<!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
<bool name="config_unplugTurnsOnScreen">true</bool>
<!-- Minimum screen brightness setting allowed by the power manager.
The user is forbidden from setting the brightness below this level. -->
<!-- <integer name="config_screenBrightnessSettingMinimum">15</integer> -->
<!-- Maximum screen brightness allowed by the power manager.
The user is forbidden from setting the brightness above this level. -->
<!-- <integer name="config_screenBrightnessSettingMaximum">200</integer> -->
<!-- Screen brightness used to dim the screen when the user activity
timeout expires. May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDim">15</integer>
<!-- List of regexpressions describing the interface (if any) that represent tetherable
USB interfaces. If the device doesn't want to support tething over USB this should
be empty. An example would be "usb.*" -->
<string-array translatable="false" name="config_tether_usb_regexs">
<item>"rndis0"</item>
</string-array>
<!-- List of regexpressions describing the interface (if any) that represent tetherable
Wifi interfaces. If the device doesn't want to support tethering over Wifi this
should be empty. An example would be "softap.*" -->
<string-array translatable="false" name="config_tether_wifi_regexs">
<item>"wlan0"</item>
</string-array>
<!-- List of regexpressions describing the interface (if any) that represent tetherable
bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
should be empty. -->
<!-- default: disable Bluetooth PAN feature -->
<string-array translatable="false" name="config_tether_bluetooth_regexs">
<item>"bt-pan"</item>
</string-array>
<!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
Please don't copy them, copy anything else. -->
<!-- Remote server that can provide NTP responses. -->
<string translatable="false" name="config_ntpServer">2.android.pool.ntp.org</string>
<!-- This string array should be overridden by the device to present a list of network
attributes. This is used by the connectivity manager to decide which networks can coexist
based on the hardware -->
<!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
[associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet] -->
<!-- the 5th element "resore-time" indicates the number of milliseconds to delay
before automatically restore the default connection. Set -1 if the connection
does not require auto-restore. -->
<!-- the 6th element indicates boot-time dependency-met value. -->
<string-array translatable="false" name="networkAttributes">
<item>"wifi,1,1,1,-1,true"</item>
<item>"mobile,0,0,0,-1,true"</item>
<item>"wifi_p2p,13,1,0,-1,true"</item>
<item>"bluetooth,7,7,1,60000,true"</item>
<item>"ethernet,9,9,2,-1,true"</item>
</string-array>
<!-- Array of ConnectivityManager.TYPE_xxxx values allowable for tethering -->
<!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
<!== [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
<integer-array translatable="false" name="config_tether_upstream_types">
<item>0</item>
<item>1</item>
<item>5</item>
<item>7</item>
<item>9</item>
</integer-array>
<!-- An Array of "[ConnectivityManager connectionType],
[# simultaneous connection types]" -->
<string-array translatable="false" name="radioAttributes">
<item>"1,1"</item>
<item>"0,1"</item>
<item>"7,1"</item>
<item>"9,1"</item>
</string-array>
<!-- Flag indicating whether the current device is "voice capable".
If true, this means that the device supports circuit-switched
(i.e. voice) phone calls over the telephony network, and is
allowed to display the in-call UI while a cellular voice call is
active. This can be overridden to false for "data only" devices
which can't make voice calls and don't support any in-call UI.
Note: this flag is subtly different from the
PackageManager.FEATURE_TELEPHONY system feature, which is
available on *any* device with a telephony radio, even if the
device is data-only. -->
<bool name="config_voice_capable">false</bool>
<!-- Flag indicating whether the current device allows sms service.
If true, this means that the device supports both sending and
receiving sms via the telephony network.
This can be overridden to false for "data only" devices
which can't send and receive sms message.
Note: Disable SMS also disable voicemail waiting sms,
cell broadcasting sms, and MMS. -->
<bool name="config_sms_capable">false</bool>
<bool name="config_useDevInputEventForAudioJack">true</bool>
<!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
<bool translatable="false" name="config_wifi_dual_band_support">false</bool>
<!-- Boolean indicating whether the wifi chipset has background scan support -->
<bool translatable="false" name="config_wifi_background_scan_support">false</bool>
<!-- Set to true if the wifi display supports compositing content stored
in gralloc protected buffers. For this to be true, there must exist
a protected hardware path for surface flinger to composite and send
protected buffers to the wifi display video encoder.
If this flag is false, we advise applications not to use protected
buffers (if possible) when presenting content to a wifi display because
the content may be blanked.
This flag controls whether the {@link Display#FLAG_SUPPORTS_PROTECTED_BUFFERS}
flag is set for wifi displays.
-->
<bool name="config_wifiDisplaySupportsProtectedBuffers">false</bool>
<!-- Whether WiFi display is supported by this device.
There are many prerequisites for this feature to work correctly.
Here are a few of them:
* The WiFi radio must support WiFi P2P.
* The WiFi radio must support concurrent connections to the WiFi display and
to an access point.
* The Audio Flinger audio_policy.conf file must specify a rule for the "r_submix"
remote submix module. This module is used to record and stream system
audio output to the WiFi display encoder in the media server.
* The remote submix module "audio.r_submix.default" must be installed on the device.
* The device must be provisioned with HDCP keys (for protected content).
-->
<bool name="config_enableWifiDisplay">true</bool>
<!-- Device configuration setting the minfree tunable in the lowmemorykiller in the kernel.
A high value will cause the lowmemorykiller to fire earlier, keeping more memory
in the file cache and preventing I/O thrashing, but allowing fewer processes to
stay in memory. A low value will keep more processes in memory but may cause
thrashing if set too low. Overrides the default value chosen by ActivityManager
based on screen size and total memory for the largest lowmemorykiller bucket, and
scaled proportionally to the smaller buckets. -1 keeps the default. -->
<integer name="config_lowMemoryKillerMinFreeKbytesAbsolute">-1</integer>
<!-- Device configuration adjusting the minfree tunable in the lowmemorykiller in the
kernel. A high value will cause the lowmemorykiller to fire earlier, keeping more
memory in the file cache and preventing I/O thrashing, but allowing fewer processes
to stay in memory. A low value will keep more processes in memory but may cause
thrashing if set too low. Directly added to the default value chosen by
ActivityManager based on screen size and total memory for the largest lowmemorykiller
bucket, and scaled proportionally to the smaller buckets. 0 keeps the default. -->
<integer name="config_lowMemoryKillerMinFreeKbytesAdjust">0</integer>
<!-- Device configuration setting the /proc/sys/vm/extra_free_kbytes tunable in the kernel
(if it exists). A high value will increase the amount of memory that the kernel
tries to keep free, reducing allocation time and causing the lowmemorykiller to kill
earlier. A low value allows more memory to be used by processes but may cause more
allocations to block waiting on disk I/O or lowmemorykiller. Overrides the default
value chosen by ActivityManager based on screen size. 0 prevents keeping any extra
memory over what the kernel keeps by default. -1 keeps the default. -->
<integer name="config_extraFreeKbytesAbsolute">-1</integer>
<!-- Device configuration adjusting the /proc/sys/vm/extra_free_kbytes tunable in the kernel
(if it exists). 0 uses the default value chosen by ActivityManager. A positive value
will increase the amount of memory that the kernel tries to keep free, reducing
allocation time and causing the lowmemorykiller to kill earlier. A negative value
allows more memory to be used by processes but may cause more allocations to block
waiting on disk I/O or lowmemorykiller. Directly added to the default value chosen by
ActivityManager based on screen size. -->
<integer name="config_extraFreeKbytesAdjust">0</integer>
<!-- If true, the screen can be rotated via the accelerometer in all 4
rotations as the default behavior. -->
<bool name="config_allowAllRotations">true</bool>
<!-- Switch for lockscreen rotation by -->
<bool name="config_enableLockScreenRotation">true</bool>
<!-- Boolean indicating if current platform supports BLE peripheral mode -->
<bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
<!-- ComponentName of the default dream (Settings.Secure.DEFAULT_SCREENSAVER_COMPONENT) -->
<string name="config_dreamsDefaultComponent" translatable="false">com.android.deskclock/com.android.deskclock.Screensaver</string>
<!-- Low ram device configurations -->
<!-- Pinner Service: not recommanded for 512M device -->
<string-array translatable="false" name="config_defaultPinnerServiceFiles">
<item>"/system/framework/arm/boot.vdex"</item>
<item>"/system/framework/arm/boot-framework.vdex"</item>
</string-array>
<!-- Disable wifi debugging -->
<bool translatable="false" name="config_wifi_enable_wifi_firmware_debugging">false</bool>
<integer translatable="false" name="config_wifi_logger_ring_buffer_verbose_size_limit_kb">64</integer>
<!-- enable night light mode -->
<bool name="config_setColorTransformAccelerated">true</bool>
</resources>

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2012, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<resources>
<integer name="button_pressed_animation_duration">50</integer>
<integer name="button_pressed_animation_delay">50</integer>
</resources>

View file

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 2012, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License")
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<device name="Android">
<!-- All values are in mAh except as noted -->
<item name="none">0</item>
<item name="screen.on">25</item>
<item name="screen.full">421.0</item>
<item name="bluetooth.active">66.2</item>
<item name="bluetooth.on">0.7</item>
<item name="wifi.on">2.0</item>
<item name="wifi.active">29.0</item>
<item name="wifi.scan">20.0</item>
<item name="dsp.audio">0.1</item>
<item name="dsp.video">0.1</item>
<!--
<item name="gps.on">59.7</item>
<item name="radio.active">185.6</item>
-->
<!-- The current consumed by the radio when it is scanning for a signal -->
<!--
<item name="radio.scanning">122.68</item>
-->
<!-- Current consumed by the radio at different signal strengths, when paging -->
<!--
<array name="radio.on">
<value>1.7</value>
<value>2.4</value>
</array>
-->
<!-- Different CPU speeds as reported in
/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state -->
<array name="cpu.speeds">
<value>120000</value>
<value>240000</value>
<value>312000</value>
<value>408000</value>
<value>480000</value>
<value>504000</value>
<value>600000</value>
<value>648000</value>
<value>720000</value>
<value>816000</value>
<value>912000</value>
<value>1008000</value>
<value>1104000</value>
<value>1200000</value>
<value>1344000</value>
</array>
<!-- Power consumption when CPU is idle -->
<item name="cpu.idle">8.5</item>
<item name="cpu.awake">35.33</item>
<!-- Power consumption at different speeds -->
<array name="cpu.active">
<value>194.0</value>
<value>206.0</value>
<value>218.0</value>
<value>230.0</value>
<value>242.0</value>
<value>254.0</value>
<value>266.0</value>
<value>278.0</value>
<value>290.0</value>
<value>302.0</value>
<value>314.0</value>
<value>326.0</value>
<value>338.0</value>
<value>350.0</value>
<value>362.0</value>
</array>
<!-- This is the battery capacity in mAh -->
<item name="battery.capacity">2850</item>
</device>

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2014 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources>
<!-- Keep screen on at all times by default -->
<bool name="def_stay_on_while_plugged_in">false</bool>
<!-- Do not give up on DHCP -->
<integer name="def_max_dhcp_retries">0</integer>
<!-- Default Location Mode -->
<string name="def_location_providers_allowed" translatable="false">network</string>
<!-- captive portal detection -->
<add-resource type="integer" name="def_captive_portal_mode" />
<integer name="def_captive_portal_mode">1</integer>
<!-- captive portal detection use https -->
<add-resource type="integer" name="def_captive_portal_use_https" />
<integer name="def_captive_portal_use_https">1</integer>
<!-- captive portal detection https server url -->
<add-resource type="string" name="def_captive_portal_https_url" />
<string name="def_captive_portal_https_url">https://captive.v2ex.co/generate_204</string>
<!-- captive portal detection http server url -->
<add-resource type="string" name="def_captive_portal_http_url" />
<string name="def_captive_portal_http_url">http://captive.v2ex.co/generate_204</string>
<!-- Low ram device configurations -->
<bool name="def_bluetooth_on">false</bool>
<bool name="def_accelerometer_rotation">false</bool>
</resources>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2014 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources>
<integer name="config_recents_max_icon_count">8</integer>
<!-- Low ram device configurations -->
<!-- disable the automatic dimming animation to save cpu cycles-->
<bool name="config_navigation_bar_enable_auto_dim_no_visible_wallpaper">false</bool>
</resources>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources>
<!-- This option allows us to hide the Files app icon from launcher on Android Go device.
Android Go device will have Files Go app for file management. -->
<bool name="is_launcher_enabled">false</bool>
</resources>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources>
<!-- Dynamic Grid -->
<dimen name="dynamic_grid_hotseat_size">80dp</dimen>
</resources>

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<profiles xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3" >
<profile
launcher:name="Go Device"
launcher:minWidthDps="575"
launcher:minHeightDps="904"
launcher:numRows="5"
launcher:numColumns="6"
launcher:numFolderRows="4"
launcher:numFolderColumns="5"
launcher:minAllAppsPredictionColumns="4"
launcher:iconSize="64"
launcher:iconTextSize="14.4"
launcher:numHotseatIcons="7"
launcher:defaultLayoutId="@xml/default_workspace_5x6"
/>
</profiles>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<add-resource type="string" name="naming_is_Google" />
<string name="naming_is_Google">Google</string>
</resources>

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">
<!-- Google Folder -->
<include launcher:workspace="@xml/google_folder" />
<!-- Hotseat -->
<include launcher:workspace="@xml/dw_tablet_hotseat" />
<!-- Bottom row -->
<resolve
launcher:screen="0"
launcher:x="-1"
launcher:y="-1" >
<favorite launcher:uri="#Intent;action=android.settings.SETTINGS;category=android.intent.category.DEFAULT;end" />
</resolve>
</favorites>

View file

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">
<!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
<!-- Messaging, Email, Browser, [All Apps], Music, Gallery, Camera -->
<!--for Go GMS package -->
<favorite
launcher:container="-101"
launcher:screen="0"
launcher:x="0"
launcher:y="0"
launcher:className="com.google.android.apps.nbu.files.home.HomeActivity"
launcher:packageName="com.google.android.apps.nbu.files" >
</favorite>
<!-- for normal GMS package
<resolve
launcher:container="-101"
launcher:screen="0"
launcher:x="0"
launcher:y="0" >
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MESSAGING;end" />
<favorite launcher:uri="sms:" />
<favorite launcher:uri="smsto:" />
<favorite launcher:uri="mms:" />
<favorite launcher:uri="mmsto:" />
</resolve>
-->
<favorite
launcher:container="-101"
launcher:screen="1"
launcher:x="1"
launcher:y="0"
launcher:className="com.softwinner.fireplayer.ui.FourKMainActivity"
launcher:packageName="com.softwinner.fireplayer" >
</favorite>
<resolve
launcher:container="-101"
launcher:screen="2"
launcher:x="2"
launcher:y="0" >
<favorite
launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_BROWSER;end" />
<favorite launcher:uri="http://www.example.com/" />
</resolve>
<resolve
launcher:container="-101"
launcher:screen="3"
launcher:x="3"
launcher:y="0" >
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MARKET;end" />
<favorite launcher:uri="market://details?id=com.android.launcher" />
</resolve>
<favorite
launcher:container="-101"
launcher:screen="4"
launcher:x="4"
launcher:y="0"
launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MUSIC;end" />
<resolve
launcher:container="-101"
launcher:screen="5"
launcher:x="5"
launcher:y="0" >
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_GALLERY;end" />
<favorite launcher:uri="#Intent;type=images/*;end" />
</resolve>
<resolve
launcher:container="-101"
launcher:screen="6"
launcher:x="6"
launcher:y="0" >
<favorite launcher:uri="#Intent;action=android.media.action.STILL_IMAGE_CAMERA;end" />
<favorite launcher:uri="#Intent;action=android.intent.action.CAMERA_BUTTON;end" />
</resolve>
</favorites>

View file

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">
<!-- Google Folder -->
<folder
launcher:title="@string/naming_is_Google"
launcher:screen="0"
launcher:x="0"
launcher:y="-1" >
<!-- for Go GMS package -->
<favorite
launcher:className="com.google.android.apps.searchlite.ui.SearchActivity"
launcher:packageName="com.google.android.apps.searchlite" />
<favorite
launcher:className="com.google.android.apps.youtube.lite.frontend.activities.SplashActivity"
launcher:packageName="com.google.android.apps.youtube.mango" />
<favorite
launcher:className="com.google.android.gm.ConversationListActivityGmail"
launcher:packageName="com.google.android.gm.lite" />
<favorite
launcher:className="com.google.android.apps.assistant.go.MainActivity"
launcher:packageName="com.google.android.apps.assistant" />
<favorite
launcher:className="org.chromium.webapk.shell_apk.MainActivity"
launcher:packageName="com.google.android.apps.mapslite" />
<!-- for normal GMS package
<favorite
launcher:className="com.google.android.apps.gsa.searchnow.SearchNowActivity"
launcher:packageName="com.google.android.googlequicksearchbox" />
<favorite
launcher:className="com.google.android.apps.chrome.Main"
launcher:packageName="com.android.chrome" />
<favorite
launcher:className="com.google.android.gm.ConversationListActivityGmail"
launcher:packageName="com.google.android.gm" />
<favorite
launcher:className="com.google.android.maps.MapsActivity"
launcher:packageName="com.google.android.apps.maps" />
<favorite
launcher:className="com.google.android.youtube.app.honeycomb.Shell$HomeActivity"
launcher:packageName="com.google.android.youtube" />
<favorite
launcher:className="com.google.android.apps.docs.app.NewMainProxyActivity"
launcher:packageName="com.google.android.apps.docs" />
<favorite
launcher:className="com.android.music.activitymanagement.TopLevelActivity"
launcher:packageName="com.google.android.music" />
<favorite
launcher:className="com.google.android.youtube.videos.EntryPoint"
launcher:packageName="com.google.android.videos" />
<favorite
launcher:className="com.google.android.talk.SigningInActivity"
launcher:packageName="com.google.android.talk" />
<favorite
launcher:className="com.google.android.apps.photos.home.HomeActivity"
launcher:packageName="com.google.android.apps.photos" />
-->
</folder>
</favorites>

View file

@ -0,0 +1,15 @@
/dev/block/by-name/boot /boot emmc defaults defaults
/dev/block/by-name/recovery /recovery emmc defaults defaults
/dev/block/by-name/misc /misc emmc defaults defaults
/dev/block/by-name/system /system ext4 ro,noatime wait
/dev/block/by-name/vendor /vendor ext4 ro,noatime wait
/dev/block/by-name/cache /cache ext4 nosuid,nodev,noatime,barrier=1,data=ordered wait,formattable
/dev/block/by-name/UDISK /data f2fs noatime,nosuid,nodev,discard wait
/dev/block/mmcblk1p1 /sdcard auto defaults defaults
/dev/block/mmcblk1 /sdcard auto defaults defaults
/dev/block/mmcblk0p1 /sdcard auto defaults defaults
/dev/block/mmcblk0 /sdcard auto defaults defaults
/dev/block/sda1 /sdcard auto defaults defaults
/dev/block/sda /sdcard auto defaults defaults
/dev/block/sdb1 /sdcard auto defaults defaults
/dev/block/sdb /sdcard auto defaults defaults

View file

@ -0,0 +1,181 @@
$(call inherit-product, device/softwinner/tulip-common/tulip_64_bit.mk)
$(call inherit-product, device/softwinner/tulip-m64-hdmi/configs/go/go_base.mk)
$(call inherit-product, device/softwinner/tulip-common/tulip-common.mk)
$(call inherit-product-if-exists, device/softwinner/tulip-m64-hdmi/modules/modules.mk)
$(call inherit-product, device/softwinner/tulip-m64-hdmi/hal.mk)
$(call inherit-product, device/softwinner/common/pad.mk)
$(call inherit-product, build/target/product/go_defaults.mk)
DEVICE_PACKAGE_OVERLAYS := device/softwinner/tulip-m64-hdmi/overlay \
$(DEVICE_PACKAGE_OVERLAYS)
# Strip the local variable table and the local variable type table to reduce
# the size of the system image. This has no bearing on stack traces, but will
# leave less information available via JDWP.
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true
# Do not generate libartd.
PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false
# Reduces GC frequency of foreground apps by 50%
PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.foreground-heap-growth-multiplier=2.0
PRODUCT_DEX_PREOPT_PROFILE_DIR := device/softwinner/tulip-m64-hdmi/configs/profiles
# secure config
BOARD_HAS_SECURE_OS := false
# drm config
BOARD_WIDEVINE_OEMCRYPTO_LEVEL := 3
# dm-verity relative
$(call inherit-product, build/target/product/verity.mk)
# PRODUCT_SUPPORTS_BOOT_SIGNER must be false,otherwise error will be find when boota check boot partition
PRODUCT_SUPPORTS_BOOT_SIGNER := false
#PRODUCT_SUPPORTS_VERITY_FEC := false
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/by-name/system
PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/by-name/vendor
PRODUCT_PACKAGES += Launcher3Go
# Sound Recorder
PRODUCT_PACKAGES += SoundRecorder
#PRODUCT_NOT_USES_VENDORIMAGE := true
ifneq ($(PRODUCT_NOT_USES_VENDORIMAGE), true)
# vndk
PRODUCT_PACKAGES += tulip-m64-hdmi-vndk
endif
############################### 3G Dongle Support ###############################
# Radio Packages and Configuration Flie
$(call inherit-product, vendor/aw/public/prebuild/lib/librild/radio_common.mk)
##################### Realtek WiFi & Bluetooth Config start #####################
# WiFi Property for Realtek modules
PRODUCT_PROPERTY_OVERRIDES += \
wifi.interface=wlan0 \
wifi.direct.interface=p2p0
# Bluetooth Property for Realtek module
PRODUCT_PROPERTY_OVERRIDES += \
persist.bluetooth.btsnoopenable=false \
persist.bluetooth.btsnooppath=/data/misc/bluedroid/btsnoop_hci.cfa \
persist.bluetooth.btsnoopsize=0xffff \
persist.bluetooth.rtkcoex=true \
bluetooth.enable_timeout_ms=11000
###################### Realtek WiFi & Bluetooth Config end ######################
# Disable the task snapshots feature
PRODUCT_PROPERTY_OVERRIDES += \
persist.enable_task_snapshots = false
PRODUCT_COPY_FILES += \
device/softwinner/tulip-m64-hdmi/kernel:kernel \
device/softwinner/tulip-m64-hdmi/fstab.sun50iw1p1:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.sun50iw1p1 \
device/softwinner/tulip-m64-hdmi/init.device.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.device.rc \
device/softwinner/tulip-m64-hdmi/init.recovery.sun50iw1p1.rc:root/init.recovery.sun50iw1p1.rc \
device/softwinner/tulip-m64-hdmi/modules/modules/ft5x16_ts.ko:recovery/root/ft5x16_ts.ko \
PRODUCT_COPY_FILES += \
device/softwinner/common/config/tablet_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/tablet_core_hardware.xml \
frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.xml
PRODUCT_COPY_FILES += \
device/softwinner/tulip-m64-hdmi/configs/camera.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/camera.cfg \
device/softwinner/tulip-m64-hdmi/configs/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
device/softwinner/tulip-m64-hdmi/configs/tp.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/ft5x_ts.idc \
device/softwinner/tulip-m64-hdmi/configs/axp803-powerkey.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/axp803-powerkey.kl \
device/softwinner/tulip-m64-hdmi/configs/sunxi-ir.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/sunxi-ir.kl \
device/softwinner/tulip-m64-hdmi/configs/gsensor.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/gsensor.cfg \
device/softwinner/common/config/awbms_config:$(TARGET_COPY_OUT_VENDOR)/etc/awbms_config \
# bootanimation
PRODUCT_COPY_FILES += \
device/softwinner/tulip-m64-hdmi/media/bootanimation.zip:system/media/bootanimation.zip
# audio
PRODUCT_COPY_FILES += \
device/softwinner/tulip-m64-hdmi/configs/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml
PRODUCT_PROPERTY_OVERRIDES += \
ro.radio.noril=true
PRODUCT_PROPERTY_OVERRIDES += \
ro.frp.pst=/dev/block/by-name/frp
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.usb.config=mtp \
ro.adb.secure=1 \
PRODUCT_PROPERTY_OVERRIDES += \
ro.product.first_api_level=27
PRODUCT_PROPERTY_OVERRIDES += \
ro.sf.lcd_density=217
# 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
PRODUCT_PROPERTY_OVERRIDES += \
dalvik.vm.dex2oat-flags=--no-watch-dog \
dalvik.vm.jit.codecachesize=0
PRODUCT_PROPERTY_OVERRIDES += \
pm.dexopt.boot=verify-at-runtime \
dalvik.vm.heapstartsize=8m \
dalvik.vm.heaptargetutilization=0.75 \
dalvik.vm.heapminfree=512k \
dalvik.vm.heapmaxfree=8m
PRODUCT_PROPERTY_OVERRIDES += \
ro.lmk.downgrade_pressure=95
# Reduces GC frequency of foreground apps by 50% (not recommanded for 512M devices)
PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.foreground-heap-growth-multiplier=2.0
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.timezone=Asia/Shanghai \
persist.sys.country=US \
persist.sys.language=en
# stoarge
PRODUCT_PROPERTY_OVERRIDES += \
persist.fw.force_adoptable=true
# for ota
PRODUCT_PROPERTY_OVERRIDES += \
ro.build.version.ota=8.0.1 \
ro.sys.ota.license=2c04a55870c751f74412cff2e58f2f1e1adf202d6ea88436e1de783d7f37e741c4d953e21a03a073
PRODUCT_CHARACTERISTICS := tablet
PRODUCT_AAPT_CONFIG := tvdpi xlarge hdpi xhdpi large
PRODUCT_AAPT_PREF_CONFIG := tvdpi
$(call inherit-product-if-exists, vendor/google/products/gms_go-mandatory.mk)
PRODUCT_BRAND := Allwinner
PRODUCT_NAME := tulip_m64_hdmi
PRODUCT_DEVICE := tulip-m64-hdmi
# PRODUCT_BOARD must equals the board name in kernel
PRODUCT_BOARD := m64_hdmi
PRODUCT_MODEL := BPI M64
PRODUCT_MANUFACTURER := Sinovoip
# sensor XML
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml
$(call inherit-product, vendor/aw/public/tool.mk)

View file

@ -0,0 +1,25 @@
#
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This file is executed by build/envsetup.sh, and can use anything
# defined in envsetup.sh.
#
# In particular, you can add lunch options with the add_lunch_combo
# function: add_lunch_combo generic-eng
add_lunch_combo tulip_m64_hdmi-eng
add_lunch_combo tulip_m64_hdmi-user
add_lunch_combo tulip_m64_hdmi-userdebug

View file

@ -0,0 +1,128 @@
ifneq ($(filter tulip-m64-hdmi,$(TARGET_DEVICE)),)
VNDK_SP_LIBRARIES := \
android.hardware.graphics.allocator@2.0 \
android.hardware.graphics.common@1.0 \
android.hardware.graphics.mapper@2.0 \
libbacktrace \
libbase \
libc++ \
libcutils \
libhardware \
libhidlbase \
libhidltransport \
libhwbinder \
libion \
liblzma \
libunwind \
libutils
VNDK_SP_EXT_LIBRARIES := \
EXTRA_VENDOR_LIBRARIES := \
android.hardware.radio.deprecated@1.0 \
android.hardware.radio@1.0 \
android.hardware.radio@1.1 \
android.hardware.wifi.supplicant@1.0 \
android.hardware.wifi@1.0 \
android.hardware.wifi@1.1 \
libSmileEyeBlink \
libapperceivepeople \
libaudioroute \
libcap \
libfacedetection \
libhdr \
libkeymaster_portable \
libkeymaster_staging \
libproc \
libprotobuf-cpp-full \
libsoftkeymasterdevice \
libtinyalsa \
libcdc_base \
libawavs \
libawh264 \
libawh265 \
libawh265soft \
libawmjpeg \
libawmjpegplus \
libawmpeg2 \
libawmpeg4base \
libawmpeg4dx \
libawmpeg4h263 \
libawmpeg4normal \
libawmpeg4vp6 \
libawvp6soft \
libawvp8 \
libawvp9soft \
libawvp9Hw \
libawwmv12soft \
libawwmv3 \
libMemAdapter \
libvdecoder \
libvideoengine \
libVE \
libvencoder \
# If a product include IllegalLib.mk, that product is not well implemented.
# We should remove all dependencies listed in that file, and eliminate it.
#-------------------------------------------------------------------------------
# VNDK Modules
#-------------------------------------------------------------------------------
LOCAL_PATH := $(call my-dir)
define define-vndk-lib
include $$(CLEAR_VARS)
LOCAL_MODULE := $1.$2
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PREBUILT_MODULE_FILE := $$(TARGET_OUT_INTERMEDIATE_LIBRARIES)/$1.so
LOCAL_STRIP_MODULE := false
LOCAL_MULTILIB := first
LOCAL_MODULE_TAGS := optional
LOCAL_INSTALLED_MODULE_STEM := $1.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_RELATIVE_PATH := $3
LOCAL_VENDOR_MODULE := $4
include $$(BUILD_PREBUILT)
ifneq ($$(TARGET_2ND_ARCH),)
ifneq ($$(TARGET_TRANSLATE_2ND_ARCH),true)
include $$(CLEAR_VARS)
LOCAL_MODULE := $1.$2
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PREBUILT_MODULE_FILE := $$($$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/$1.so
LOCAL_STRIP_MODULE := false
LOCAL_MULTILIB := 32
LOCAL_MODULE_TAGS := optional
LOCAL_INSTALLED_MODULE_STEM := $1.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_RELATIVE_PATH := $3
LOCAL_VENDOR_MODULE := $4
include $$(BUILD_PREBUILT)
endif # TARGET_TRANSLATE_2ND_ARCH is not true
endif # TARGET_2ND_ARCH is not empty
endef
$(foreach lib,$(VNDK_SP_LIBRARIES),\
$(eval $(call define-vndk-lib,$(lib),vndk-sp-gen,vndk-sp,)))
$(foreach lib,$(VNDK_SP_EXT_LIBRARIES),\
$(eval $(call define-vndk-lib,$(lib),vndk-sp-ext-gen,vndk-sp,true)))
$(foreach lib,$(EXTRA_VENDOR_LIBRARIES),\
$(eval $(call define-vndk-lib,$(lib),vndk-ext-gen,,true)))
#-------------------------------------------------------------------------------
# Phony Package
#-------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := tulip-m64-hdmi-vndk
LOCAL_MODULE_TAGS := optional
LOCAL_REQUIRED_MODULES := \
$(addsuffix .vndk-sp-gen,$(VNDK_SP_LIBRARIES)) \
$(addsuffix .vndk-sp-ext-gen,$(VNDK_SP_EXT_LIBRARIES)) \
$(addsuffix .vndk-ext-gen,$(EXTRA_VENDOR_LIBRARIES))
include $(BUILD_PHONY_PACKAGE)
endif # ifneq ($(filter tulip-m64-hdmi,$(TARGET_DEVICE)),)