diff options
Diffstat (limited to 'meta-ampere/meta-common')
3 files changed, 58 insertions, 0 deletions
diff --git a/meta-ampere/meta-common/recipes-ampere/platform/ampere-driver-binder.bb b/meta-ampere/meta-common/recipes-ampere/platform/ampere-driver-binder.bb new file mode 100644 index 0000000000..498ed50ba6 --- /dev/null +++ b/meta-ampere/meta-common/recipes-ampere/platform/ampere-driver-binder.bb @@ -0,0 +1,35 @@ +SUMMARY = "Ampere Driver Binder Implementation" +DESCRIPTION = "The driver binder for Ampere Computing LLC's systems" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit systemd +inherit obmc-phosphor-systemd + +RDEPENDS:${PN} = "bash" +S = "${WORKDIR}" + +SRC_URI = " \ + file://ampere-power-on-driver-binder@.service \ + file://ampere-host-on-driver-binder@.service \ + " + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = " \ + ampere-power-on-driver-binder@.service \ + ampere-host-on-driver-binder@.service \ + " +# bind driver after the power is on +POWER_ON_DRIVER_BINDER_TGT = "ampere-power-on-driver-binder@.service" +POWER_ON_DRIVER_BINDER_INSTMPL = "ampere-power-on-driver-binder@{0}.service" +AMPER_POWER_ON = "obmc-power-already-on@{0}.target" +POWER_ON_DRIVER_BINDER_TARGET_FMT = "../${POWER_ON_DRIVER_BINDER_TGT}:${AMPER_POWER_ON}.wants/${POWER_ON_DRIVER_BINDER_INSTMPL}" +SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'POWER_ON_DRIVER_BINDER_TARGET_FMT', 'OBMC_HOST_INSTANCES')}" + +# bind driver after the host is on +HOST_ON_DRIVER_BINDER_TGT = "ampere-host-on-driver-binder@.service" +HOST_ON_DRIVER_BINDER_INSTMPL = "ampere-host-on-driver-binder@{0}.service" +AMPER_HOST_RUNNING = "obmc-host-already-on@{0}.target" +HOST_ON_DRIVER_BINDER_TARGET_FMT = "../${HOST_ON_DRIVER_BINDER_TGT}:${AMPER_HOST_RUNNING}.wants/${HOST_ON_DRIVER_BINDER_INSTMPL}" +SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HOST_ON_DRIVER_BINDER_TARGET_FMT', 'OBMC_HOST_INSTANCES')}" diff --git a/meta-ampere/meta-common/recipes-ampere/platform/ampere-driver-binder/ampere-host-on-driver-binder@.service b/meta-ampere/meta-common/recipes-ampere/platform/ampere-driver-binder/ampere-host-on-driver-binder@.service new file mode 100644 index 0000000000..f2a83d4f6b --- /dev/null +++ b/meta-ampere/meta-common/recipes-ampere/platform/ampere-driver-binder/ampere-host-on-driver-binder@.service @@ -0,0 +1,13 @@ +[Unit] +Description=Ampere host on driver binder %i +After=obmc-host-already-on@%i.target +BindTo=obmc-host-already-on@%i.target + +[Service] +Type=oneshot +ExecStart=/bin/sh -c "if command -v ampere_host_on_driver_binder.sh; then echo 'Try to bind driver after host on if does not' && ampere_host_on_driver_binder.sh; fi && exit 0;" +SyslogIdentifier=host_on_binder +RemainAfterExit=no + +[Install] +WantedBy=obmc-host-already-on@%i.target diff --git a/meta-ampere/meta-common/recipes-ampere/platform/ampere-driver-binder/ampere-power-on-driver-binder@.service b/meta-ampere/meta-common/recipes-ampere/platform/ampere-driver-binder/ampere-power-on-driver-binder@.service new file mode 100644 index 0000000000..01a380bd7b --- /dev/null +++ b/meta-ampere/meta-common/recipes-ampere/platform/ampere-driver-binder/ampere-power-on-driver-binder@.service @@ -0,0 +1,10 @@ +[Unit] +Description=Ampere power on driver binder %i +After=obmc-power-already-on@%i.target +BindTo=obmc-power-already-on@%i.target + +[Service] +Type=oneshot +ExecStart=/bin/sh -c "if command -v ampere_power_on_driver_binder.sh; then echo 'Try to bind driver after power on if does not' && ampere_power_on_driver_binder.sh; fi && exit 0;" +SyslogIdentifier=power_on_binder +RemainAfterExit=no
\ No newline at end of file |