diff options
Diffstat (limited to 'bsp/meta-renesas/meta-rcar-gen3/include')
12 files changed, 301 insertions, 0 deletions
diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/adsp-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/adsp-control.inc new file mode 100644 index 00000000..44a8d146 --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/adsp-control.inc @@ -0,0 +1,2 @@ +# USE_ADSP for Audio DSP +USE_ADSP = "${@bb.utils.contains('DISTRO_FEATURES', 'adsp', '1', '0', d)}" diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/arm-trusted-firmware-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/arm-trusted-firmware-control.inc new file mode 100644 index 00000000..013598df --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/arm-trusted-firmware-control.inc @@ -0,0 +1,58 @@ +# This function is to generate IPL binaries for H3/H3ULCB (SoC: r8a7795), E3 (SoC: r8a7790) + +# IPL build options for H3/E3/H3ULCB +EXTRA_ATFW_OPT ?= "" +EXTRA_ATFW_CONF ?= "" + +do_ipl_opt_compile () { + oe_runmake distclean + oe_runmake bl2 bl31 dummytool PLAT=${PLATFORM} ${EXTRA_ATFW_OPT} ${ATFW_OPT_LOSSY} +} + +do_ipl_opt_deploy () { + install -d ${DEPLOYDIR} + + # Copy IPL to deploy folder + install -m 0644 ${S}/build/${PLATFORM}/release/bl2/bl2.elf ${DEPLOYDIR}/bl2-${MACHINE}-${EXTRA_ATFW_CONF}.elf + install -m 0644 ${S}/build/${PLATFORM}/release/bl2.bin ${DEPLOYDIR}/bl2-${MACHINE}-${EXTRA_ATFW_CONF}.bin + install -m 0644 ${S}/build/${PLATFORM}/release/bl2.srec ${DEPLOYDIR}/bl2-${MACHINE}-${EXTRA_ATFW_CONF}.srec + install -m 0644 ${S}/build/${PLATFORM}/release/bl31/bl31.elf ${DEPLOYDIR}/bl31-${MACHINE}-${EXTRA_ATFW_CONF}.elf + install -m 0644 ${S}/build/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${MACHINE}-${EXTRA_ATFW_CONF}.bin + install -m 0644 ${S}/build/${PLATFORM}/release/bl31.srec ${DEPLOYDIR}/bl31-${MACHINE}-${EXTRA_ATFW_CONF}.srec + install -m 0644 ${S}/tools/dummy_create/bootparam_sa0.srec ${DEPLOYDIR}/bootparam_sa0-${EXTRA_ATFW_CONF}.srec + install -m 0644 ${S}/tools/dummy_create/cert_header_sa6.srec ${DEPLOYDIR}/cert_header_sa6-${EXTRA_ATFW_CONF}.srec +} + +# For IPL compile options for H3/H3ULCB (SoC: r8a7795), E3 (SoC: r8a7790) +python do_extra_ipl_opt() { + soc = d.getVar('SOC_FAMILY') + soc = soc.split(':')[1] + machine = d.getVar('MACHINE_ARCH') + + if soc == "r8a7795": + # For H3 SiP DDR 4GiB (2GiB x 2ch) + if machine != "h3ulcb": + d.setVar('EXTRA_ATFW_CONF', '2x2g') + d.setVar('EXTRA_ATFW_OPT', ' LSI=H3 RCAR_DRAM_SPLIT=2 RCAR_DRAM_CHANNEL=5 ') + bb.build.exec_func('do_ipl_opt_compile', d) + bb.build.exec_func('do_ipl_opt_deploy', d) + + # For H3/H3ULCB SiP DDR 8GiB (2GiB x 4ch) + d.setVar('EXTRA_ATFW_CONF', '4x2g') + d.setVar('EXTRA_ATFW_OPT', ' LSI=H3 RCAR_DRAM_SPLIT=1 ') + d.setVar('EXTRA_ATFW_OPT_append_ulcb', ' RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0 ') + bb.build.exec_func('do_ipl_opt_compile', d) + bb.build.exec_func('do_ipl_opt_deploy', d) + + # For E3 SiP DDR 2GiB + if soc == "r8a77990": + d.setVar('EXTRA_ATFW_CONF', '4d') + d.setVar('EXTRA_ATFW_OPT', ' LSI=E3 RCAR_SA0_SIZE=0 RCAR_AVS_SETTING_ENABLE=0 RCAR_DRAM_DDR3L_MEMCONF=1 RCAR_DRAM_DDR3L_MEMDUAL=1 ') + bb.build.exec_func('do_ipl_opt_compile', d) + bb.build.exec_func('do_ipl_opt_deploy', d) +} + +do_ipl_opt_compile[dirs] = "${B}" +do_ipl_opt_deploy[dirs] = "${B}" + +addtask extra_ipl_opt after do_configure before do_compile diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/avb-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/avb-control.inc new file mode 100644 index 00000000..6ed7f536 --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/avb-control.inc @@ -0,0 +1,2 @@ +# USE_AVB for AVB Software Package for Linux +USE_AVB = "${@'1' if 'avb' in '${DISTRO_FEATURES}' else '0'}" diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/cas-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/cas-control.inc new file mode 100644 index 00000000..18ccc74d --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/cas-control.inc @@ -0,0 +1,17 @@ +SOC="${@d.getVar('SOC_FAMILY').split(':')[1]}" +CAS="${@'1' if 'cas' in '${MACHINE_FEATURES}' else '0'}" + +# USE_CAS for H3 (SoC: r8a7795) or M3 (SoC: r8a7796) +USE_CAS="${@'1' if '${CAS}' == '1' and ('${SOC}' == 'r8a7795' or '${SOC}' == 'r8a7796') else '0'}" + +# Trap incorrect CAS setting for M3N/E3 +WARN="${@'1' if '${CAS}' == '1' and '${USE_CAS}' == '0' else '0'}" + +# This function is to show a warning message when enabling CAS feature on M3N/E3 +python do_cas_checking() { + warn=d.getVar('WARN') + if warn == "1" : + bb.warn("CAS only supports H3 (SoC: r8a7795), M3 (SoC: r8a7796), this feature will be disabled automatically") +} + +addtask cas_checking before do_configure after do_patch diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/cms-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/cms-control.inc new file mode 100644 index 00000000..2ebfa517 --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/cms-control.inc @@ -0,0 +1,18 @@ +# USE_CMSBCM for Basic Color Management Middleware for Linux +USE_CMSBCM = "${@bb.utils.contains('DISTRO_FEATURES', 'cmsbcm', '1', '0', d)}" + +# USE_CMSBLC for Backlight Control Middleware for Linux +USE_CMSBLC = "${@bb.utils.contains('DISTRO_FEATURES', 'cmsblc', '1', '0', d)}" + +# USE_CMSDGC for Dynamic Gamma Correction Middleware for Linux +USE_CMSDGC = "${@bb.utils.contains('DISTRO_FEATURES', 'cmsdgc', '1', '0', d)}" + +# CMS Flag list +LIST_CMS_FLAG = " \ + ${USE_CMSBCM} \ + ${USE_CMSBLC} \ + ${USE_CMSDGC} \ +" + +# USE_CMS for Color Management Middleware +USE_CMS = "${@'1' if '1' in '${LIST_CMS_FLAG}' else '0'}" diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/dtv-dvd-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/dtv-dvd-control.inc new file mode 100644 index 00000000..07c4d5f0 --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/dtv-dvd-control.inc @@ -0,0 +1,19 @@ +# USE_DTV for ISDB-T DTV Software Package +USE_DTV = "${@'1' if 'dtv' in '${DISTRO_FEATURES}' else '0'}" + +# USE_DVD for DVD Core-Middleware for Linux +USE_DVD = "${@'1' if 'dvd' in '${DISTRO_FEATURES}' else '0'}" + +# USE_DVD_ENCRYPTION_LIB for DVD Encryption Library for Linux +USE_DVD_ENCRYPTION_LIB = "${@'1' if 'dvd_encryption_library' in '${DISTRO_FEATURES}' else '0'}" + +# This function to prevent build DTV feature with E3 +python do_dtv_checking () { + soc = d.getVar('SOC_FAMILY') + soc = soc.split(':')[1] + use_dtv = d.getVar('USE_DTV') + if use_dtv == "1" and soc == "r8a77990": + bb.fatal("E3 (SoC: r8a77990) does not support SSP, please disable DTV feature in your local configuration") +} + +addtask dtv_checking before do_configure after do_patch diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/gles-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/gles-control.inc new file mode 100644 index 00000000..045caa32 --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/gles-control.inc @@ -0,0 +1,6 @@ +USE_GLES = "${@'1' if 'gsx' in '${MACHINE_FEATURES}' else '0'}" +USE_GLES_WAYLAND = \ + "${@'1' if '${USE_GLES}' == '1' and 'wayland' in '${DISTRO_FEATURES}' else '0'}" +USE_WAYLAND_IVI_SHELL = \ + "${@'1' if 'ivi-shell' in '${DISTRO_FEATURES}' and \ + 'wayland' in '${DISTRO_FEATURES}' else '0'}" diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/iccom-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/iccom-control.inc new file mode 100644 index 00000000..bb8bd2cc --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/iccom-control.inc @@ -0,0 +1,2 @@ +# USE_ICCOM for Linux ICCOM driver, Linux ICCOM library +USE_ICCOM = "${@'1' if 'iccom' in '${DISTRO_FEATURES}' else '0'}" diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/multimedia-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/multimedia-control.inc new file mode 100644 index 00000000..beeabc15 --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/multimedia-control.inc @@ -0,0 +1,9 @@ +# USE_MULTIMEDIA for Renesas Multimedia package +USE_MULTIMEDIA = "${@'1' if 'multimedia' in '${MACHINE_FEATURES}' else '0'}" +USE_MULTIMEDIA_TP = "${@'1' if 'mm-test' in '${DISTRO_FEATURES}' else '0'}" + +# For wayland +USE_WAYLAND = "${@'1' if 'wayland' in '${DISTRO_FEATURES}' else '0'}" + +# USE_V4L2_RENDERER for weston v4l2-renderer +USE_V4L2_RENDERER = "${@'1' if 'v4l2-renderer' in '${DISTRO_FEATURES}' else '0'}" diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/omx-control.inc b/bsp/meta-renesas/meta-rcar-gen3/include/omx-control.inc new file mode 100644 index 00000000..69093e8f --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/omx-control.inc @@ -0,0 +1,156 @@ +## Additional configuration in OMX module, include +# USE_H263D_OMX for OMX Media Component H263 OMX Library +USE_H263D_OMX = "${@'1' if 'h263dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_H264D_OMX for OMX Media Component H264 OMX Library +USE_H264D_OMX = "${@'1' if 'h264dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_H264E_OMX for OMX Media Component H264 Encoder Library +USE_H264E_OMX = "${@'1' if 'h264enc_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_H265D_OMX for OMX Media Component H265 OMX Library +USE_H265D_OMX = "${@'1' if 'h265dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_MPEG2_OMX for OMX Media Component MPEG2 OMX Library +USE_MPEG2D_OMX = "${@'1' if 'mpeg2dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_MPEG4D_OMX for OMX Media Component MPEG4 Decoder Library +USE_MPEG4D_OMX = "${@'1' if 'mpeg4dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_VC1D_OMX for OMX Media Component VC-1 Decoder Library +USE_VC1D_OMX = "${@'1' if 'vc1dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_DIVXD_OMX for OMX Media Component DivX Decoder Library +USE_DIVXD_OMX = "${@'1' if 'divxdec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_RVD_OMX for OMX Media Component RealVideo Decoder Library +USE_RVD_OMX = "${@'1' if 'rvdec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_AACLCD_OMX for OMX Media Component AACLC OMX Library +USE_AACLCD_OMX = "${@'1' if 'aaclcdec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_AACPV2D_OMX for OMX Media Component aacPlus V2 OMX Library +USE_AACPV2D_OMX = "${@'1' if 'aacpv2dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_MP3D_OMX for OMX Media Component MP3 OMX Library +USE_MP3D_OMX = "${@'1' if 'mp3dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_WMAD_OMX for OMX Media Component WMA OMX Library +USE_WMAD_OMX = "${@'1' if 'wmadec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_ALACD_OMX for OMX Media Component ALAC decoder Library +USE_ALACD_OMX = "${@'1' if 'alacdec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_FLACD_OMX for OMX Media Component FLAC decoder Library +USE_FLACD_OMX = "${@'1' if 'flacdec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_DDD_OMX for OMX Media Component Dolby(R) Digital decoder Library +USE_DDD_OMX = "${@'1' if 'dddec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_AACLCE_OMX for OMX Media Component AAC-LC encoder Library +USE_AACLCE_OMX = "${@'1' if 'aaclcenc_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_AACLC_MDW for AACLC MDW Library +USE_AACLC_MDW = "${@'1' if 'aaclcdec_mdw' in '${DISTRO_FEATURES}' else '0'}" + +# USE_AACPV2_MDW for aacPlus V2 MDW Library +USE_AACPV2_MDW = "${@'1' if 'aacpv2dec_mdw' in '${DISTRO_FEATURES}' else '0'}" + +# USE_MP3_MDW for MP3 MDW Library +USE_MP3_MDW = "${@'1' if 'mp3dec_mdw' in '${DISTRO_FEATURES}' else '0'}" + +# USE_WMA_MDW for WMA MDW Library +USE_WMA_MDW = "${@'1' if 'wmadec_mdw' in '${DISTRO_FEATURES}' else '0'}" + +# USE_DD_MDW for Dolby(R) Digital MDW Library +USE_DD_MDW = "${@'1' if 'dddec_mdw' in '${DISTRO_FEATURES}' else '0'}" + +# USE_AACLCE_OMX for AAC-LC encoder middleware Library +USE_AACLCE_MDW = "${@'1' if 'aaclcenc_mdw' in '${DISTRO_FEATURES}' else '0'}" + +# USE_VP8D_OMX for OMX Media Component VP8 Decoder Library +USE_VP8D_OMX = "${@'1' if 'vp8dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_VP8E_OMX for OMX Media Component VP8 Encoder Library +USE_VP8E_OMX = "${@'1' if 'vp8enc_lib' in '${DISTRO_FEATURES}' else '0'}" + +# USE_VP9D_OMX for OMX Media Component VP9 Decoder Library +USE_VP9D_OMX = "${@'1' if 'vp9dec_lib' in '${DISTRO_FEATURES}' else '0'}" + +# This function is to make sure vp9dec_lib only build with M3N or E3 +# and warns user to build vp9dec_lib for M3 v3.0 only +python () { + soc = d.getVar('SOC_FAMILY') + soc = soc.split(':')[1] + use_vp9d = d.getVar('USE_VP9D_OMX') + if use_vp9d == "1": + if soc != 'r8a77965' and soc != 'r8a77990': + if soc == 'r8a7796': + bb.warn("vp9dec_lib supports M3 v3.0 only, it does not work on other M3 versions.") + else: + bb.warn("vp9dec_lib only supports M3N (SoC: r8a77965), E3 (SoC: r8a77990), M3 v3.0 (SoC: r8a7796). Disabling.") + d.setVar('USE_VP9D_OMX', '0') +} + +# OMX Video Decoder Flag list +LIST_OMX_VIDEO_DEC_FLAG = " \ + ${USE_H263D_OMX} \ + ${USE_H264D_OMX} \ + ${USE_H265D_OMX} \ + ${USE_MPEG2D_OMX} \ + ${USE_MPEG4D_OMX} \ + ${USE_VC1D_OMX} \ + ${USE_DIVXD_OMX} \ + ${USE_RVD_OMX} \ + ${USE_VP8D_OMX} \ + ${USE_VP9D_OMX} \ +" + +# OMX Video Encoder Flag list +LIST_OMX_VIDEO_ENC_FLAG = " \ + ${USE_H264E_OMX} \ + ${USE_VP8E_OMX} \ +" + +# OMX Audio Flag list (except MDW) +LIST_OMX_AUDIO_FLAG = " \ + ${USE_AACLCD_OMX} \ + ${USE_AACPV2D_OMX} \ + ${USE_MP3D_OMX} \ + ${USE_WMAD_OMX} \ + ${USE_AACLCE_OMX} \ + ${USE_ALACD_OMX} \ + ${USE_FLACD_OMX} \ + ${USE_DDD_OMX} \ +" + +# Audio M/W Flag list +LIST_AUDIO_MDW_FLAG = " \ + ${USE_AACLC_MDW} \ + ${USE_AACPV2_MDW} \ + ${USE_MP3_MDW} \ + ${USE_WMA_MDW} \ + ${USE_DD_MDW} \ + ${USE_AACLCE_MDW} \ +" + +# USE_OMX_VIDEO_DEC for Video Decoder Common Libs +USE_VIDEO_DEC = "${@'1' if '1' in '${LIST_OMX_VIDEO_DEC_FLAG}' else '0'}" + +# USE_OMX_VIDEO_DEC for Video Encoder Common Libs +USE_VIDEO_ENC = "${@'1' if '1' in '${LIST_OMX_VIDEO_ENC_FLAG}' else '0'}" + +# USE_VIDEO_OMX for Enable/Disable OMX Video +USE_VIDEO_OMX = "${@'1' if '1' in '${USE_VIDEO_DEC} ${USE_VIDEO_ENC}' else '0'}" + +# USE_AUDIO_OMX for Audio Common Libs +USE_AUDIO_OMX = "${@'1' if '1' in '${LIST_OMX_AUDIO_FLAG}' else '0'}" + +# USE_OMX_COMMON for OMX Common Libs +USE_OMX_COMMON = "${@'1' if '1' in '${USE_VIDEO_OMX} ${USE_AUDIO_OMX}' else '0'}" + +# USE_OMX_USER_MODULE for OMX User Module +# Note) List of USE_OMX_COMMON = {USE_VIDEO_OMX} + {USE_AUDIO_OMX} +USE_OMX_USER_MODULE = "${@'1' if '1' in '${USE_OMX_COMMON} ${LIST_AUDIO_MDW_FLAG}' else '0'}" + +USE_OMX_EVA_PKG = "${@'1' if 'use_eva_pkg' in '${DISTRO_FEATURES}' else '0'}" diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/rcar-gen3-modules-common.inc b/bsp/meta-renesas/meta-rcar-gen3/include/rcar-gen3-modules-common.inc new file mode 100644 index 00000000..9805862a --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/rcar-gen3-modules-common.inc @@ -0,0 +1,11 @@ +export BUILDDIR = "${STAGING_INCDIR}/.." +export INCSHARED = "${STAGING_INCDIR}" +export LIBSHARED = "${STAGING_LIBDIR}" +export KERNELSRC = "${STAGING_KERNEL_DIR}" +export CROSS_COMPILE = "${TARGET_PREFIX}" +export KERNELDIR = "${STAGING_KERNEL_DIR}" +export LDFLAGS = "" +export CP = "cp" +require include/rcar-gen3-path-common.inc + +COMPATIBLE_MACHINE = "(salvator-x|ulcb|ebisu)" diff --git a/bsp/meta-renesas/meta-rcar-gen3/include/rcar-gen3-path-common.inc b/bsp/meta-renesas/meta-rcar-gen3/include/rcar-gen3-path-common.inc new file mode 100644 index 00000000..d3dcfffc --- /dev/null +++ b/bsp/meta-renesas/meta-rcar-gen3/include/rcar-gen3-path-common.inc @@ -0,0 +1 @@ +RENESAS_DATADIR ?= "/usr/local" |