| // Copyright 2024 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. |
| library fuchsia.hardware.pwm; |
| |
| type PwmChannelInfo = table { |
| /// Unique id of PWM channel. |
| 1: id uint32; |
| |
| /// If true, the PWM channel will NOT be initialized. This is for use in situations where a |
| /// bootloader configuration must be preserved or the PWM channel may be under control of higher |
| /// exception level. (for a dvfs rail for example) |
| 2: skip_init bool; |
| |
| /// If true, the polarity will be inverted. |
| 3: polarity bool; |
| |
| /// PWM period in nanoseconds. |
| 4: period_ns uint32; |
| }; |
| |
| /// Metadata to configure PWM channels. Passed under DEVICE_METADATA_PWM_CHANNELS. |
| type PwmChannelsMetadata = table { |
| 1: channels vector<PwmChannelInfo>:MAX; |
| }; |