| // Copyright 2026 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. | |
| { | |
| name: "amlogic_video_bind", | |
| composite_name: "aml_video", | |
| include: [ | |
| "//sdk/lib/driver/compat/compat.shard.cml", | |
| "driver/platform-device.shard.cml", | |
| ], | |
| program: { | |
| compat: "driver/amlogic_video_decoder.so", | |
| default_dispatcher_opts: [ "allow_sync_calls" ], | |
| allowed_scheduler_roles: [ | |
| "fuchsia.media.drivers.amlogic-decoder.fidl", | |
| "fuchsia.media.drivers.amlogic-decoder.parser-irq", | |
| "fuchsia.media.drivers.amlogic-decoder.vdec-irq", | |
| "fuchsia.media.drivers.amlogic-decoder.h264-core", | |
| "fuchsia.media.drivers.amlogic-decoder.h264-stream-control", | |
| "fuchsia.media.drivers.amlogic-decoder.vp9-input-processing", | |
| "fuchsia.media.drivers.amlogic-decoder.vp9-stream-control", | |
| ], | |
| }, | |
| use: [ | |
| { | |
| name: "pdev", | |
| primary: true, | |
| bind: { | |
| one_of: [ | |
| { | |
| vid: "fuchsia.platform.BIND_PLATFORM_DEV_VID.GENERIC", | |
| did: "fuchsia.platform.BIND_PLATFORM_DEV_DID.DEVICETREE", | |
| compat: [ | |
| "amlogic,g12a-vdec", | |
| "amlogic,g12b-vdec", | |
| ], | |
| }, | |
| { | |
| protocol: "fuchsia.platform.BIND_PROTOCOL.DEVICE", | |
| vid: "fuchsia.amlogic.platform.BIND_PLATFORM_DEV_VID.AMLOGIC", | |
| did: "fuchsia.amlogic.platform.BIND_PLATFORM_DEV_DID.VIDEO", | |
| 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", | |
| "fuchsia.amlogic.platform.BIND_PLATFORM_DEV_PID.T931", | |
| ], | |
| }, | |
| ], | |
| }, | |
| }, | |
| { protocol: "fuchsia.scheduler.RoleManager" }, | |
| { protocol: "fuchsia.sysmem2.Allocator" }, | |
| { | |
| name: "canvas", | |
| service: "fuchsia.hardware.amlogiccanvas.Service", | |
| }, | |
| { | |
| name: "tee", | |
| service: "fuchsia.hardware.tee.Service", | |
| availability: "optional", | |
| }, | |
| { | |
| name: "clock-dos-vdec", | |
| service: "fuchsia.hardware.clock.Service", | |
| bind: { | |
| rules: { "fuchsia.NAME": "clock-dos-vdec" }, | |
| }, | |
| }, | |
| { | |
| name: "clock-dos", | |
| service: "fuchsia.hardware.clock.Service", | |
| bind: { | |
| rules: { "fuchsia.NAME": "clock-dos" }, | |
| }, | |
| }, | |
| ], | |
| } |