blob: faa72fcf9be1d6d4724ee943ce6694b9bbd5d7fa [file]
// 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: "focaltech",
composite_name: "focaltech_touch",
include: [
"driver/platform-device.shard.cml",
"driver_component/driver.shard.cml",
],
program: {
binary: "driver/focaltech-sherlock-cpp.so",
default_dispatcher_opts: [ "allow_sync_calls" ],
default_dispatcher_scheduler_role: "fuchsia.ui.input.drivers.focaltech.device",
},
capabilities: [
{ service: "fuchsia.input.report.Service" },
],
use: [
{
name: "gpio-int",
service: "fuchsia.hardware.gpio.Service",
bind: {
rules: { "fuchsia.NAME": "gpio-int" },
},
},
{
name: "i2c",
service: "fuchsia.hardware.i2c.Service",
primary: true,
bind: { service: "fuchsia.hardware.i2c.Service" },
},
{
name: "gpio-reset",
service: "fuchsia.hardware.gpio.Service",
bind: {
rules: { "fuchsia.NAME": "gpio-reset" },
},
},
{
name: "pdev",
bind: {
one_of: [
{
vid: "fuchsia.platform.BIND_PLATFORM_DEV_VID.GENERIC",
protocol: "fuchsia.platform.BIND_PROTOCOL.DEVICE",
pid: "fuchsia.platform.BIND_PLATFORM_DEV_PID.GENERIC",
did: "fuchsia.platform.BIND_PLATFORM_DEV_DID.FOCALTOUCH",
rules: { "fuchsia.BIND_PLATFORM_DEV_INSTANCE_ID": 0 },
},
{
vid: "fuchsia.platform.BIND_PLATFORM_DEV_VID.GENERIC",
compat: "focaltech,ft3x27",
},
{
vid: "fuchsia.platform.BIND_PLATFORM_DEV_VID.GENERIC",
compat: "focaltech,ft6336",
},
{
vid: "fuchsia.platform.BIND_PLATFORM_DEV_VID.GENERIC",
compat: "focaltech,ft5726",
},
{
vid: "fuchsia.platform.BIND_PLATFORM_DEV_VID.GENERIC",
compat: "focaltech,ft5336",
},
],
},
},
{
name: "gpio-init-0",
service: "fuchsia.gpio.Init",
availability: "optional",
},
{
name: "pin-states-0",
service: "fuchsia.hardware.pin.PinStatesService",
availability: "optional",
},
],
expose: [
{
service: "fuchsia.input.report.Service",
from: "self",
},
],
}