summaryrefslogtreecommitdiff
path: root/meta-ampere/meta-jade/recipes-phosphor/gpio/ampere-gpio-handling.bb
blob: 2889517c43a550072c638d65174d54463c93a4ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
SUMMARY = "Ampere Computing LLC Host Gpio Handling"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"

inherit obmc-phosphor-systemd

DEPENDS += "virtual/obmc-gpio-monitor"
RDEPENDS:${PN} += "virtual/obmc-gpio-monitor"
RDEPENDS:${PN} += "bash"

SRC_URI += " \
            file://toggle_fault_led.sh \
            file://ampere_psu_reset_hotswap.sh \
            file://toggle_identify_led.sh \
            file://ampere_scp_failover.sh \
           "

AMPERE_MONITOR_INSTANCES = " \
                            reboot_ack shutdown_ack id_button S0_scp_auth_failure \
                            S0_overtemp S0_hightemp_start S0_hightemp_stop \
                            S1_overtemp S1_hightemp_start S1_hightemp_stop \
                            S0_fault_alert_start S0_fault_alert_stop \
                            S1_fault_alert_start S1_fault_alert_stop \
                            PSU1_VIN_GOOD PSU2_VIN_GOOD \
                           "

SYSTEMD_ENVIRONMENT_FILE:${PN} +=" \
                                  obmc/gpio/reboot_ack \
                                  obmc/gpio/shutdown_ack \
                                  obmc/gpio/S0_scp_auth_failure \
                                  obmc/gpio/S0_overtemp \
                                  obmc/gpio/S0_hightemp_start \
                                  obmc/gpio/S0_hightemp_stop \
                                  obmc/gpio/S1_overtemp \
                                  obmc/gpio/S1_hightemp_start \
                                  obmc/gpio/S1_hightemp_stop \
                                  obmc/gpio/S0_fault_alert_start \
                                  obmc/gpio/S0_fault_alert_stop \
                                  obmc/gpio/S1_fault_alert_start \
                                  obmc/gpio/S1_fault_alert_stop \
                                  obmc/gpio/PSU1_VIN_GOOD \
                                  obmc/gpio/PSU2_VIN_GOOD \
                                 "

TMPL = "phosphor-gpio-monitor@.service"
INSTFMT = "phosphor-gpio-monitor@{0}.service"
TGT = "multi-user.target"
FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}"

SYSTEMD_SERVICE:${PN} += " \
                          ampere-host-shutdown-ack@.service \
                          ampere_overtemp@.service \
                          ampere_hightemp_start@.service \
                          ampere_hightemp_stop@.service \
                          ampere_fault_led_start@.service \
                          ampere_fault_led_stop@.service \
                          psu_hotswap_reset@.service \
                          ampere_scp_failover.service \
                         "
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'AMPERE_MONITOR_INSTANCES')}"

do_install() {
    install -d ${D}${sbindir}
    install -m 0755 ${WORKDIR}/toggle_fault_led.sh ${D}${sbindir}/
    install -m 0755 ${WORKDIR}/toggle_identify_led.sh ${D}${sbindir}/
    install -m 0755 ${WORKDIR}/ampere_psu_reset_hotswap.sh ${D}${sbindir}/
    install -m 0755 ${WORKDIR}/ampere_scp_failover.sh ${D}${sbindir}/
}