Add new property: cirrus,subsystem-id
This new property is used to uniquely identify the system if device
tree is used, to allow the driver to select the correct firmware and
tuning for the system.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
---
Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml b/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml
index 14dea1feefc5..a9eb9bd7ad9c 100644
--- a/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml
+++ b/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml
@@ -151,6 +151,12 @@ properties:
minimum: 0
maximum: 5
+ cirrus,subsystem-id:
+ description:
+ Subsystem ID. If this property is present, it sets the system name,
+ used to identify the firmware and tuning to load.
+ type: string
+
required:
- compatible
- reg
--
2.43.0
On Fri, Sep 12, 2025 at 11:45:37AM +0100, Stefan Binding wrote: > Add new property: cirrus,subsystem-id > This new property is used to uniquely identify the system if device > tree is used, to allow the driver to select the correct firmware and > tuning for the system. > > Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> > --- > Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml b/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml > index 14dea1feefc5..a9eb9bd7ad9c 100644 > --- a/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml > +++ b/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml > @@ -151,6 +151,12 @@ properties: > minimum: 0 > maximum: 5 > > + cirrus,subsystem-id: > + description: > + Subsystem ID. If this property is present, it sets the system name, > + used to identify the firmware and tuning to load. > + type: string Why not use standard 'firmware-name' to just say exactly what firmware to load? Rob
On 12/09/2025 22:41, Rob Herring wrote: > On Fri, Sep 12, 2025 at 11:45:37AM +0100, Stefan Binding wrote: >> Add new property: cirrus,subsystem-id >> This new property is used to uniquely identify the system if device >> tree is used, to allow the driver to select the correct firmware and >> tuning for the system. >> >> Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> >> --- >> Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml b/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml >> index 14dea1feefc5..a9eb9bd7ad9c 100644 >> --- a/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml >> +++ b/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml >> @@ -151,6 +151,12 @@ properties: >> minimum: 0 >> maximum: 5 >> >> + cirrus,subsystem-id: >> + description: >> + Subsystem ID. If this property is present, it sets the system name, >> + used to identify the firmware and tuning to load. >> + type: string > Why not use standard 'firmware-name' to just say exactly what firmware > to load? The DSP driver searches for a compatible firmware (and tuning) based on what it is able to read from the hardware. However, the SSID is based on the system, and cannot be read from the hardware, therefore it needs to be read from the Device Tree. On ACPI-based systems, it is able to read this from the ACPI _SUB property, and to maintain compatibility with the driver between ACPI and Device Tree systems we need an equivalent property. In addition, the driver actually loads 2 files, firmware and tuning, and the SSID is used to determine the file name of both files. Thanks, Stefan > > Rob
On Fri, 12 Sep 2025 11:45:37 +0100, Stefan Binding wrote: > Add new property: cirrus,subsystem-id > This new property is used to uniquely identify the system if device > tree is used, to allow the driver to select the correct firmware and > tuning for the system. > > Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com> > --- > Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml: cirrus,subsystem-id: missing type definition /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml: properties:cirrus,subsystem-id:type: 'string' is not one of ['boolean', 'object'] from schema $id: http://devicetree.org/meta-schemas/core.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml: properties:cirrus,subsystem-id:type: 'boolean' was expected hint: A vendor boolean property can use "type: boolean" from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250912104612.361125-2-sbinding@opensource.cirrus.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
© 2016 - 2025 Red Hat, Inc.