From 2cac70e099383eb7b356d076bdeac74898ba34d1 Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Tue, 14 May 2019 06:53:45 -0500 Subject: [PATCH] dts: bindings: usb: Add enum to maximum-speed property Add enum to list what values of maximum-speed are exceptable since enum's get represented as strings in DT. This also allows us to generate a code enum to correspond to the string. We also introduce include/dt-bindings/usb/usb.h which is a hand coded definition of the enum. We don't have a great way to generate this right now, however it would be better if we did. Signed-off-by: Kumar Gala --- dts/bindings/usb/usb.yaml | 5 +++++ include/dt-bindings/usb/usb.h | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 include/dt-bindings/usb/usb.h diff --git a/dts/bindings/usb/usb.yaml b/dts/bindings/usb/usb.yaml index 77fb17be488..292eab20406 100644 --- a/dts/bindings/usb/usb.yaml +++ b/dts/bindings/usb/usb.yaml @@ -26,6 +26,11 @@ properties: via DT, USB controllers should use their maximum hardware capability. generation: define + enum: + - "low-speed" + - "full-speed" + - "high-speed" + - "super-speed" label: type: string diff --git a/include/dt-bindings/usb/usb.h b/include/dt-bindings/usb/usb.h new file mode 100644 index 00000000000..e64f28f8760 --- /dev/null +++ b/include/dt-bindings/usb/usb.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2019 Linaro Limited + * + * SPDX-License-Identifier: Apache-2.0 + */ +#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_USB_USB_H_ +#define ZEPHYR_INCLUDE_DT_BINDINGS_USB_USB_H_ + +/* Ideally we'd generate this enum to match what's coming out of the YAML, + * however, we dont have a good way to know how to name such an enum from + * the generation point of view, so for now we just hand code the enum. This + * enum is expected to match the order in the yaml (dts/bindings/usb/usb.yaml) + */ + +enum dt_usb_maximum_speed { + DT_USB_MAXIMUM_SPEED_LOW_SPEED, + DT_USB_MAXIMUM_SPEED_FULL_SPEED, + DT_USB_MAXIMUM_SPEED_HIGH_SPEED, + DT_USB_MAXIMUM_SPEED_SUPER_SPEED, +}; + +#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_USB_USB_H_ */