blob: c0771318d2ec264975a36749cae037cd3cc7c3f1 [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
composite aml_power_impl;
using fuchsia.amlogic.platform;
using fuchsia.amlogic.platform.a311d;
using fuchsia.google.platform;
using fuchsia.hardware.vreg;
using fuchsia.hardware.pwm;
using fuchsia.regulator;
primary node "pdev" {
fuchsia.BIND_PLATFORM_DEV_DID == fuchsia.amlogic.platform.BIND_PLATFORM_DEV_DID.POWER;
if fuchsia.BIND_PLATFORM_DEV_VID == fuchsia.google.platform.BIND_PLATFORM_DEV_VID.GOOGLE {
fuchsia.BIND_PLATFORM_DEV_PID == fuchsia.google.platform.BIND_PLATFORM_DEV_PID.ASTRO;
} else if fuchsia.BIND_PLATFORM_DEV_VID == fuchsia.amlogic.platform.BIND_PLATFORM_DEV_VID.AMLOGIC {
accept fuchsia.BIND_PLATFORM_DEV_PID {
fuchsia.amlogic.platform.BIND_PLATFORM_DEV_PID.A311D,
fuchsia.amlogic.platform.BIND_PLATFORM_DEV_PID.A5,
}
} else {
false;
}
}
optional node "pwm-little" {
fuchsia.hardware.pwm.Service == fuchsia.hardware.pwm.Service.ZirconTransport;
fuchsia.amlogic.platform.PWM_ID == fuchsia.amlogic.platform.PWM_ID.AO_D;
}
optional node "pwm-big" {
fuchsia.hardware.pwm.Service == fuchsia.hardware.pwm.Service.ZirconTransport;
fuchsia.amlogic.platform.PWM_ID == fuchsia.amlogic.platform.PWM_ID.A;
}
optional node "vreg-pwm-little" {
fuchsia.hardware.vreg.Service == fuchsia.hardware.vreg.Service.ZirconTransport;
fuchsia.regulator.NAME == fuchsia.amlogic.platform.a311d.NAME.PWM_VREG_LITTLE;
}
optional node "vreg-pwm-big" {
fuchsia.hardware.vreg.Service == fuchsia.hardware.vreg.Service.ZirconTransport;
fuchsia.regulator.NAME == fuchsia.amlogic.platform.a311d.NAME.PWM_VREG_BIG;
}