Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 1 | SUMMARY = "Bletchley Motor control" |
| 2 | PR = "r1" |
| 3 | LICENSE = "Apache-2.0" |
| 4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" |
| 5 | |
| 6 | inherit obmc-phosphor-systemd |
| 7 | |
| 8 | RDEPENDS:${PN} += "bash" |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 9 | RDEPENDS:${PN} += "i2c-tools" |
Patrick Williams | b068a53 | 2022-01-19 10:27:13 -0600 | [diff] [blame] | 10 | RDEPENDS:${PN} += "libgpiod-tools" |
Potin Lai | dc25166 | 2022-04-01 11:16:50 +0800 | [diff] [blame] | 11 | RDEPENDS:${PN} += "mdio-util" |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 12 | |
| 13 | S = "${WORKDIR}" |
Patrick Williams | b068a53 | 2022-01-19 10:27:13 -0600 | [diff] [blame] | 14 | SRC_URI += " \ |
| 15 | file://motor-ctrl \ |
| 16 | file://motor-init \ |
| 17 | file://power-ctrl \ |
| 18 | " |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 19 | |
| 20 | do_install() { |
| 21 | install -d ${D}${sbindir} |
| 22 | install -m 0755 ${WORKDIR}/power-ctrl ${D}${sbindir} |
| 23 | |
| 24 | install -d ${D}${libexecdir} |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 25 | install -m 0755 ${WORKDIR}/motor-ctrl ${D}${libexecdir} |
Patrick Williams | b068a53 | 2022-01-19 10:27:13 -0600 | [diff] [blame] | 26 | install -m 0755 ${WORKDIR}/motor-init ${D}${libexecdir} |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 27 | } |
| 28 | |
Allen.Wang | 8941818 | 2022-01-26 10:54:09 +0800 | [diff] [blame] | 29 | TGT = "${SYSTEMD_DEFAULT_TARGET}" |
| 30 | MOTOR_INIT_INSTFMT="../motor-init-calibration@.service:${TGT}.wants/motor-init-calibration@{0}.service" |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 31 | PWR_ON_INSTFMT="host-poweron@.service:host-poweron@{0}.service" |
| 32 | PWR_OFF_INSTFMT="host-poweroff@.service:host-poweroff@{0}.service" |
Allen.Wang | 8941818 | 2022-01-26 10:54:09 +0800 | [diff] [blame] | 33 | AC_ON_INSTFMT="../host-ac-on@.service:${TGT}.wants/host-ac-on@{0}.service" |
Potin Lai | 016db31 | 2022-01-17 22:32:02 +0800 | [diff] [blame] | 34 | AC_OFF_INSTFMT="host-ac-off@.service:host-ac-off@{0}.service" |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 35 | |
Patrick Williams | b068a53 | 2022-01-19 10:27:13 -0600 | [diff] [blame] | 36 | SYSTEMD_SERVICE:${PN} += "motor-init-calibration@.service" |
| 37 | SYSTEMD_LINK:${PN} += "${@compose_list(d, 'MOTOR_INIT_INSTFMT', 'OBMC_HOST_INSTANCES')}" |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 38 | |
Patrick Williams | b068a53 | 2022-01-19 10:27:13 -0600 | [diff] [blame] | 39 | SYSTEMD_SERVICE:${PN} += "host-poweron@.service" |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 40 | SYSTEMD_LINK:${PN} += "${@compose_list(d, 'PWR_ON_INSTFMT', 'OBMC_HOST_INSTANCES')}" |
| 41 | |
Patrick Williams | b068a53 | 2022-01-19 10:27:13 -0600 | [diff] [blame] | 42 | SYSTEMD_SERVICE:${PN} += "host-poweroff@.service" |
Allen.Wang | 4a0948d | 2021-12-15 13:41:18 +0800 | [diff] [blame] | 43 | SYSTEMD_LINK:${PN} += "${@compose_list(d, 'PWR_OFF_INSTFMT', 'OBMC_HOST_INSTANCES')}" |
Potin Lai | 016db31 | 2022-01-17 22:32:02 +0800 | [diff] [blame] | 44 | |
Patrick Williams | b068a53 | 2022-01-19 10:27:13 -0600 | [diff] [blame] | 45 | SYSTEMD_SERVICE:${PN} += "host-ac-on@.service" |
| 46 | SYSTEMD_LINK:${PN} += "${@compose_list(d, 'AC_ON_INSTFMT', 'OBMC_HOST_INSTANCES')}" |
Potin Lai | 016db31 | 2022-01-17 22:32:02 +0800 | [diff] [blame] | 47 | |
Patrick Williams | b068a53 | 2022-01-19 10:27:13 -0600 | [diff] [blame] | 48 | SYSTEMD_SERVICE:${PN} += "host-ac-off@.service" |
Potin Lai | 016db31 | 2022-01-17 22:32:02 +0800 | [diff] [blame] | 49 | SYSTEMD_LINK:${PN} += "${@compose_list(d, 'AC_OFF_INSTFMT', 'OBMC_HOST_INSTANCES')}" |
Potin Lai | 807e2b2 | 2022-04-13 11:24:00 +0800 | [diff] [blame^] | 50 | |
| 51 | # Host on requires these chassis on |
| 52 | START_TMPL_CTRL = "obmc-chassis-poweron@.target" |
| 53 | START_TGTFMT_CTRL = "obmc-host-startmin@{0}.target" |
| 54 | START_INSTFMT_CTRL = "obmc-chassis-poweron@{0}.target" |
| 55 | START_FMT_CTRL = "../${START_TMPL_CTRL}:${START_TGTFMT_CTRL}.requires/${START_INSTFMT_CTRL}" |
| 56 | SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'START_FMT_CTRL', 'OBMC_HOST_INSTANCES')}" |
| 57 | |
| 58 | # Chassis off requires host off |
| 59 | STOP_TMPL_CTRL = "obmc-host-stop@.target" |
| 60 | STOP_TGTFMT_CTRL = "obmc-chassis-poweroff@{0}.target" |
| 61 | STOP_INSTFMT_CTRL = "obmc-host-stop@{0}.target" |
| 62 | STOP_FMT_CTRL = "../${STOP_TMPL_CTRL}:${STOP_TGTFMT_CTRL}.requires/${STOP_INSTFMT_CTRL}" |
| 63 | SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'STOP_FMT_CTRL', 'OBMC_HOST_INSTANCES')}" |
| 64 | |
| 65 | # Hard power off requires chassis off |
| 66 | HARD_OFF_TMPL_CTRL = "obmc-chassis-poweroff@.target" |
| 67 | HARD_OFF_TGTFMT_CTRL = "obmc-chassis-hard-poweroff@{0}.target" |
| 68 | HARD_OFF_INSTFMT_CTRL = "obmc-chassis-poweroff@{0}.target" |
| 69 | HARD_OFF_FMT_CTRL = "../${HARD_OFF_TMPL_CTRL}:${HARD_OFF_TGTFMT_CTRL}.requires/${HARD_OFF_INSTFMT_CTRL}" |
| 70 | SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HARD_OFF_FMT_CTRL', 'OBMC_HOST_INSTANCES')}" |
| 71 | |
| 72 | # Host on unit configurations |
| 73 | HOST_ON_OVERRIDE_CONF_FMT = "host-poweron.conf:host-poweron@{0}.service.d/host-poweron.conf" |
| 74 | SYSTEMD_OVERRIDE:${PN}:bletchley += "${@compose_list_zip(d, 'HOST_ON_OVERRIDE_CONF_FMT', 'OBMC_HOST_INSTANCES')}" |
| 75 | |
| 76 | # Host off unit configurations |
| 77 | HOST_OFF_OVERRIDE_CONF_FMT = "host-poweroff.conf:host-poweroff@{0}.service.d/host-poweroff.conf" |
| 78 | SYSTEMD_OVERRIDE:${PN}:bletchley += "${@compose_list_zip(d, 'HOST_OFF_OVERRIDE_CONF_FMT', 'OBMC_HOST_INSTANCES')}" |
| 79 | |