Initial commit
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,175 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
@@ -0,0 +1,12 @@
|
||||
Different components of meta-nuvoton are under different licenses (a mix
|
||||
of MIT and Apache-2.0). Please see:
|
||||
|
||||
COPYING.Apache-2.0
|
||||
COPYING.MIT (MIT)
|
||||
|
||||
All metadata is MIT licensed unless otherwise stated. Source code
|
||||
included in tree for individual recipes is under the LICENSE stated in
|
||||
the associated recipe (.bb file) unless otherwise stated.
|
||||
|
||||
License information for any other files is either explicitly stated
|
||||
or defaults to Apache-2.0.
|
||||
@@ -0,0 +1,5 @@
|
||||
owners:
|
||||
- benjaminfair@google.com
|
||||
|
||||
reviewers:
|
||||
- dphadke@linux.microsoft.com
|
||||
@@ -0,0 +1,8 @@
|
||||
Nuvoton NPCM7XX
|
||||
================
|
||||
|
||||
This is the Nuvoton NPCM7XX Board Support Package (BSP) layer.
|
||||
The NPCM7XX is an ARM based SoC with external DDR RAM and
|
||||
supports a large set of peripherals made by Nuvoton.
|
||||
More information about the NPCM7XX can be found
|
||||
[here](http://www.nuvoton.com/hq/products/cloud-computing/ibmc/?__locale=en).
|
||||
@@ -0,0 +1,16 @@
|
||||
# We have a conf and classes directory, add to BBPATH
|
||||
BBPATH .= ":${LAYERDIR}"
|
||||
|
||||
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
|
||||
${LAYERDIR}/recipes-*/*/*.bbappend"
|
||||
|
||||
BBFILE_COLLECTIONS += "nuvoton-layer"
|
||||
BBFILE_PATTERN_nuvoton-layer := "^${LAYERDIR}/"
|
||||
LAYERVERSION_nuvoton-layer = "1"
|
||||
LAYERSERIES_COMPAT_nuvoton-layer = "langdale mickledore"
|
||||
LAYERDEPENDS_nuvoton-layer:append:npcm8xx = " meta-arm"
|
||||
|
||||
BBFILES_DYNAMIC += " \
|
||||
meta-arm:${LAYERDIR}/dynamic-layers/arm-layer/recipes-*/*/*.bb \
|
||||
meta-arm:${LAYERDIR}/dynamic-layers/arm-layer/recipes-*/*/*.bbappend \
|
||||
"
|
||||
@@ -0,0 +1,13 @@
|
||||
KMACHINE = "nuvoton"
|
||||
KERNEL_DEVICETREE = "${KMACHINE}-npcm750-evb.dtb"
|
||||
|
||||
UBOOT_MACHINE = "PolegSVB_config"
|
||||
IGPS_MACHINE = "EB"
|
||||
|
||||
FLASH_SIZE = "32768"
|
||||
|
||||
require conf/machine/include/npcm7xx.inc
|
||||
require conf/machine/include/obmc-bsp-common.inc
|
||||
require conf/machine/include/obmc-evb-common.inc
|
||||
|
||||
IMAGE_FSTYPES = "cpio.${INITRAMFS_CTYPE}.u-boot mtd-static"
|
||||
@@ -0,0 +1,57 @@
|
||||
KMACHINE = "nuvoton"
|
||||
KERNEL_DEVICETREE = "nuvoton/${KMACHINE}-npcm845-evb.dtb"
|
||||
|
||||
UBOOT_MACHINE = "ArbelEVB_defconfig"
|
||||
UBOOT_DEVICETREE = "nuvoton-npcm845-evb"
|
||||
|
||||
IGPS_MACHINE = "EB"
|
||||
DEVICE_GEN = "A1"
|
||||
|
||||
require conf/machine/include/npcm8xx.inc
|
||||
require conf/machine/include/obmc-bsp-common.inc
|
||||
|
||||
FLASH_SIZE = "65536"
|
||||
FLASH_UBOOT_OFFSET:flash-65536 = "0"
|
||||
FLASH_UBOOT_ENV_OFFSET:flash-65536 = "3840"
|
||||
FLASH_KERNEL_OFFSET:flash-65536 = "4096"
|
||||
FLASH_ROFS_OFFSET:flash-65536 = "12288"
|
||||
FLASH_RWFS_OFFSET:flash-65536 = "61440"
|
||||
|
||||
BB_ALIGN = "524288"
|
||||
|
||||
IMAGE_FSTYPES += "cpio.${INITRAMFS_CTYPE}.u-boot"
|
||||
IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', \
|
||||
'phosphor-mmc', \
|
||||
'wic.gz mmc-ext4-tar', \
|
||||
'', d)}"
|
||||
|
||||
MACHINE_FEATURES += "\
|
||||
obmc-phosphor-fan-mgmt \
|
||||
obmc-phosphor-chassis-mgmt \
|
||||
obmc-phosphor-flash-mgmt \
|
||||
obmc-host-ipmi \
|
||||
obmc-host-state-mgmt \
|
||||
obmc-chassis-state-mgmt \
|
||||
obmc-bmc-state-mgmt \
|
||||
"
|
||||
|
||||
KCS_DEVICE = "ipmi-kcs1"
|
||||
|
||||
DISTRO_FEATURES:append = " ext2"
|
||||
MACHINE_FEATURES:append = " ext2"
|
||||
|
||||
VIRTUAL-RUNTIME_obmc-host-state-manager ?= "x86-power-control"
|
||||
VIRTUAL-RUNTIME_obmc-chassis-state-manager ?= "x86-power-control"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-evb-npcm845-apps"
|
||||
PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-evb-npcm845-apps"
|
||||
PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-evb-npcm845-apps"
|
||||
PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-evb-npcm845-apps"
|
||||
PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-kcs"
|
||||
PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "evb-npcm845-led-manager-config-native"
|
||||
|
||||
# Remove unneeded binaries from image
|
||||
IMAGE_FEATURES:remove = "obmc-fan-control"
|
||||
IMAGE_FEATURES:remove = "obmc-health-monitor"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
|
||||
@@ -0,0 +1,20 @@
|
||||
# There are two valid types: "openssl" or "HSM".
|
||||
# Currently, default support openssl only.
|
||||
SIGN_TYPE ?= "openssl"
|
||||
|
||||
KEY_BB_INDEX ?= "1"
|
||||
SKMT_BL31_KEY_INDEX ?= "1"
|
||||
SKMT_BL32_KEY_INDEX ?= "1"
|
||||
SKMT_BL33_KEY_INDEX ?= "1"
|
||||
|
||||
KEY_BB_ID ?= "11"
|
||||
KEY_BL31_ID ?= "11"
|
||||
KEY_OPTEE_ID ?= "11"
|
||||
KEY_UBOOT_ID ?= "11"
|
||||
|
||||
KEY_FOLDER ?= ""
|
||||
KEY_FOLDER_DEFAULT ?= "${DEPLOY_DIR_IMAGE}/${SIGN_TYPE}"
|
||||
KEY_BB ?= "skmt_ecc_key_1.der"
|
||||
KEY_BL31 ?= "skmt_ecc_key_1.der"
|
||||
KEY_OPTEE ?= "skmt_ecc_key_1.der"
|
||||
KEY_UBOOT ?= "skmt_ecc_key_1.der"
|
||||
@@ -0,0 +1,33 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Nuvoton NPCM7XX
|
||||
#@DESCRIPTION: Common machine configuration for Nuvoton NPCM7XX Chip
|
||||
|
||||
require conf/machine/include/nuvoton.inc
|
||||
|
||||
KERNEL_IMAGETYPE ?= "uImage"
|
||||
KERNEL_EXTRA_ARGS ?= "UIMAGE_LOADADDR=0x00008000"
|
||||
|
||||
UBOOT_MACHINE ?= "PolegSVB_config"
|
||||
UBOOT_ENTRYPOINT ?= "0x00008000"
|
||||
UBOOT_LOADADDRESS ?= "0x00008000"
|
||||
|
||||
FLASH_UBOOT_OFFSET = "0"
|
||||
FLASH_UBOOT_ENV_OFFSET = "1024"
|
||||
FLASH_KERNEL_OFFSET = "2048"
|
||||
FLASH_UBI_OFFSET = "${FLASH_KERNEL_OFFSET}"
|
||||
FLASH_ROFS_OFFSET = "7680"
|
||||
FLASH_RWFS_OFFSET = "30720"
|
||||
|
||||
# UBI volume sizes in KB unless otherwise noted.
|
||||
FLASH_UBI_RWFS_SIZE = "6144"
|
||||
FLASH_UBI_RWFS_TXT_SIZE = "6MiB"
|
||||
|
||||
DEFAULTTUNE ?= "arm7a-novfp"
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyS3"
|
||||
|
||||
SOC_FAMILY = "npcm7xx"
|
||||
include conf/machine/include/soc-family.inc
|
||||
MACHINEOVERRIDES .= ":npcm7xx"
|
||||
|
||||
require conf/machine/include/tune-arm7a-novfp.inc
|
||||
@@ -0,0 +1,59 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Nuvoton NPCM8XX
|
||||
#@DESCRIPTION: Common machine configuration for Nuvoton NPCM8XX Chip
|
||||
|
||||
require conf/machine/include/nuvoton.inc
|
||||
require conf/machine/include/igps-keys.inc
|
||||
|
||||
KERNEL_IMAGETYPE ?= "Image"
|
||||
KERNEL_EXTRA_ARGS ?= "UIMAGE_LOADADDR=0x00008000"
|
||||
|
||||
UBOOT_MACHINE ?= "ArbelEVB_defconfig"
|
||||
UBOOT_ENTRYPOINT ?= "0x6200000"
|
||||
UBOOT_LOADADDRESS ?= "0x6200000"
|
||||
|
||||
FLASH_SIZE ?= "32768"
|
||||
FLASH_UBOOT_OFFSET ?= "0"
|
||||
FLASH_UBOOT_ENV_OFFSET = "1024"
|
||||
FLASH_KERNEL_OFFSET ?= "2048"
|
||||
FLASH_ROFS_OFFSET ?= "8192"
|
||||
FLASH_RWFS_OFFSET ?= "31744"
|
||||
|
||||
# UBI volume sizes in KB unless otherwise noted.
|
||||
FLASH_UBI_RWFS_SIZE ?= "6144"
|
||||
FLASH_UBI_RWFS_TXT_SIZE ?= "6MiB"
|
||||
|
||||
SERIAL_CONSOLES ?= "115200;ttyS0"
|
||||
|
||||
BB_ALIGN ?= "524288"
|
||||
ATF_ALIGN ?= "4096"
|
||||
OPTEE_ALIGN ?= "4096"
|
||||
UBOOT_ALIGN ?= "4096"
|
||||
ALIGN_END ?= "4096"
|
||||
PAD_ALIGN ?= "32"
|
||||
|
||||
SOC_FAMILY = "npcm8xx"
|
||||
include conf/machine/include/soc-family.inc
|
||||
MACHINEOVERRIDES .= ":npcm8xx"
|
||||
|
||||
require conf/machine/include/arm/armv8a/tune-cortexa35.inc
|
||||
|
||||
UBOOT_MKIMAGE:append:npcm8xx = " -E -B 8"
|
||||
|
||||
COMPATIBLE_MACHINE:npcm8xx = "npcm8xx"
|
||||
TFA_PLATFORM = "npcm845x"
|
||||
|
||||
# Nuvoton prefers optee for BL32.
|
||||
TFA_SPD = "opteed"
|
||||
|
||||
# Nuvoton prefers u-boot as BL33.
|
||||
TFA_UBOOT = "1"
|
||||
|
||||
# Nuvoton prefers TFA default build is BL31.
|
||||
TFA_BUILD_TARGET = "bl31"
|
||||
|
||||
OPTEEMACHINE ?= "nuvoton"
|
||||
|
||||
SECURED_IMAGE ?= "True"
|
||||
|
||||
TIP_IMAGE ?= "True"
|
||||
@@ -0,0 +1,16 @@
|
||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-nuvoton"
|
||||
PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-nuvoton"
|
||||
PREFERRED_PROVIDER_u-boot ?= "u-boot-nuvoton"
|
||||
PREFERRED_PROVIDER_u-boot-fw-utils ?= "u-boot-fw-utils-nuvoton"
|
||||
|
||||
WKS_FILE ?= "emmc-nuvoton.wks.in"
|
||||
WKS_FILE_DEPENDS ?= " \
|
||||
virtual/kernel \
|
||||
"
|
||||
WKS_RWFS_SIZE ??= "256M"
|
||||
WKS_ROFS_SIZE ??= "256M"
|
||||
IMAGE_BOOT_FILES ?= "fitImage-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE};fitImage"
|
||||
IMAGE_FSTYPES:remove:df-phosphor-mmc = "mtd-static mtd-static-tar mtd-static-alltar"
|
||||
|
||||
MACHINEOVERRIDES .= ":nuvoton"
|
||||
MACHINE_EXTRA_RRECOMMENDS += "udev-nuvoton-mtd-partitions"
|
||||
@@ -0,0 +1,11 @@
|
||||
DEFAULTTUNE ?= "arm7a-novfp"
|
||||
|
||||
require conf/machine/include/arm/arch-armv7a.inc
|
||||
|
||||
TUNEVALID[arm7a-novfp] = "Enable arm7a-novfp specific processor optimizations"
|
||||
|
||||
AVAILTUNES += "arm7a-novfp"
|
||||
ARMPKGARCH:tune-arm7a-novfp = "armv7a"
|
||||
TUNE_FEATURES:tune-armv7a = "arm armv7a"
|
||||
TUNE_FEATURES:tune-arm7a-novfp = "${TUNE_FEATURES:tune-armv7a} arm7a-novfp"
|
||||
PACKAGE_EXTRA_ARCHS:tune-arm7a-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv7a}"
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
SRC_URI:remove = "${SRC_URI_TRUSTED_FIRMWARE_A};name=tfa;branch=${SRCBRANCH}"
|
||||
SRC_URI:append = "git://github.com/Nuvoton-Israel/arm-trusted-firmware.git;protocol=https;name=tfa;branch=nuvoton"
|
||||
SRCREV_tfa = "009fd73ba58ac744bf9168e425afa19357ea331d"
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
EXTRA_OEMAKE:append:npcm8xx = " \
|
||||
CFG_REE_FS=n \
|
||||
CFG_REE_FS_TA=n \
|
||||
CFG_RPMB_FS=y \
|
||||
CFG_RPMB_TESTKEY=y \
|
||||
CFG_RPMB_WRITE_KEY=y \
|
||||
CFG_CORE_HEAP_SIZE=524288 \
|
||||
CFG_TEE_RAM_VA_SIZE=3145728 \
|
||||
CFG_TZDRAM_START=0x02100000 \
|
||||
CFG_TZDRAM_SIZE=0x03f00000 \
|
||||
CFG_SHMEM_START=0x06000000 \
|
||||
CFG_TEE_SDP_MEM_BASE=0x05F00000 \
|
||||
CFG_TEE_SDP_MEM_SIZE=0x00100000 \
|
||||
"
|
||||
|
||||
do_deploy:npcm8xx() {
|
||||
install -d ${DEPLOYDIR}/
|
||||
install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "XML-based binary image generator"
|
||||
DESCRIPTION = "XML-based binary image generator"
|
||||
HOMEPAGE = "https://github.com/Nuvoton-Israel/bingo"
|
||||
PR = "r1"
|
||||
PV = "0.1+git${SRCPV}"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
SRC_URI = "git://github.com/Nuvoton-Israel/bingo;branch=master;protocol=https"
|
||||
SRCREV = "7c35658b667d04d6cc78b7ed569f4401168ae133"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install () {
|
||||
|
||||
install -d "${D}${bindir}"
|
||||
install deliverables/linux/Release/bingo ${D}${bindir}
|
||||
}
|
||||
|
||||
inherit native
|
||||
@@ -0,0 +1,26 @@
|
||||
SUMMARY = "Primary bootloader for NPCM7XX (Poleg) devices"
|
||||
DESCRIPTION = "Primary bootloader for NPCM7XX (Poleg) devices"
|
||||
HOMEPAGE = "https://github.com/Nuvoton-Israel/npcm7xx-bootblock"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
FILENAME = "Poleg_bootblock_${PV}.bin"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
SRCREV = "4fa655f95547b927b0133c8ed96c88c5d14ac7b3"
|
||||
SRC_URI = " \
|
||||
https://raw.githubusercontent.com/Nuvoton-Israel/bootblock/${SRCREV}/LICENSE;name=lic \
|
||||
https://github.com/Nuvoton-Israel/bootblock/releases/download/BootBlock_${PV}/Poleg_bootblock_basic.bin;downloadfilename=${FILENAME};name=bin \
|
||||
"
|
||||
|
||||
SRC_URI[lic.md5sum] = "b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
SRC_URI[bin.sha256sum] = "a33f3fe96786929a8f35e986ae76bbd1bf53459770a6ece7d6777dced1d62ddf"
|
||||
|
||||
inherit deploy
|
||||
|
||||
do_deploy () {
|
||||
install -D -m 644 ${WORKDIR}/${FILENAME} ${DEPLOYDIR}/Poleg_bootblock.bin
|
||||
}
|
||||
|
||||
addtask deploy before do_build after do_compile
|
||||
@@ -0,0 +1,25 @@
|
||||
SUMMARY = "Image Generation and Programming Scripts for NPCM7XX (Poleg) devices"
|
||||
DESCRIPTION = "Image Generation and Programming Scripts for NPCM7XX (Poleg) devices"
|
||||
HOMEPAGE = "https://github.com/Nuvoton-Israel/igps"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/Nuvoton-Israel/igps;branch=master;protocol=https \
|
||||
file://0001-Adjust-paths-for-use-with-Bitbake.patch \
|
||||
"
|
||||
# tag IGPS_02.01.18
|
||||
SRCREV = "e0fc2ba58d561220a957bc06aefe1ac7f6e96126"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEST = "${D}${datadir}/${BPN}"
|
||||
|
||||
do_install() {
|
||||
install -d ${DEST}
|
||||
install ImageGeneration/references/BootBlockAndHeader_${IGPS_MACHINE}.xml ${DEST}
|
||||
install ImageGeneration/references/UbootHeader_${IGPS_MACHINE}.xml ${DEST}
|
||||
install ImageGeneration/inputs/mergedBootBlockAndUboot.xml ${DEST}
|
||||
}
|
||||
|
||||
inherit native
|
||||
+145
@@ -0,0 +1,145 @@
|
||||
From 215a2d9660a929beae8bc420239467fc9e135b4f Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Fair <benjaminfair@google.com>
|
||||
Date: Wed, 23 Oct 2019 14:23:08 -0700
|
||||
Subject: [PATCH] Adjust paths for use with Bitbake
|
||||
|
||||
Signed-off-by: Benjamin Fair <benjaminfair@google.com>
|
||||
---
|
||||
ImageGeneration/inputs/mergedBootBlockAndUboot.xml | 10 +++++-----
|
||||
ImageGeneration/references/BootBlockAndHeader_EB.xml | 6 +++---
|
||||
.../references/BootBlockAndHeader_RunBMC.xml | 6 +++---
|
||||
ImageGeneration/references/UbootHeader_EB.xml | 6 +++---
|
||||
ImageGeneration/references/UbootHeader_RunBMC.xml | 6 +++---
|
||||
5 files changed, 17 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/ImageGeneration/inputs/mergedBootBlockAndUboot.xml b/ImageGeneration/inputs/mergedBootBlockAndUboot.xml
|
||||
index d832f96..f4c7756 100644
|
||||
--- a/ImageGeneration/inputs/mergedBootBlockAndUboot.xml
|
||||
+++ b/ImageGeneration/inputs/mergedBootBlockAndUboot.xml
|
||||
@@ -18,18 +18,18 @@
|
||||
<name>BootBlock</name> <!-- name of field -->
|
||||
<config>
|
||||
<offset>0</offset> <!-- offset in the header -->
|
||||
- <size format='FileSize'>output_binaries/BootBlockAndHeader.bin</size> <!-- size in the header -->
|
||||
+ <size format='FileSize'>Poleg_bootblock.bin.full</size> <!-- size in the header -->
|
||||
</config>
|
||||
- <content format='FileContent'>output_binaries/BootBlockAndHeader.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileContent'>Poleg_bootblock.bin.full</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
<BinField>
|
||||
<name>u-boot</name> <!-- name of field -->
|
||||
<config>
|
||||
- <offset format='FileSize' align='0x1000'>output_binaries/BootBlockAndHeader.bin</offset> <!-- offset in the header -->
|
||||
- <size format='FileSize'>output_binaries/UbootAndHeader.bin</size> <!-- size in the header -->
|
||||
+ <offset format='FileSize' align='0x1000'>Poleg_bootblock.bin.full</offset> <!-- offset in the header -->
|
||||
+ <size format='FileSize'>u-boot.bin.full</size> <!-- size in the header -->
|
||||
</config>
|
||||
- <content format='FileContent'>output_binaries/UbootAndHeader.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileContent'>u-boot.bin.full</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
</Bin_Ecc_Map>
|
||||
diff --git a/ImageGeneration/references/BootBlockAndHeader_EB.xml b/ImageGeneration/references/BootBlockAndHeader_EB.xml
|
||||
index 775534f..157535d 100644
|
||||
--- a/ImageGeneration/references/BootBlockAndHeader_EB.xml
|
||||
+++ b/ImageGeneration/references/BootBlockAndHeader_EB.xml
|
||||
@@ -42,7 +42,7 @@
|
||||
<offset>0x144</offset>
|
||||
<size>0x4</size>
|
||||
</config>
|
||||
- <content format='FileSize'>inputs/Poleg_bootblock.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileSize'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
<BinField>
|
||||
@@ -50,9 +50,9 @@
|
||||
<name>Code</name> <!-- name of field -->
|
||||
<config>
|
||||
<offset>0x200</offset>
|
||||
- <size format='FileSize'>inputs/Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
|
||||
+ <size format='FileSize'>Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
|
||||
</config>
|
||||
- <content format='FileContent'>inputs/Poleg_bootblock.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileContent'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
<!-- BMC optional fields -->
|
||||
diff --git a/ImageGeneration/references/BootBlockAndHeader_RunBMC.xml b/ImageGeneration/references/BootBlockAndHeader_RunBMC.xml
|
||||
index cc719e9..4d1e972 100644
|
||||
--- a/ImageGeneration/references/BootBlockAndHeader_RunBMC.xml
|
||||
+++ b/ImageGeneration/references/BootBlockAndHeader_RunBMC.xml
|
||||
@@ -42,7 +42,7 @@
|
||||
<offset>0x144</offset>
|
||||
<size>0x4</size>
|
||||
</config>
|
||||
- <content format='FileSize'>inputs/Poleg_bootblock.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileSize'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
<BinField>
|
||||
@@ -50,9 +50,9 @@
|
||||
<name>Code</name>
|
||||
<config>
|
||||
<offset>0x200</offset>
|
||||
- <size format='FileSize'>inputs/Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
|
||||
+ <size format='FileSize'>Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
|
||||
</config>
|
||||
- <content format='FileContent'>inputs/Poleg_bootblock.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileContent'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
<!-- BMC optional fields -->
|
||||
diff --git a/ImageGeneration/references/UbootHeader_EB.xml b/ImageGeneration/references/UbootHeader_EB.xml
|
||||
index 1e72e22..475ec45 100644
|
||||
--- a/ImageGeneration/references/UbootHeader_EB.xml
|
||||
+++ b/ImageGeneration/references/UbootHeader_EB.xml
|
||||
@@ -42,7 +42,7 @@
|
||||
<offset>0x144</offset> <!-- offset in the header -->
|
||||
<size>0x4</size> <!-- size in the header -->
|
||||
</config>
|
||||
- <content format='FileSize'>inputs/u-boot.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileSize'>u-boot.bin</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
<BinField>
|
||||
@@ -50,9 +50,9 @@
|
||||
<name>Code</name> <!-- name of field -->
|
||||
<config>
|
||||
<offset>0x200</offset> <!-- offset in the header -->
|
||||
- <size format='FileSize'>inputs/u-boot.bin</size> <!-- size in the header calculated by tool-->
|
||||
+ <size format='FileSize'>u-boot.bin</size> <!-- size in the header calculated by tool-->
|
||||
</config>
|
||||
- <content format='FileContent'>inputs/u-boot.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileContent'>u-boot.bin</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
<!-- BMC optional fields -->
|
||||
diff --git a/ImageGeneration/references/UbootHeader_RunBMC.xml b/ImageGeneration/references/UbootHeader_RunBMC.xml
|
||||
index 7eb3076..481ed2f 100644
|
||||
--- a/ImageGeneration/references/UbootHeader_RunBMC.xml
|
||||
+++ b/ImageGeneration/references/UbootHeader_RunBMC.xml
|
||||
@@ -42,7 +42,7 @@
|
||||
<offset>0x144</offset> <!-- offset in the header -->
|
||||
<size>0x4</size> <!-- size in the header -->
|
||||
</config>
|
||||
- <content format='FileSize'>inputs/u-boot.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileSize'>u-boot.bin</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
<BinField>
|
||||
@@ -50,9 +50,9 @@
|
||||
<name>Code</name> <!-- name of field -->
|
||||
<config>
|
||||
<offset>0x200</offset> <!-- offset in the header -->
|
||||
- <size format='FileSize'>inputs/u-boot.bin</size> <!-- size in the header calculated by tool-->
|
||||
+ <size format='FileSize'>u-boot.bin</size> <!-- size in the header calculated by tool-->
|
||||
</config>
|
||||
- <content format='FileContent'>inputs/u-boot.bin</content> <!-- content the user should fill -->
|
||||
+ <content format='FileContent'>u-boot.bin</content> <!-- content the user should fill -->
|
||||
</BinField>
|
||||
|
||||
<!-- BMC optional fields -->
|
||||
--
|
||||
2.24.0.rc0.303.g954a862665-goog
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
SUMMARY = "Primary bootloader for NPCM8XX (Arbel) devices"
|
||||
DESCRIPTION = "Primary bootloader for NPCM8XX (Arbel) devices"
|
||||
HOMEPAGE = "https://github.com/Nuvoton-Israel/npcm8xx-bootblock"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
BB_TIP = "arbel_a35_bootblock.bin"
|
||||
BB_NO_TIP = "arbel_a35_bootblock_no_tip.bin"
|
||||
|
||||
OUTPUT_BB_TIP_BIN = "Images/tip"
|
||||
OUTPUT_BB_NO_TIP_BIN = "Images/no_tip"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/Nuvoton-Israel/npcm8xx-bootblock;branch=main;protocol=https"
|
||||
|
||||
inherit deploy
|
||||
|
||||
do_deploy () {
|
||||
if [ "${TIP_IMAGE}" = "True" ] ; then
|
||||
install -D -m 644 ${OUTPUT_BB_TIP_BIN}/${BB_TIP} ${DEPLOYDIR}/${BB_TIP}
|
||||
else
|
||||
install -D -m 644 ${OUTPUT_BB_NO_TIP_BIN}/${BB_NO_TIP} ${DEPLOYDIR}/${BB_NO_TIP}
|
||||
fi
|
||||
}
|
||||
|
||||
addtask deploy before do_build after do_compile
|
||||
@@ -0,0 +1,3 @@
|
||||
SRCREV = "bc1b9c304490e54553f2d449fa2e9950a6f9e4ae"
|
||||
|
||||
require npcm8xx-bootblock.inc
|
||||
@@ -0,0 +1,4 @@
|
||||
# tag IGPS_03.09.02
|
||||
SRCREV = "c087fcc14a67ae912a51d6fd90c3daa27560d8bc"
|
||||
|
||||
require npcm8xx-igps.inc
|
||||
@@ -0,0 +1,46 @@
|
||||
SUMMARY = "Image Generation and Programming Scripts for NPCM8XX (Arbel) devices"
|
||||
DESCRIPTION = "Image Generation and Programming Scripts for NPCM8XX (Arbel) devices"
|
||||
HOMEPAGE = "https://github.com/Nuvoton-Israel/igps-npcm8xx"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
IGPS_BRANCH ?= "main"
|
||||
SRC_URI = " \
|
||||
git://github.com/Nuvoton-Israel/igps-npcm8xx;branch=${IGPS_BRANCH};protocol=https \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEST = "${D}${datadir}/${BPN}"
|
||||
|
||||
# Adjust paths for use with bitbake
|
||||
do_patch() {
|
||||
sed -i -e 's,inputs/,,g' ${S}/py_scripts/ImageGeneration/references/*.xml \
|
||||
${S}/py_scripts/ImageGeneration/inputs/*.xml
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${DEST}
|
||||
if [ "${TIP_IMAGE}" = "True" ] ; then
|
||||
install py_scripts/ImageGeneration/references/BootBlockAndHeader_${DEVICE_GEN}_${IGPS_MACHINE}.xml ${DEST}
|
||||
else
|
||||
install py_scripts/ImageGeneration/references/BootBlockAndHeader_${DEVICE_GEN}_${IGPS_MACHINE}_NoTip.xml ${DEST}
|
||||
fi
|
||||
install py_scripts/ImageGeneration/references/UbootHeader_${DEVICE_GEN}.xml ${DEST}
|
||||
install py_scripts/ImageGeneration/inputs/BL31_AndHeader.xml ${DEST}
|
||||
install py_scripts/ImageGeneration/inputs/OpTeeAndHeader.xml ${DEST}
|
||||
install py_scripts/ImageGeneration/asn1.py ${DEST}
|
||||
install py_scripts/ImageGeneration/BinarySignatureGenerator.py ${DEST}
|
||||
}
|
||||
|
||||
inherit deploy
|
||||
|
||||
do_deploy () {
|
||||
# copy default keys to deploy folder
|
||||
install -d ${DEPLOYDIR}
|
||||
cp -vur py_scripts/ImageGeneration/keys/${SIGN_TYPE} ${DEPLOYDIR}/
|
||||
}
|
||||
|
||||
inherit native
|
||||
|
||||
addtask deploy before do_build after do_compile
|
||||
@@ -0,0 +1,17 @@
|
||||
SUMMARY = "TIP FW for NPCM8XX (Arbel) devices"
|
||||
DESCRIPTION = "TIP FW for NPCM8XX (Arbel) devices"
|
||||
HOMEPAGE = "https://github.com/Nuvoton-Israel/npcm8xx-tip-fw"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=f789971f29c65e31dbb33ed209b4dc91"
|
||||
|
||||
TIP_FW = "Kmt_TipFwL0_Skmt_TipFwL1.bin"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/Nuvoton-Israel/npcm8xx-tip-fw;branch=main;protocol=https"
|
||||
|
||||
inherit deploy
|
||||
do_deploy () {
|
||||
install -D -m 644 ${OUTPUT_BIN}/${TIP_FW} ${DEPLOYDIR}/${TIP_FW}
|
||||
}
|
||||
|
||||
addtask deploy before do_build after do_compile
|
||||
@@ -0,0 +1,5 @@
|
||||
SRCREV = "49c4ddb7feed3653dde1c77e235e41e42c3e73e5"
|
||||
|
||||
OUTPUT_BIN = "output_binaries_${DEVICE_GEN}_${IGPS_MACHINE}"
|
||||
|
||||
require npcm8xx-tip-fw.inc
|
||||
@@ -0,0 +1,2 @@
|
||||
# MTD device name Device offset Env. size Flash sector size Number of sectors
|
||||
/dev/mtd/u-boot-env 0x0000 0x40000 0x4000
|
||||
@@ -0,0 +1,5 @@
|
||||
CONFIG_CMD_EXT4=y
|
||||
CONFIG_CMD_FS_GENERIC=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_PART=y
|
||||
CONFIG_CMD_UNZIP=y
|
||||
@@ -0,0 +1,14 @@
|
||||
HOMEPAGE = "https://github.com/Nuvoton-Israel/u-boot"
|
||||
SECTION = "bootloaders"
|
||||
DEPENDS += "flex-native bison-native"
|
||||
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
|
||||
|
||||
UBRANCH = "npcm-v2021.04"
|
||||
SRC_URI = "git://github.com/Nuvoton-Israel/u-boot.git;branch=${UBRANCH};protocol=https"
|
||||
SRCREV = "02f2872a1c408396dd0703f9b38853aa72bb5976"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PV .= "+${UBRANCH}+"
|
||||
@@ -0,0 +1,42 @@
|
||||
require u-boot-common-nuvoton.inc
|
||||
|
||||
SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
|
||||
DEPENDS = "mtd-utils bison-native"
|
||||
RDEPENDS:${PN} = "udev-nuvoton-mtd-partitions"
|
||||
|
||||
PROVIDES += "u-boot-fw-utils"
|
||||
SRC_URI += "file://fw_env.config"
|
||||
|
||||
INSANE_SKIP:${PN} = "already-stripped"
|
||||
|
||||
EXTRA_OEMAKE:class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" HOSTCC="${BUILD_CC} ${BUILD_FLAGS} ${BUILD_LDFLAGS}" CC="${CC} ${CFLAGS} ${LDFLAGS}" STRIP=true V=1'
|
||||
EXTRA_OEMAKE:class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
|
||||
|
||||
inherit uboot-config
|
||||
|
||||
do_compile () {
|
||||
oe_runmake ${UBOOT_MACHINE}
|
||||
oe_runmake envtools
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${base_sbindir}
|
||||
install -d ${D}${sysconfdir}
|
||||
install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
|
||||
install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
|
||||
install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
|
||||
}
|
||||
|
||||
do_install:class-cross () {
|
||||
install -d ${D}${bindir_cross}
|
||||
install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
|
||||
install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
|
||||
}
|
||||
|
||||
SYSROOT_PREPROCESS_FUNCS:class-cross = "uboot_fw_utils_cross"
|
||||
uboot_fw_utils_cross() {
|
||||
sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
|
||||
}
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
BBCLASSEXTEND = "cross"
|
||||
@@ -0,0 +1,337 @@
|
||||
SUMMARY = "Universal Boot Loader for embedded devices"
|
||||
PROVIDES = "virtual/bootloader"
|
||||
|
||||
B = "${WORKDIR}/build"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
DEPENDS += "kern-tools-native"
|
||||
|
||||
inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1 python3native
|
||||
|
||||
DEPENDS += "swig-native"
|
||||
|
||||
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1'
|
||||
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
|
||||
EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
|
||||
|
||||
PACKAGECONFIG ??= "openssl"
|
||||
# u-boot will compile its own tools during the build, with specific
|
||||
# configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
|
||||
# a host build dependency.
|
||||
PACKAGECONFIG[openssl] = ",,openssl-native"
|
||||
|
||||
# Allow setting an additional version string that will be picked up by the
|
||||
# u-boot build system and appended to the u-boot version. If the .scmversion
|
||||
# file already exists it will not be overwritten.
|
||||
UBOOT_LOCALVERSION ?= ""
|
||||
|
||||
# Some versions of u-boot use .bin and others use .img. By default use .bin
|
||||
# but enable individual recipes to change this value.
|
||||
UBOOT_SUFFIX ??= "bin"
|
||||
UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
|
||||
UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
|
||||
UBOOT_MAKE_TARGET ?= "all"
|
||||
|
||||
# Output the ELF generated. Some platforms can use the ELF file and directly
|
||||
# load it (JTAG booting, QEMU) additionally the ELF can be used for debugging
|
||||
# purposes.
|
||||
UBOOT_ELF ?= ""
|
||||
UBOOT_ELF_SUFFIX ?= "elf"
|
||||
UBOOT_ELF_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}"
|
||||
UBOOT_ELF_BINARY ?= "u-boot.${UBOOT_ELF_SUFFIX}"
|
||||
UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}"
|
||||
|
||||
# Some versions of u-boot build an SPL (Second Program Loader) image that
|
||||
# should be packaged along with the u-boot binary as well as placed in the
|
||||
# deploy directory. For those versions they can set the following variables
|
||||
# to allow packaging the SPL.
|
||||
SPL_BINARY ?= ""
|
||||
SPL_BINARYNAME ?= "${@os.path.basename(d.getVar("SPL_BINARY"))}"
|
||||
SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}"
|
||||
SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}"
|
||||
|
||||
# Additional environment variables or a script can be installed alongside
|
||||
# u-boot to be used automatically on boot. This file, typically 'uEnv.txt'
|
||||
# or 'boot.scr', should be packaged along with u-boot as well as placed in the
|
||||
# deploy directory. Machine configurations needing one of these files should
|
||||
# include it in the SRC_URI and set the UBOOT_ENV parameter.
|
||||
UBOOT_ENV_SUFFIX ?= "txt"
|
||||
UBOOT_ENV ?= ""
|
||||
UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
|
||||
UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
|
||||
UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
|
||||
|
||||
# U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf
|
||||
# to find EXTLINUX conf file.
|
||||
UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
|
||||
UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf"
|
||||
UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}"
|
||||
|
||||
# Set Device tree from the machine config automatically
|
||||
UBOOT_MAKE_TARGET += '${@"" if d.getVar("UBOOT_DEVICETREE") is None \
|
||||
else " DEVICE_TREE=" + d.getVar("UBOOT_DEVICETREE")}'
|
||||
|
||||
# returns all the elements from the src uri that are .cfg files
|
||||
def find_cfgs(d):
|
||||
sources=src_patches(d, True)
|
||||
sources_list=[]
|
||||
for s in sources:
|
||||
if s.endswith('.cfg'):
|
||||
sources_list.append(s)
|
||||
|
||||
return sources_list
|
||||
|
||||
do_configure () {
|
||||
if [ -z "${UBOOT_CONFIG}" ]; then
|
||||
if [ -n "${UBOOT_MACHINE}" ]; then
|
||||
oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
|
||||
else
|
||||
oe_runmake -C ${S} O=${B} oldconfig
|
||||
fi
|
||||
merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
|
||||
cml1_do_configure
|
||||
fi
|
||||
}
|
||||
|
||||
do_compile () {
|
||||
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
|
||||
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
|
||||
fi
|
||||
|
||||
unset LDFLAGS
|
||||
unset CFLAGS
|
||||
unset CPPFLAGS
|
||||
|
||||
if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
|
||||
then
|
||||
echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
|
||||
echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
|
||||
fi
|
||||
|
||||
if [ -n "${UBOOT_CONFIG}" ]
|
||||
then
|
||||
unset i j k
|
||||
for config in ${UBOOT_MACHINE}; do
|
||||
i=$(expr $i + 1);
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
j=$(expr $j + 1);
|
||||
if [ $j -eq $i ]
|
||||
then
|
||||
oe_runmake -C ${S} O=${B}/${config} ${config}
|
||||
oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET}
|
||||
for binary in ${UBOOT_BINARIES}; do
|
||||
k=$(expr $k + 1);
|
||||
if [ $k -eq $i ]; then
|
||||
cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
|
||||
fi
|
||||
done
|
||||
unset k
|
||||
fi
|
||||
done
|
||||
unset j
|
||||
done
|
||||
unset i
|
||||
else
|
||||
oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
do_install () {
|
||||
if [ -n "${UBOOT_CONFIG}" ]
|
||||
then
|
||||
for config in ${UBOOT_MACHINE}; do
|
||||
i=$(expr $i + 1);
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
j=$(expr $j + 1);
|
||||
if [ $j -eq $i ]
|
||||
then
|
||||
install -d ${D}/boot
|
||||
install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
|
||||
fi
|
||||
done
|
||||
unset j
|
||||
done
|
||||
unset i
|
||||
else
|
||||
install -d ${D}/boot
|
||||
install -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
|
||||
ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
|
||||
fi
|
||||
|
||||
if [ -n "${UBOOT_ELF}" ]
|
||||
then
|
||||
if [ -n "${UBOOT_CONFIG}" ]
|
||||
then
|
||||
for config in ${UBOOT_MACHINE}; do
|
||||
i=$(expr $i + 1);
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
j=$(expr $j + 1);
|
||||
if [ $j -eq $i ]
|
||||
then
|
||||
install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}
|
||||
fi
|
||||
done
|
||||
unset j
|
||||
done
|
||||
unset i
|
||||
else
|
||||
install -m 644 ${B}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE}
|
||||
ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY}
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -e ${WORKDIR}/fw_env.config ] ; then
|
||||
install -d ${D}${sysconfdir}
|
||||
install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
|
||||
fi
|
||||
|
||||
if [ -n "${SPL_BINARY}" ]
|
||||
then
|
||||
if [ -n "${UBOOT_CONFIG}" ]
|
||||
then
|
||||
for config in ${UBOOT_MACHINE}; do
|
||||
i=$(expr $i + 1);
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
j=$(expr $j + 1);
|
||||
if [ $j -eq $i ]
|
||||
then
|
||||
install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR}
|
||||
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}-${type}
|
||||
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}
|
||||
fi
|
||||
done
|
||||
unset j
|
||||
done
|
||||
unset i
|
||||
else
|
||||
install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
|
||||
ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYNAME}
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${UBOOT_ENV}" ]
|
||||
then
|
||||
install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE}
|
||||
ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY}
|
||||
fi
|
||||
|
||||
if [ "${UBOOT_EXTLINUX}" = "1" ]
|
||||
then
|
||||
install -Dm 0644 ${UBOOT_EXTLINUX_CONFIG} ${D}/${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME}
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
FILES:${PN} = "/boot ${sysconfdir} ${datadir}"
|
||||
|
||||
do_deploy () {
|
||||
if [ -n "${UBOOT_CONFIG}" ]
|
||||
then
|
||||
for config in ${UBOOT_MACHINE}; do
|
||||
i=$(expr $i + 1);
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
j=$(expr $j + 1);
|
||||
if [ $j -eq $i ]
|
||||
then
|
||||
install -d ${DEPLOYDIR}
|
||||
install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
|
||||
cd ${DEPLOYDIR}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
|
||||
fi
|
||||
done
|
||||
unset j
|
||||
done
|
||||
unset i
|
||||
else
|
||||
install -d ${DEPLOYDIR}
|
||||
install -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
|
||||
cd ${DEPLOYDIR}
|
||||
rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
|
||||
ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
|
||||
ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
|
||||
fi
|
||||
|
||||
if [ -n "${UBOOT_ELF}" ]
|
||||
then
|
||||
if [ -n "${UBOOT_CONFIG}" ]
|
||||
then
|
||||
for config in ${UBOOT_MACHINE}; do
|
||||
i=$(expr $i + 1);
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
j=$(expr $j + 1);
|
||||
if [ $j -eq $i ]
|
||||
then
|
||||
install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type}
|
||||
ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
|
||||
fi
|
||||
done
|
||||
unset j
|
||||
done
|
||||
unset i
|
||||
else
|
||||
install -m 644 ${B}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE}
|
||||
ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
|
||||
ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ -n "${SPL_BINARY}" ]
|
||||
then
|
||||
if [ -n "${UBOOT_CONFIG}" ]
|
||||
then
|
||||
for config in ${UBOOT_MACHINE}; do
|
||||
i=$(expr $i + 1);
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
j=$(expr $j + 1);
|
||||
if [ $j -eq $i ]
|
||||
then
|
||||
install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR}
|
||||
rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
|
||||
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}
|
||||
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}
|
||||
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
|
||||
ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}
|
||||
fi
|
||||
done
|
||||
unset j
|
||||
done
|
||||
unset i
|
||||
else
|
||||
install -m 644 ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
|
||||
rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}
|
||||
ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARYNAME}
|
||||
ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ -n "${UBOOT_ENV}" ]
|
||||
then
|
||||
install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
|
||||
rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
|
||||
ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY}
|
||||
ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
|
||||
fi
|
||||
|
||||
if [ "${UBOOT_EXTLINUX}" = "1" ]
|
||||
then
|
||||
install -m 644 ${UBOOT_EXTLINUX_CONFIG} ${DEPLOYDIR}/${UBOOT_EXTLINUX_SYMLINK}
|
||||
ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}
|
||||
ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}
|
||||
fi
|
||||
}
|
||||
|
||||
addtask deploy before do_build after do_compile
|
||||
@@ -0,0 +1,10 @@
|
||||
DESCRIPTION = "U-boot for Nuvoton NPCM7xx/NPCM8xx Baseboard Management Controller"
|
||||
|
||||
require u-boot-common-nuvoton.inc
|
||||
require u-boot-nuvoton.inc
|
||||
|
||||
PROVIDES += "u-boot"
|
||||
|
||||
DEPENDS += "dtc-native"
|
||||
|
||||
SRC_URI:append:df-phosphor-mmc = " file://u-boot-emmc.cfg"
|
||||
@@ -0,0 +1,15 @@
|
||||
SUMMARY = "udev rules for MTD partitions"
|
||||
DESCRIPTION = "udev rules for MTD partitions"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
SRC_URI = "file://76-nuvoton-mtd-partitions.rules"
|
||||
|
||||
RDEPENDS:${PN} += "udev"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/${base_libdir}/udev/rules.d
|
||||
install -m 0644 ${WORKDIR}/76-nuvoton-mtd-partitions.rules ${D}/${base_libdir}/udev/rules.d
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
ENV{DEVTYPE}=="mtd", SYMLINK+="mtd/%s{name}"
|
||||
@@ -0,0 +1,24 @@
|
||||
DESCRIPTION = "Linux kernel for Nuvoton NPCM7xx"
|
||||
SECTION = "kernel"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
|
||||
PROVIDES += "virtual/kernel"
|
||||
|
||||
KCONFIG_MODE="--alldefconfig"
|
||||
|
||||
KSRC ?= "git://github.com/openbmc/linux;protocol=https;branch=${KBRANCH}"
|
||||
SRC_URI = "${KSRC}"
|
||||
SRC_URI:append:npcm7xx = " file://defconfig"
|
||||
SRC_URI:append:npcm8xx = " file://npcm8xx_defconfig"
|
||||
|
||||
LINUX_VERSION_EXTENSION ?= "-${SRCREV}"
|
||||
|
||||
PV = "${LINUX_VERSION}+git${SRCPV}"
|
||||
|
||||
UBOOT_MKIMAGE:append:npcm8xx = " -E -B 8"
|
||||
|
||||
inherit kernel
|
||||
require recipes-kernel/linux/linux-yocto.inc
|
||||
|
||||
# From 4.16+ the COPYING file changed
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
||||
@@ -0,0 +1,129 @@
|
||||
CONFIG_KERNEL_XZ=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_LOG_BUF_SHIFT=21
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_ARCH_NPCM=y
|
||||
CONFIG_ARCH_NPCM7XX=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_VMSPLIT_3G_OPT=y
|
||||
CONFIG_ARM_CRYPTO=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SIG=y
|
||||
CONFIG_MODULE_SIG_SHA512=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IPV6_ROUTER_PREF=y
|
||||
CONFIG_IPV6_ROUTE_INFO=y
|
||||
CONFIG_IPV6_OPTIMISTIC_DAD=y
|
||||
CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_PARTITIONED_MASTER=y
|
||||
CONFIG_MTD_RAM=y
|
||||
CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_OF_OVERLAY=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=1
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_NPCM7XX_LPC_BPC=y
|
||||
CONFIG_NPCM7XX_PCI_MBOX=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NPCM7XX_EMC_ETH=y
|
||||
CONFIG_STMMAC_ETH=y
|
||||
CONFIG_BROADCOM_PHY=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_NPCM7XX_KCS_IPMI_BMC=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_NPCM=y
|
||||
CONFIG_I2C_NPCM7XX=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_NPCM_FIU=y
|
||||
CONFIG_SPI_NPCM_PSPI=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
CONFIG_SENSORS_LM75=y
|
||||
CONFIG_SENSORS_NPCM7XX=y
|
||||
CONFIG_SENSORS_TMP102=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_USB_HIDDEV=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_UDC=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_CONFIGFS=y
|
||||
CONFIG_USB_CONFIGFS_F_HID=y
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_EDAC=y
|
||||
# CONFIG_EDAC_LEGACY_SYSFS is not set
|
||||
CONFIG_EDAC_NPCM7XX=y
|
||||
CONFIG_IIO=y
|
||||
CONFIG_NPCM_ADC=y
|
||||
CONFIG_IIO_MUX=y
|
||||
CONFIG_RAS=y
|
||||
CONFIG_MUX_MMIO=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_SUMMARY=y
|
||||
CONFIG_JFFS2_FS_XATTR=y
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_SQUASHFS_XZ=y
|
||||
CONFIG_ROMFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_CIFS=y
|
||||
CONFIG_CIFS_XATTR=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ASCII=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_CRC32C=y
|
||||
CONFIG_CRYPTO_DEFLATE=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
CONFIG_CRYPTO_USER_API_HASH=y
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=y
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_INFO_REDUCED=y
|
||||
CONFIG_READABLE_ASM=y
|
||||
CONFIG_DEBUG_SECTION_MISMATCH=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_FUNCTION_TRACER=y
|
||||
@@ -0,0 +1,186 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_IRQ_TIME_ACCOUNTING=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||
CONFIG_TASK_XACCT=y
|
||||
CONFIG_TASK_IO_ACCOUNTING=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_MEMCG=y
|
||||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_CGROUP_PIDS=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_USER_NS=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_ARCH_NPCM=y
|
||||
CONFIG_ARCH_NPCM8XX=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_RAM=y
|
||||
CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_OF_OVERLAY=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=1
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_NPCM_LPC_BPC=y
|
||||
CONFIG_NPCM_PCI_MBOX=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_STMMAC_ETH=y
|
||||
CONFIG_BROADCOM_PHY=y
|
||||
CONFIG_PINCTRL_NPCM8XX=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_SLAVE=y
|
||||
CONFIG_I2C_NPCM=y
|
||||
CONFIG_I3C=y
|
||||
CONFIG_I3CDEV=y
|
||||
CONFIG_SVC_I3C_MASTER=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_NPCM7XX_KCS_IPMI_BMC=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_NPCM=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_NPCM_PSPI=y
|
||||
CONFIG_SPI_NPCM_FIU=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
CONFIG_SENSORS_LM75=y
|
||||
CONFIG_SENSORS_NPCM8XX=y
|
||||
CONFIG_SENSORS_TMP102=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_NPCM7XX_WATCHDOG=y
|
||||
CONFIG_USB_HIDDEV=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_UDC=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_NPCM_UDC=y
|
||||
CONFIG_USB_CONFIGFS=y
|
||||
CONFIG_USB_CONFIGFS_F_HID=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_NPCM=y
|
||||
CONFIG_ROMFS_FS=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_CRYPTO=y
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
CONFIG_CRYPTO_CTR=y
|
||||
CONFIG_CRYPTO_CRC32C=y
|
||||
CONFIG_CRYPTO_DEFLATE=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=y
|
||||
CONFIG_CRYPTO_DEV_NPCM=y
|
||||
CONFIG_CRYPTO_DEV_NPCM_AES=y
|
||||
CONFIG_CRYPTO_DEV_NPCM_SHA=y
|
||||
CONFIG_CRYPTO_HMAC=y
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_USER_API_HASH=y
|
||||
CONFIG_NPCM750_OTP=y
|
||||
CONFIG_ARM_CRYPTO=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIE_NPCM=y
|
||||
CONFIG_PECI=y
|
||||
CONFIG_PECI_NPCM=y
|
||||
CONFIG_SENSORS_PECI_CPUTEMP=y
|
||||
CONFIG_SENSORS_PECI_DIMMTEMP=y
|
||||
CONFIG_RESET_NPCM=y
|
||||
CONFIG_SENSORS_NPCM7XX=y
|
||||
|
||||
CONFIG_IPMI_KCS_BMC_CDEV_IPMI=y
|
||||
CONFIG_IPMI_KCS_BMC=y
|
||||
CONFIG_NPCM7XX_KCS_IPMI_BMC=y
|
||||
CONFIG_NPCM_VDM=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_NPCM_THERMAL=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_MDIO_BITBANG=y
|
||||
CONFIG_MDIO_GPIO=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_EXPERT=y
|
||||
|
||||
CONFIG_WATCHDOG_SYSFS=y
|
||||
|
||||
# Enable misc VCD/ECE driver for KVM
|
||||
# CONFIG_NPCM750_VCD is not set
|
||||
# CONFIG_NPCM750_ECE is not set
|
||||
|
||||
# Enable JTAG Master Support
|
||||
CONFIG_NPCM8XX_JTAG_MASTER=y
|
||||
|
||||
# Enable OpenBMC FS support
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_SUMMARY=y
|
||||
CONFIG_JFFS2_FS_XATTR=y
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_SQUASHFS_XZ=y
|
||||
CONFIG_SQUASHFS_DECOMP_MULTI=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
|
||||
# Enable EDAC support
|
||||
CONFIG_EDAC_SUPPORT=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_NPCM=y
|
||||
CONFIG_RAS=y
|
||||
|
||||
# Enable RemotePorc driver support
|
||||
CONFIG_REMOTEPROC=y
|
||||
CONFIG_NPCM8XX_REMOTEPROC=y
|
||||
|
||||
# Enable SGPIO Driver support
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_NPCM_SGPIO=y
|
||||
|
||||
# Enable ADC
|
||||
CONFIG_NPCM_ADC=y
|
||||
CONFIG_IIO=y
|
||||
CONFIG_SENSORS_IIO_HWMON=y
|
||||
|
||||
# CONFIG_VGA_ARB is not set
|
||||
# CONFIG_VGA_ARB_MAX_GPUS is not set
|
||||
CONFIG_COMMON_CLK_NPCM8XX=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_NTFS_FS=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
|
||||
CONFIG_NPCM_MBOX=y
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
KBRANCH ?= "dev-6.1"
|
||||
LINUX_VERSION ?= "6.1.29"
|
||||
|
||||
SRCREV="1ac953dfce37295181915ee4974511a814756e37"
|
||||
|
||||
require linux-nuvoton.inc
|
||||
@@ -0,0 +1,14 @@
|
||||
DESCRIPTION = "CPLD/FPGA Programmer"
|
||||
PR = "r1"
|
||||
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
SRC_URI = "git://github.com/Nuvoton-Israel/loadsvf.git;branch=master;protocol=https"
|
||||
SRCREV = "f2296005cbba13b49e5163340cac80efbec9cdf4"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
DEPENDS += "autoconf-archive-native"
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
SUMMARY = "Program EDID data when use DP connector"
|
||||
DESCRIPTION = "Add program EDID data support for DDC to SMB internal \
|
||||
loopback mode."
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
DEPENDS = "systemd python3-edid-json-tool-native"
|
||||
RDEPENDS:${PN} += "bash"
|
||||
|
||||
SRC_URI = "file://program-edid.service \
|
||||
file://program-edid.sh \
|
||||
file://edid.json \
|
||||
"
|
||||
|
||||
SYSTEMD_PACKAGES = "${PN}"
|
||||
SYSTEMD_SERVICE:${PN} = "program-edid.service"
|
||||
SYSTEMD_ENVIRONMENT_FILE:${PN} +="obmc/edid/program_edid"
|
||||
FILES:${PN} += "/usr/share/edid/edid.bin"
|
||||
|
||||
do_compile() {
|
||||
json2edid ${WORKDIR}/edid.json ${WORKDIR}/edid.bin
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${WORKDIR}/program-edid.sh ${D}${bindir}/
|
||||
install -d ${D}${datadir}/edid
|
||||
install -m 0644 -D ${WORKDIR}/edid.bin \
|
||||
${D}${datadir}/edid/edid.bin
|
||||
}
|
||||
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"Base": {
|
||||
"Basic Display": {
|
||||
"Aspect ratio (landscape)": null,
|
||||
"Aspect ratio (portrait)": null,
|
||||
"Color Bit Depth": null,
|
||||
"Continuous frequency supported": false,
|
||||
"DPM active-off supported": true,
|
||||
"DPM standby supported": true,
|
||||
"DPM suspend supported": true,
|
||||
"Digital Video Interface Standard Support": null,
|
||||
"Display color type": "RGB 4:4:4 + YCrCb 4:4:4",
|
||||
"Display gamma": 2.2,
|
||||
"Maximum dimensions (cm)": {
|
||||
"x": 52,
|
||||
"y": 33
|
||||
},
|
||||
"Preferred timing includes native timing pixel format and refresh rate": true,
|
||||
"Video input type": "Digital",
|
||||
"sRGB Standard is default colour space": false
|
||||
},
|
||||
"Chromaticity": {
|
||||
"Blue": {
|
||||
"x": 147,
|
||||
"y": 77
|
||||
},
|
||||
"Green": {
|
||||
"x": 302,
|
||||
"y": 622
|
||||
},
|
||||
"Red": {
|
||||
"x": 669,
|
||||
"y": 345
|
||||
},
|
||||
"White": {
|
||||
"x": 321,
|
||||
"y": 337
|
||||
}
|
||||
},
|
||||
"Descriptors": [
|
||||
{
|
||||
"Addressable": {
|
||||
"x": 1920,
|
||||
"y": 1200
|
||||
},
|
||||
"Blanking": {
|
||||
"x": 160,
|
||||
"y": 35
|
||||
},
|
||||
"Border": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"Front porch": {
|
||||
"x": 48,
|
||||
"y": 3
|
||||
},
|
||||
"Image size (mm)": {
|
||||
"x": 519,
|
||||
"y": 324
|
||||
},
|
||||
"Interlace": false,
|
||||
"Pixel clock (MHz)": 154.0,
|
||||
"Stereo viewing": "No stereo",
|
||||
"Sync pulse": {
|
||||
"x": 32,
|
||||
"y": 6
|
||||
},
|
||||
"Sync type": {
|
||||
"Horizontal sync (outside of V-sync)": "Positive",
|
||||
"Type": "Digital Separate Sync",
|
||||
"Vertical sync": "Positive"
|
||||
},
|
||||
"Type": "Detailed Timing Descriptor"
|
||||
},
|
||||
{
|
||||
"Addressable": {
|
||||
"x": 640,
|
||||
"y": 350
|
||||
},
|
||||
"Blanking": {
|
||||
"x": 160,
|
||||
"y": 99
|
||||
},
|
||||
"Border": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"Front porch": {
|
||||
"x": 16,
|
||||
"y": 37
|
||||
},
|
||||
"Image size (mm)": {
|
||||
"x": 376,
|
||||
"y": 301
|
||||
},
|
||||
"Interlace": false,
|
||||
"Pixel clock (MHz)": 25.17,
|
||||
"Stereo viewing": "No stereo",
|
||||
"Sync pulse": {
|
||||
"x": 96,
|
||||
"y": 2
|
||||
},
|
||||
"Sync type": {
|
||||
"Horizontal sync (outside of V-sync)": "Positive",
|
||||
"Type": "Digital Separate Sync",
|
||||
"Vertical sync": "Negative"
|
||||
},
|
||||
"Type": "Detailed Timing Descriptor"
|
||||
},
|
||||
{
|
||||
"Horizontal rate (kHz)": {
|
||||
"Maximum": 83,
|
||||
"Minimum": 30
|
||||
},
|
||||
"Pixel clock (MHz)": 170,
|
||||
"Subtype": "Default GTF supported",
|
||||
"Type": "Display Range Limits Descriptor",
|
||||
"Vertical rate (Hz)": {
|
||||
"Maximum": 76,
|
||||
"Minimum": 56
|
||||
}
|
||||
},
|
||||
{
|
||||
"Data string": "BenQ 241W",
|
||||
"Type": "Display Product Name"
|
||||
}
|
||||
],
|
||||
"Established Timing": {
|
||||
"1024x768 @ 60 Hz": true,
|
||||
"1024x768 @ 72 Hz": true,
|
||||
"1024x768 @ 75 Hz": true,
|
||||
"1024x768 @ 87 Hz, interlaced (1024x768i)": false,
|
||||
"1152x870 @ 75 Hz (Apple Macintosh II)": true,
|
||||
"1280x1024 @ 75 Hz": true,
|
||||
"640x480 @ 60 Hz": true,
|
||||
"640x480 @ 67 Hz": true,
|
||||
"640x480 @ 72 Hz": true,
|
||||
"640x480 @ 75 Hz": true,
|
||||
"720x400 @ 70 Hz": true,
|
||||
"720x400 @ 88 Hz": false,
|
||||
"800x600 @ 56 Hz": false,
|
||||
"800x600 @ 60 Hz": true,
|
||||
"800x600 @ 72 Hz": true,
|
||||
"800x600 @ 75 Hz": true,
|
||||
"832x624 @ 75 Hz": true,
|
||||
"Manufacturer specific display mode 1": false,
|
||||
"Manufacturer specific display mode 2": false,
|
||||
"Manufacturer specific display mode 3": false,
|
||||
"Manufacturer specific display mode 4": false,
|
||||
"Manufacturer specific display mode 5": false,
|
||||
"Manufacturer specific display mode 6": false,
|
||||
"Manufacturer specific display mode 7": false
|
||||
},
|
||||
"Manufacturer Info": {
|
||||
"ID Product Code": 30427,
|
||||
"Manufacturer ID": "BNQ",
|
||||
"Model year": null,
|
||||
"Serial number": 4538,
|
||||
"Week of manufacture": 3,
|
||||
"Year of manufacture": 2007
|
||||
},
|
||||
"Standard Timing": [
|
||||
{
|
||||
"Frequency": 75,
|
||||
"Ratio": "4:3",
|
||||
"X resolution": 1152
|
||||
},
|
||||
{
|
||||
"Frequency": 76,
|
||||
"Ratio": "5:4",
|
||||
"X resolution": 1280
|
||||
},
|
||||
{
|
||||
"Frequency": 60,
|
||||
"Ratio": "5:4",
|
||||
"X resolution": 1280
|
||||
},
|
||||
{
|
||||
"Frequency": 72,
|
||||
"Ratio": "5:4",
|
||||
"X resolution": 1280
|
||||
},
|
||||
{
|
||||
"Frequency": 60,
|
||||
"Ratio": "4:3",
|
||||
"X resolution": 1600
|
||||
},
|
||||
{
|
||||
"Frequency": 60,
|
||||
"Ratio": "16:10",
|
||||
"X resolution": 1680
|
||||
}
|
||||
]
|
||||
},
|
||||
"Extensions": [],
|
||||
"Version": "1.3"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
SOURCE=/usr/share/edid/edid.bin
|
||||
TARGET=/sys/bus/i2c/devices/11-1050/slave-eeprom
|
||||
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Program edid service
|
||||
|
||||
[Service]
|
||||
Restart=no
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/program-edid.sh ${{SOURCE}} ${{TARGET}}
|
||||
SyslogIdentifier=program-edid
|
||||
EnvironmentFile=/etc/default/obmc/edid/program_edid
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
log_file="/var/log/program_edid.log"
|
||||
|
||||
if [ ! -f "$1" ]; then
|
||||
echo "$1 does not exist." >> "$log_file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "$2" ]; then
|
||||
echo "$2 does not exist." >> "$log_file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Programmning $1 to $2" >> "$log_file"
|
||||
cat "$1" > "$2"
|
||||
|
||||
crc_file=$(crc32 < "$1")
|
||||
fsiz=$(stat -c %s "$1")
|
||||
crc_eeprom=$(head -c "$fsiz" "$2" | crc32)
|
||||
|
||||
if [[ "$crc_file" == "$crc_eeprom" ]]; then
|
||||
echo "Program EDID success" >> "$log_file"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Program EDID failed" >> "$log_file"
|
||||
exit 1
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "EDID to JSON tool"
|
||||
DESCRIPTION = "This is a collection of tools that helps you work with \
|
||||
EDID files, by parsing them as well as by converting between EDID \
|
||||
binaries and JSON files."
|
||||
HOMEPAGE = "https://github.com/rpavlik/edid-json-tools"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=dc64d2d7c140d9bd69045b5abaede3a7"
|
||||
|
||||
SRC_URI = "git://github.com/rpavlik/edid-json-tools.git;branch=main;protocol=https"
|
||||
SRCREV = "1cb9416c10c8186b572fbbc98b51b67c00ec2e70"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit setuptools3
|
||||
PIP_INSTALL_PACKAGE = "edid-json-tools"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
python3-click \
|
||||
"
|
||||
BBCLASSEXTEND = "native"
|
||||
@@ -0,0 +1,2 @@
|
||||
recipes-bsp - Anything with links to specific hardware or hardware configuration information
|
||||
recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
|
||||
@@ -0,0 +1,32 @@
|
||||
# short-description: Create an image for eMMC
|
||||
# long-description: Creates an eMMC card image for the User Data Area that can
|
||||
# be used with the Nuvoton SoC family.
|
||||
#
|
||||
# Assumes a minimum flash size of 1GB.
|
||||
# Assumes U-Boot is stored elsewhere, such as an eMMC boot volume or NOR flash.
|
||||
#
|
||||
# --- - ---------- -------- -------- -------- -------- ------ -------
|
||||
# |GPT| | reserved | boot-a | boot-b | rofs-a | rofs-b | rwfs |GPT-sec|
|
||||
# --- - ---------- -------- -------- -------- -------- ------ -------
|
||||
# ^ 1MB 64MB 64MB 256MB 256MB 256MB
|
||||
# |
|
||||
# 0x5000
|
||||
#
|
||||
# Primary GPT size (Beginning of image):
|
||||
# 512B (Protective MBR) + 512B (Primary Header) + 16KB (Primary Table)
|
||||
# First partition (u-boot-env) is 4K-aligned, which puts it at offset 0x5000
|
||||
#
|
||||
# Secondary GPT size (End of image):
|
||||
# 16KB (Secondary Table) + 512B (Secondary Header)
|
||||
|
||||
bootloader --ptable gpt
|
||||
|
||||
# Hint: bootimg-partition size must be same as MMC_BOOT_PARTITION_SIZE
|
||||
# Note: the partition layout above is SoC default value, it may change by user
|
||||
# set WKS_ROFS_SIZE, WKS_RWFS_SIZE or MMC_BOOT_PARTITION_SIZE.
|
||||
part --align 4 --fixed-size 1M
|
||||
part --fstype=ext4 --fixed-size ${MMC_BOOT_PARTITION_SIZE}K --source bootimg-partition --label boot-a
|
||||
part --fstype=ext4 --fixed-size ${MMC_BOOT_PARTITION_SIZE}K --source bootimg-partition --label boot-b
|
||||
part --fstype=ext4 --fixed-size ${WKS_ROFS_SIZE} --source rootfs --label rofs-a
|
||||
part --fstype=ext4 --fixed-size ${WKS_ROFS_SIZE} --source rootfs --label rofs-b
|
||||
part --fstype=ext4 --fixed-size ${WKS_RWFS_SIZE} --label rwfs
|
||||
Reference in New Issue
Block a user