From 31c4566d2fa07d0e7e1165ca0097b1d58d3e5c35 Mon Sep 17 00:00:00 2001 From: Lancelot Kao Date: Tue, 22 Sep 2020 14:53:57 -0500 Subject: meta-fii/meta-kudo: Add new meta layer for Fii Kudo project First drop for the meta-kudo layer, initial machine configuration to supports Nuvoton npcm730 chip and the Ampere ARM system Tested-by: 1. Load image on the Nuvoton RunBMC CRB 2. Use ipmitool to test the command under BMC console a. ipmitool mc info b. ipmitool sdr c. ipmitool lan print d. ipmitool channel info 1 e. ipmitool user list 1 f. ipmitool chassis status g. ipmitool raw 0x06 0x01 h. ipmitool power status Signed-off-by: Lancelot Kao Change-Id: Ic34b77affe0c08e84762ef795f9f06011bd269ce --- meta-fii/README.md | 1 + meta-fii/meta-kudo/conf/bblayers.conf.sample | 27 ++++++ meta-fii/meta-kudo/conf/conf-notes.txt | 2 + meta-fii/meta-kudo/conf/distro/openbmc-kudo.conf | 4 + meta-fii/meta-kudo/conf/layer.conf | 10 ++ meta-fii/meta-kudo/conf/local.conf.sample | 18 ++++ meta-fii/meta-kudo/conf/machine/kudo.conf | 21 ++++ .../recipes-bsp/u-boot/u-boot-common-kudo.inc | 3 + .../u-boot/u-boot-fw-utils-nuvoton/fw_env.config | 24 +++++ .../u-boot/u-boot-fw-utils-nuvoton_%.bbappend | 7 ++ .../u-boot/u-boot-nuvoton/fixed_phy.cfg | 2 + .../recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg | 2 + .../recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend | 10 ++ .../recipes-kernel/linux/linux-nuvoton/kudo.cfg | 108 +++++++++++++++++++++ .../recipes-kernel/linux/linux-nuvoton_%.bbappend | 3 + .../packagegroups/packagegroup-kudo-apps.bb | 30 ++++++ .../image/obmc-phosphor-image.bbappend | 7 ++ 17 files changed, 279 insertions(+) create mode 100644 meta-fii/meta-kudo/conf/bblayers.conf.sample create mode 100644 meta-fii/meta-kudo/conf/conf-notes.txt create mode 100644 meta-fii/meta-kudo/conf/distro/openbmc-kudo.conf create mode 100644 meta-fii/meta-kudo/conf/layer.conf create mode 100644 meta-fii/meta-kudo/conf/local.conf.sample create mode 100644 meta-fii/meta-kudo/conf/machine/kudo.conf create mode 100644 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-common-kudo.inc create mode 100644 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton/fw_env.config create mode 100644 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_%.bbappend create mode 100644 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/fixed_phy.cfg create mode 100644 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg create mode 100644 meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend create mode 100644 meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg create mode 100644 meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton_%.bbappend create mode 100644 meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb create mode 100644 meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend (limited to 'meta-fii') diff --git a/meta-fii/README.md b/meta-fii/README.md index e0f534465..ec520aa6b 100644 --- a/meta-fii/README.md +++ b/meta-fii/README.md @@ -4,3 +4,4 @@ Repository for storing metadata for OpenBMC Fii USA crop ├── meta-fii + └── meta-kudo diff --git a/meta-fii/meta-kudo/conf/bblayers.conf.sample b/meta-fii/meta-kudo/conf/bblayers.conf.sample new file mode 100644 index 000000000..9fe42076b --- /dev/null +++ b/meta-fii/meta-kudo/conf/bblayers.conf.sample @@ -0,0 +1,27 @@ +# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +LCONF_VERSION = "8" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-openembedded/meta-oe \ + ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-phosphor \ + ##OEROOT##/meta-nuvoton \ + ##OEROOT##/meta-google \ + ##OEROOT##/meta-fii/meta-kudo \ + " +BBLAYERS_NON_REMOVABLE ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-openembedded/meta-oe \ + ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-phosphor \ + ##OEROOT##/meta-nuvoton \ + ##OEROOT##/meta-google \ + ##OEROOT##/meta-fii/meta-kudo \ + " diff --git a/meta-fii/meta-kudo/conf/conf-notes.txt b/meta-fii/meta-kudo/conf/conf-notes.txt new file mode 100644 index 000000000..9b3c01a55 --- /dev/null +++ b/meta-fii/meta-kudo/conf/conf-notes.txt @@ -0,0 +1,2 @@ +Common targets are: + obmc-phosphor-image diff --git a/meta-fii/meta-kudo/conf/distro/openbmc-kudo.conf b/meta-fii/meta-kudo/conf/distro/openbmc-kudo.conf new file mode 100644 index 000000000..047091353 --- /dev/null +++ b/meta-fii/meta-kudo/conf/distro/openbmc-kudo.conf @@ -0,0 +1,4 @@ +require conf/distro/openbmc-phosphor.conf + +DISTRO = "openbmc-kudo" + diff --git a/meta-fii/meta-kudo/conf/layer.conf b/meta-fii/meta-kudo/conf/layer.conf new file mode 100644 index 000000000..e5a3c34af --- /dev/null +++ b/meta-fii/meta-kudo/conf/layer.conf @@ -0,0 +1,10 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "kudo-layer" +BBFILE_PATTERN_kudo-layer = "^${LAYERDIR}/" +LAYERSERIES_COMPAT_kudo-layer = "warrior zeus dunfell" diff --git a/meta-fii/meta-kudo/conf/local.conf.sample b/meta-fii/meta-kudo/conf/local.conf.sample new file mode 100644 index 000000000..8f6659537 --- /dev/null +++ b/meta-fii/meta-kudo/conf/local.conf.sample @@ -0,0 +1,18 @@ +MACHINE ??= "kudo" +DISTRO ?= "openbmc-kudo" +PACKAGE_CLASSES ?= "package_rpm" +SANITY_TESTED_DISTROS_append ?= " *" +EXTRA_IMAGE_FEATURES = "debug-tweaks" +USER_CLASSES ?= "buildstats image-mklibs image-prelink" +PATCHRESOLVE = "noop" +BB_DISKMON_DIRS = "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K \ + ABORT,/tmp,10M,1K" +CONF_VERSION = "1" + diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf new file mode 100644 index 000000000..31036a4ff --- /dev/null +++ b/meta-fii/meta-kudo/conf/machine/kudo.conf @@ -0,0 +1,21 @@ +KMACHINE = "nuvoton" +KERNEL_DEVICETREE = "${KMACHINE}-npcm730-kudo.dtb" + +require conf/machine/include/npcm7xx.inc +require conf/machine/include/obmc-bsp-common.inc + +FLASH_SIZE = "65536" +FLASH_UBOOT_OFFSET = "0" +FLASH_KERNEL_OFFSET = "2048" +FLASH_ROFS_OFFSET = "8192" +FLASH_RWFS_OFFSET = "62464" + +UBOOT_MACHINE = "PolegSVB_config" +UBOOT_DEVICETREE = "nuvoton-npcm730-kudo" +IGPS_MACHINE = "EB" + +IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot" + +VIRTUAL-RUNTIME_obmc-fan-control = "phosphor-pid-control" +PREFERRED_PROVIDER_virtual/obmc-fan-control = "phosphor-pid-control" +PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-kudo-apps" diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-common-kudo.inc b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-common-kudo.inc new file mode 100644 index 000000000..9154bc131 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-common-kudo.inc @@ -0,0 +1,3 @@ +UBRANCH = "npcm7xx-v2019.01" +SRC_URI = "git://github.com/Nuvoton-Israel/u-boot.git;branch=${UBRANCH}" +SRCREV = "5caf59416ba1d6316dd78895e69789246a77e00a" diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton/fw_env.config b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton/fw_env.config new file mode 100644 index 000000000..0c384273f --- /dev/null +++ b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton/fw_env.config @@ -0,0 +1,24 @@ +# Configuration file for fw_(printenv/setenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash. +# Futhermore, if the Flash sector size is ommitted, this value is assumed to +# be the same as the Environment size, which is valid for NOR and SPI-dataflash + +# NOR example +# MTD device name Device offset Env. size Flash sector size Number of sectors +/dev/mtd2 0x0000 0x40000 0x4000 + +# MTD SPI-dataflash example +# MTD device name Device offset Env. size Flash sector size Number of sectors +#/dev/mtd5 0x4200 0x4200 +#/dev/mtd6 0x4200 0x4200 + +# NAND example +#/dev/mtd0 0x4000 0x4000 0x20000 2 + +# Block device example +#/dev/mmcblk0 0xc0000 0x20000 + +# VFAT example +#/boot/uboot.env 0x0000 0x4000 diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_%.bbappend b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_%.bbappend new file mode 100644 index 000000000..5c56e17a0 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_%.bbappend @@ -0,0 +1,7 @@ +FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/${PN}:" + +SRC_URI_append_kudo = " file://fw_env.config" + +do_install_append_kudo () { + install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config +} diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/fixed_phy.cfg b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/fixed_phy.cfg new file mode 100644 index 000000000..125522f84 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/fixed_phy.cfg @@ -0,0 +1,2 @@ +CONFIG_PHY_FIXED=y + diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg new file mode 100644 index 000000000..417ffa98c --- /dev/null +++ b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton/kudo.cfg @@ -0,0 +1,2 @@ +CONFIG_CMD_MII=y +CONFIG_NET_RANDOM_ETHADDR=y diff --git a/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend new file mode 100644 index 000000000..73ad51e15 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend @@ -0,0 +1,10 @@ +FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/u-boot-nuvoton:" + +require u-boot-common-kudo.inc + +UBOOT_MAKE_TARGET_append_kudo = " DEVICE_TREE=${UBOOT_DEVICETREE}" + +SRC_URI_append_kudo = " \ + file://fixed_phy.cfg \ + file://kudo.cfg \ + " diff --git a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg new file mode 100644 index 000000000..0811dd9d9 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg @@ -0,0 +1,108 @@ +CONFIG_HWMON=y +CONFIG_SENSORS_TMP100=y +CONFIG_SENSORS_LM75=y +CONFIG_SENSORS_FAN=y +CONFIG_SENSORS_ADC128D818=y +CONFIG_SENSORS_ADM1275=y +CONFIG_SENSORS_TMP102=y +CONFIG_SENSORS_TMP421=y + +CONFIG_PMBUS=y +CONFIG_SENSORS_PMBUS=y +CONFIG_SENSORS_INA2XX=y + +CONFIG_IIO=y +CONFIG_IIO_MUX=y +CONFIG_NPCM_ADC=y +CONFIG_SENSORS_IIO_HWMON=y + +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +CONFIG_OVERLAY_FS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_XZ=y +CONFIG_JFFS2_FS=y +CONFIG_EXT4_FS=y + +CONFIG_SPI=y +CONFIG_SPI_NPCM_FIU=y +CONFIG_MTD_M25P80=y +CONFIG_SPI_NPCM_PSPI=y + +CONFIG_NET_NCSI=y + +CONFIG_EEPROM_AT24=y +CONFIG_I2C_MUX=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_I2C_SLAVE_EEPROM=y +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_PCF857X=y +CONFIG_MUX_MMIO=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_F_ECM=y +CONFIG_USB_F_EEM=y +CONFIG_USB_F_SUBSET=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_HID=y + +CONFIG_MEDIA_SUPPORT=y +CONFIG_VIDEO_NUVOTON=y +CONFIG_NPCM750_VCD=y +CONFIG_NPCM750_ECE=y +CONFIG_FORCE_MAX_ZONEORDER=12 + +CONFIG_USB_GADGET_NPCM_USB2=y + +CONFIG_NPCM7XX_PCI_MBOX=y + +CONFIG_RESET_NPCM=y + +CONFIG_I2C_SLAVE=y +CONFIG_I2C_SLAVE_MQUEUE=y +CONFIG_IPMB_DEVICE_INTERFACE=y +CONFIG_NUVOTON_JTAG=y +CONFIG_NPCM7XX_JTAG_MASTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NET_INGRESS=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NETFILTER_XTABLES=y + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_REJECT_IPV4=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_NF_DEFRAG_IPV6=y + + +CONFIG_TCG_TPM=y +CONFIG_TCG_TIS_I2C_INFINEON=y diff --git a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton_%.bbappend b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton_%.bbappend new file mode 100644 index 000000000..5276bef59 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton_%.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/linux-nuvoton:" + +SRC_URI_append_kudo = " file://kudo.cfg" diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb new file mode 100644 index 000000000..be879455d --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb @@ -0,0 +1,30 @@ +SUMMARY = "OpenBMC for KUDO system - Applications" +PR = "r1" + +inherit packagegroup + +PROVIDES = "${PACKAGES}" +PACKAGES = " \ + ${PN}-kudo-system \ + ${PN}-kudo-common-utils \ + " + +PROVIDES += "virtual/obmc-system-mgmt" + +RPROVIDES_${PN}-kudo-system += "virtual-obmc-system-mgmt" + +SUMMARY_${PN}-kudo-system = "KUDO System" +RDEPENDS_${PN}-kudo-system = " \ + google-ipmi-sys \ + google-ipmi-i2c \ + " + +SUMMARY_${PN}-kudo-common-utils = "KUDO common utils" +RDEPENDS_${PN}-kudo-common-utils = " \ + ipmitool \ + phosphor-webui \ + phosphor-host-postd \ + loadsvf \ + obmc-console \ + phosphor-sel-logger \ + " diff --git a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend new file mode 100644 index 000000000..0efccea65 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend @@ -0,0 +1,7 @@ +OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " ipmitool" +OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " ethtool" +OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " google-ipmi-sys" +OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " google-ipmi-i2c" +OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-blobs" +OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-ethstats" +OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-flash" -- cgit v1.2.3