i.MX8 Car support building flow

来自个人维基
跳转至: 导航搜索

Target:i.MX8 mek_8q

Smatrt phone flow: mek_8q.mk
Car: mek_car.mk

device/fsl/imx8q/mek_8q_car.mk

PRODUCT_IMX_CAR := true
PRODUCT_IMX_CAR_M4_BUILD := true
PRODUCT_IMX_CAR_M4 ?= true
include $(IMX_DEVICE_PATH)/mek_8q_car.mk

device/fsl/imx8q/mek_8q.mk
(a) only in Car
(b) only in no Car
(c) use M4 in Car
(d) no M4 in Car

-inckude device/fsl/common/imx_path/ImxPathConfig.mk
+include device/fsl/imx8q/ProductConfigCommon.mk
PRODUCT_COPY_FILES += 
   <device related config and binary to board>
   audio_policy_configuration_car.xml

   $(IMX_DEVICE_PATH)/init.freescale.emmc.rc -> init.freescale.emmc.default.rc 
   $(IMX_DEVICE_PATH)/init.freescale.emmc.rc->root/init.recovery.freescale.emmc.default.rc      
   $(IMX_DEVICE_PATH)/init.freescale.sd.rc->init.freescale.sd.default.rc 
   $(IMX_DEVICE_PATH)/init.freescale.sd.rc:root/init.recovery.freescale.sd.default.rc \
   (a) $(IMX_DEVICE_PATH)/init_car.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.freescale.rc \
   (b) $(IMX_DEVICE_PATH)/init.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.freescale.rc \

   (a)$(IMX_DEVICE_PATH)/fstab.freescale.car->fstab.freescale \
   (b)$(IMX_DEVICE_PATH)/fstab.freescale->fstab.freescale 
   (b)frameworks/native/data/etc/android.hardware.ethernet.xml -> android.hardware.ethernet.xml 

   (a)$(IMX_DEVICE_PATH)/early.init_car.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/early.init.cfg \
   (b)$(IMX_DEVICE_PATH)/early.init.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/early.init.cfg   

   (a) $(IMX_DEVICE_PATH)/required_hardware_auto.xml->required_hardware.xml 
   (b)$(IMX_DEVICE_PATH)/required_hardware.xml->required_hardware.xml \

   (a)device/fsl/imx8q/init.recovery.freescale.car.rc:root/init.recovery.freescale.rc
   (b)device/fsl/imx8q/init.recovery.freescale.rc:root/init.recovery.freescale.rc \

   (c)$(IMX_DEVICE_PATH)/setup.main.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/setup.main.cfg \
   (c)$(IMX_DEVICE_PATH)/setup.core.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/setup.core.cfg \
   (c)$(IMX_DEVICE_PATH)/init_car_m4.rc->hw/init.car_additional.rc
   (d)$(IMX_DEVICE_PATH)/setup.main.car2.cfg->setup.main.cfg \
   (d)$(IMX_DEVICE_PATH)/setup.core.car2.cfg->setup.core.cfg \
   (d)$(IMX_DEVICE_PATH)/init_car_no_m4.rc->init.car_additional.rc

   (a) frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml
   (a) frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml
   (a) frameworks/native/data/etc/android.hardware.sensor.barometer.xml
   (a) frameworks/native/data/etc/android.hardware.sensor.compass.xml
   (a)frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml
   (a)frameworks/native/data/etc/android.hardware.sensor.light.xml
   (a)frameworks/native/data/etc/android.hardware.camera.front.xml
   (a)frameworks/native/data/etc/android.hardware.camera.xml
   <Vendor seccomp policy files for media components>
   $(LINUX_FIRMWARE_IMX_PATH)/linux-firmware-imx/firmware/vpu/vpu_fw_imx8_dec.bin
   $(LINUX_FIRMWARE_IMX_PATH)/linux-firmware-imx/firmware/vpu/vpu_fw_imx8_enc.bin
   <fastboot_imx_flashall scripts>
   (a)frameworks/native/data/etc/android.hardware.screen.portrait.xml
   (a)device/fsl/common/tools/fsl-sdcard-partition.sh
   $(IMX_PATH)/imx/opencl-2d/cl_g2d.cl
   <QCOM WiFi, BT, firmware>

(a)PRODUCT_CUSTOM_RECOVERY_DENSITY := ldpi

PRODUCT_PACKAGES+= 
    <HWC2 HAL>
    <Gralloc HAL>
    <RenderScript HAL>
    <libEGL_VIVANTE, libGLES... audio, sensors, power, light>
    <NN HAL>
    sensors.imx8
    <USB, BT, WiFi HAL>
    (a) android.hardware.automotive.audiocontrol@1.0-service
    (a)android.hardware.keymaster@3.0-service.trusty     
    android.hardware.keymaster@3.0-impl \
    android.hardware.keymaster@3.0-service
    <DRM HAL>
    <New gatekeeper HAL.>
    <libvpu-malone>
    <lib_omx_v4l2_>


device/fsl/imx8q/mek_8q_car.mk

PRODUCT_PACKAGE_OVERLAYS := device/fsl/imx8q/mek_8q/overlay_car packages/services/Car/car_product/overlay
PRODUCT_COPY_FILES += xen.rc, init.car.rc
PRODUCT_PACKAGES += <Google prebuilt services>
                    <Car related HAL>
                    <Trusty OS backed gatekeeper and secure storage proxy>
PRODUCT_PROPERTY_OVERRIDES += \
   vendor.vehicle.register=1 \
   vendor.evs.video.ready=1
PRODUCT_PROPERTY_OVERRIDES =
   if($(PRODUCT_IMX_CAR_M4)== true)
     vendor.vehicle.register=1 \
     vendor.evs.video.ready=1
   else
     debug.sf.nobootanimation=1