diff options
author | Yuan Yao <yao.yuan@linaro.org> | 2018-09-12 14:58:22 +0800 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-10-25 14:17:41 -0400 |
commit | 72b8b7c0c8ee21bf8a91fd2e5f51423bb28788ee (patch) | |
tree | 6d09ec4e0e09ee9b96dbb809c3ff352562799fff | |
parent | 5b9a0fc143ece21f7ae73866a0037dcf4dd13c1a (diff) | |
download | talos-openbmc-72b8b7c0c8ee21bf8a91fd2e5f51423bb28788ee.tar.gz talos-openbmc-72b8b7c0c8ee21bf8a91fd2e5f51423bb28788ee.zip |
Add meta-hxt and meta-stardragon-rep2
Initial a new platfom for ARM system
(From meta-hxt rev: a74be8cd66acd132d82daf45b6e92c89578c98b0)
Change-Id: Iee29816c86457ac2e07a55184fe7cc1aeb1ba216
Signed-off-by: Yuan Yao <yao.yuan@hxt-semitech.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
9 files changed, 210 insertions, 0 deletions
diff --git a/meta-hxt/conf/layer.conf b/meta-hxt/conf/layer.conf new file mode 100644 index 000000000..bc33c2b24 --- /dev/null +++ b/meta-hxt/conf/layer.conf @@ -0,0 +1,5 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +BBFILE_COLLECTIONS += "hxt" +BBFILE_PATTERN_hxt = "" diff --git a/meta-hxt/conf/machine/include/hxt.inc b/meta-hxt/conf/machine/include/hxt.inc new file mode 100644 index 000000000..976e2d09d --- /dev/null +++ b/meta-hxt/conf/machine/include/hxt.inc @@ -0,0 +1,3 @@ +require conf/machine/include/arm.inc + +VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config" diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample b/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample new file mode 100644 index 000000000..ded435f2f --- /dev/null +++ b/meta-hxt/meta-stardragon4800-rep2/conf/bblayers.conf.sample @@ -0,0 +1,35 @@ +# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +LCONF_VERSION = "8" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-openembedded/meta-oe \ + ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ + ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-phosphor \ + ##OEROOT##/meta-aspeed \ + ##OEROOT##/meta-arm \ + ##OEROOT##/meta-hxt \ + ##OEROOT##/meta-hxt/meta-stardragon4800-rep2 \ + " +BBLAYERS_NON_REMOVABLE ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-openembedded/meta-oe \ + ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ + ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-phosphor \ + ##OEROOT##/meta-aspeed \ + ##OEROOT##/meta-arm \ + ##OEROOT##/meta-hxt \ + ##OEROOT##/meta-hxt/meta-stardragon4800-rep2 \ + " diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/conf-notes.txt b/meta-hxt/meta-stardragon4800-rep2/conf/conf-notes.txt new file mode 100644 index 000000000..9b3c01a55 --- /dev/null +++ b/meta-hxt/meta-stardragon4800-rep2/conf/conf-notes.txt @@ -0,0 +1,2 @@ +Common targets are: + obmc-phosphor-image diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/layer.conf b/meta-hxt/meta-stardragon4800-rep2/conf/layer.conf new file mode 100644 index 000000000..1232072fe --- /dev/null +++ b/meta-hxt/meta-stardragon4800-rep2/conf/layer.conf @@ -0,0 +1,9 @@ +# 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 += "stardragon4800-rep2" +BBFILE_PATTERN_stardragon4800-rep2 = "" diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample b/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample new file mode 100644 index 000000000..3f5354ceb --- /dev/null +++ b/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample @@ -0,0 +1,21 @@ +MACHINE ??= "stardragon4800-rep2" +DISTRO ?= "openbmc-phosphor" +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" +INHERIT += "extrausers" +EXTRA_USERS_PARAMS = " \ + usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \ + " diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/machine/stardragon4800-rep2.conf b/meta-hxt/meta-stardragon4800-rep2/conf/machine/stardragon4800-rep2.conf new file mode 100644 index 000000000..fa39cc9cc --- /dev/null +++ b/meta-hxt/meta-stardragon4800-rep2/conf/machine/stardragon4800-rep2.conf @@ -0,0 +1,17 @@ +KMACHINE = "aspeed" +KERNEL_DEVICETREE = "${KMACHINE}-ast2500-evb.dtb" + +UBOOT_MACHINE = "ast_g5_ncsi_config" + +FLASH_SIZE = "32768" + + +PREFERRED_PROVIDER_virtual/phosphor-ipmi-fru-hostfw-config= "" +require conf/machine/include/ast2500.inc +require conf/machine/include/obmc-bsp-common.inc +require conf/machine/include/hxt.inc + +IMAGE_INSTALL_append = " ir38163-workaround \ + stardragon4800-rep2-console-client \ + socupdate \ +" diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb new file mode 100644 index 000000000..475ee2f9e --- /dev/null +++ b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb @@ -0,0 +1,37 @@ +SUMMARY = "HXT Rep board wiring" +DESCRIPTION = "Board wiring information for the HXT Rep system." +PR = "r1" + +inherit allarch +inherit setuptools +inherit pythonnative +inherit obmc-phosphor-license + +PROVIDES += "virtual/obmc-inventory-data" +RPROVIDES_${PN} += "virtual-obmc-inventory-data" + +DEPENDS += "python" + +S = "${WORKDIR}" +SRC_URI += "file://Stardragon4800-rep2.py" + +python() { + machine = d.getVar('MACHINE', True).capitalize() + '.py' + d.setVar('_config_in_skeleton', machine) +} + +do_make_setup() { + cp ${S}/${_config_in_skeleton} \ + ${S}/obmc_system_config.py + cat <<EOF > ${S}/setup.py +from distutils.core import setup + +setup(name='${BPN}', + version='${PR}', + py_modules=['obmc_system_config'], + ) +EOF +} + +addtask make_setup after do_patch before do_configure + diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config/Stardragon4800-rep2.py b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config/Stardragon4800-rep2.py new file mode 100644 index 000000000..01cff570b --- /dev/null +++ b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config/Stardragon4800-rep2.py @@ -0,0 +1,81 @@ +## System states +## state can change to next state in 2 ways: +## - a process emits a GotoSystemState signal with state name to goto +## - objects specified in EXIT_STATE_DEPEND have started +SYSTEM_STATES = [ + 'BASE_APPS', + 'BMC_STARTING', + 'BMC_READY', + 'HOST_POWERING_ON', + 'HOST_POWERED_ON', + 'HOST_BOOTING', + 'HOST_BOOTED', + 'HOST_POWERED_OFF', +] + +EXIT_STATE_DEPEND = { + 'BASE_APPS' : { + '/org/openbmc/sensors': 0, + }, + 'BMC_STARTING' : { + '/org/openbmc/control/power0' : 0, + '/org/openbmc/control/host0' : 0, + '/org/openbmc/control/chassis0' : 0, + }, +} + +FRU_INSTANCES = { +'<inventory_root>/system/chassis/motherboard/bmc' : { 'fru_type' : 'BMC','is_fru' : False, 'manufacturer' : 'ASPEED' }, +} +# I believe these numbers need to match the yaml file used to create the c++ ipmi map. +# the devices have types, but I don't believe that factors in here, I think these are +# just unique IDs. +ID_LOOKUP = { + 'FRU' : {}, + # The number at the end needs to match the FRU ID. + # https://github.com/openbmc/skeleton/blob/master/pysystemmgr/system_manager.py#L143 + # The paramter for it is of type 'y' (unsigned 8-bit integer) presumably decimal? + 'FRU_STR' : {}, + 'SENSOR' : {}, + 'GPIO_PRESENT' : {} +} + +GPIO_CONFIG = {} +GPIO_CONFIG['POWER_BUTTON'] = { 'gpio_pin': 'D3', 'direction': 'out' } +GPIO_CONFIG['PGOOD'] = { 'gpio_pin': 'E2', 'direction': 'in' } +GPIO_CONFIG['BMC_READY'] = { 'gpio_pin': 'Q4', 'direction': 'out' } +GPIO_CONFIG['HOST_SPI_SWITCH'] = { 'gpio_pin': 'C7', 'direction': 'out'} +GPIO_CONFIG['IMC_READY'] = { 'gpio_pin': 'O3', 'direction': 'both' } +GPIO_CONFIG['IMC_INTERRUPT'] = { 'gpio_pin': 'O4', 'direction': 'both' } +GPIO_CONFIG['RESET_BUTTON'] = { 'gpio_pin': 'G5', 'direction': 'both' } +GPIO_CONFIG['QDF_RAS_ERROR_0'] = { 'gpio_pin': 'D6', 'direction': 'in' } +GPIO_CONFIG['QDF_RAS_ERROR_1'] = { 'gpio_pin': 'D7', 'direction': 'in' } +GPIO_CONFIG['QDF_RAS_ERROR_2'] = { 'gpio_pin': 'F1', 'direction': 'in' } + +GPIO_CONFIGS = { + 'power_config' : { + 'power_good_in' : 'PGOOD', + 'power_up' : [ +#delay in ms + ('POWER_BUTTON', 'LOW_HIGH',1000), + ], + 'power_out' : [ + ('POWER_BUTTON', 'LOW_HIGH',8000), + ], + }} + 'host_config' : { + 'imc_ready' : 'IMC_READY', + 'imc_interrupt': 'IMC_INTERRUPT', + 'bmc_ready' : 'BMC_READY', + 'host_spi_switch' : 'HOST_SPI_SWITCH', + }, +} + +# Miscellaneous non-poll sensor with system specific properties. +# The sensor id is the same as those defined in ID_LOOKUP['SENSOR']. + +MISC_SENSORS = { + +} + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 |