blob: 1be202606ca8802532a6949e26a251bd8f08345e [file] [log] [blame] [edit]
// 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 display;
using fuchsia.hardware.amlogiccanvas;
using fuchsia.hardware.dsi;
using fuchsia.hardware.hdmi;
using fuchsia.hardware.gpio;
using fuchsia.platform;
using fuchsia.sysmem;
using fuchsia.amlogic.platform;
// TODO(fxbug.dev/125227): `dsi` must be the primary node.
//
// amlogic-display driver needs to create a DsiImpl banjo client, but there's
// no fragment proxy support for the DsiImpl protocol.
//
// As a result, the driver implementing DsiImpl protocol has to be a "primary"
// ancestor of amlogic-display and they must be colocated in the same devhost.
primary node "dsi" {
fuchsia.BIND_PROTOCOL == fuchsia.hardware.dsi.BIND_PROTOCOL.IMPL;
}
node "pdev" {
fuchsia.BIND_PROTOCOL == fuchsia.platform.BIND_PROTOCOL.DEVICE;
fuchsia.BIND_PLATFORM_DEV_VID == fuchsia.amlogic.platform.BIND_PLATFORM_DEV_VID.AMLOGIC;
fuchsia.BIND_PLATFORM_DEV_DID == fuchsia.amlogic.platform.BIND_PLATFORM_DEV_DID.DISPLAY;
accept fuchsia.BIND_PLATFORM_DEV_PID {
fuchsia.amlogic.platform.BIND_PLATFORM_DEV_PID.A311D,
fuchsia.amlogic.platform.BIND_PLATFORM_DEV_PID.S905D2,
fuchsia.amlogic.platform.BIND_PLATFORM_DEV_PID.S905D3,
}
}
node "gpio-lcd-reset" {
fuchsia.BIND_FIDL_PROTOCOL == fuchsia.hardware.gpio.BIND_FIDL_PROTOCOL.SERVICE;
fuchsia.hardware.gpio.FUNCTION == fuchsia.hardware.gpio.FUNCTION.LCD_RESET;
}
optional node "gpio-hdmi-hotplug-detect" {
fuchsia.BIND_FIDL_PROTOCOL == fuchsia.hardware.gpio.BIND_FIDL_PROTOCOL.SERVICE;
fuchsia.hardware.gpio.FUNCTION == fuchsia.hardware.gpio.FUNCTION.HDMI_HOTPLUG_DETECT;
}
node "sysmem" {
fuchsia.BIND_FIDL_PROTOCOL == fuchsia.sysmem.BIND_FIDL_PROTOCOL.DEVICE;
}
node "canvas" {
fuchsia.hardware.amlogiccanvas.Service == fuchsia.hardware.amlogiccanvas.Service.ZirconTransport;
}
optional node "hdmi" {
fuchsia.BIND_FIDL_PROTOCOL == fuchsia.hardware.hdmi.BIND_FIDL_PROTOCOL.SERVICE;
}