[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dfd02af2-0a7b-2fc2-a0a0-160b690ac2cb@linaro.org>
Date: Tue, 20 Dec 2022 17:04:11 +0100
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Kevin Lu <luminlong@....com>, lgirdwood@...il.com,
broonie@...nel.org, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org
Cc: alsa-devel@...a-project.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, shenghao-ding@...com,
kevin-lu@...com, navada@...com, peeyush@...com
Subject: Re: [PATCH] New yaml file: tas2781
On 20/12/2022 15:41, Kevin Lu wrote:
> Add DTS discription for tas2781 driver code
1. Use subject prefixes matching the subsystem (git log --oneline -- ...).
2. Anyway that's not correct subject. Look at existing commits.
3. Run spell check.
4. Missing full stop.
>
> Signed-off-by: Kevin Lu <luminlong@....com>
> ---
> .../devicetree/bindings/sound/tas2781.yaml | 90 +++++++++++++++++++
> 1 file changed, 90 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/sound/tas2781.yaml
Filename with vendor prefix, just like compatible.
>
> diff --git a/Documentation/devicetree/bindings/sound/tas2781.yaml b/Documentation/devicetree/bindings/sound/tas2781.yaml
> new file mode 100644
> index 000000000..96fa45bf6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/tas2781.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright (C) 2022 Texas Instruments Incorporated
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/sound/tas2781.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
Drop quotes from both.
> +
> +title: Texas Instruments TAS2781 Smart PA
> +
> +maintainers:
> + - Shenghao Ding <shenghao-ding@...com>
> + - Kevin Lu <kevin-lu@...com>
> +
> +description: |
> + The TAS2781 is a mono, digital input Class-D audio amplifier
> + optimized for efficiently driving high peak power into small
> + loudspeakers. Integrated an on-chip DSP supports Texas Instruments
> + Smart Amp speaker protection algorithm. The integrated speaker
> + voltage and current sense provides for real time
> + monitoring of loudspeaker behavior.
> +
> +properties:
> + compatible:
> + enum:
> + - ti,tas2781
> + - ti,audev
That's not a correct (real) compatible. Drop.
> + description: |
> + ti,audev will disable the irq of tas2781.
Drop description.
Missing blank line.
> + reg:
> + maxItems: 1
> + description: |
> + I2C address of the device can be between 0x38 to 0x40.
> +
> + reset-gpioN:
Nope, use existing property. See gpio-consumer-common
> + maxItems: 4
> + description: GPIO used to reset the device.
This does not work like that. You did not even test it, right?
> +
> + ti,topleft-channel:
> + maxItems: 1
> + description: I2C Address for each specific device.
No clue what's this. You need to explain in details in description.
> +
> + ti,topright-channel:
> + maxItems: 1
Ditto and in all other places.
> +
> + ti,bottomleft-channel:
> + maxItems: 1
> +
> + ti,bottomright-channel:
> + maxItems: 1
> +
> + ti,global-address:
> + maxItems: 1
> + description: This item is not mandatory. if the device support gloabel mode, this item should be active.
I have no clue what is gloabel mode but the field looks incorrect. Drop
or properly describe.
Also wrong line wrapping.
> +
> + ti,irq-gpio:
> + maxItems: 1
> + description: GPIO used to interrupt the device.
No. Use interrupts.
> +
> + '#sound-dai-cells':
> + const: 1
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + i2c0 {
i2c
> + #address-cells = <1>;
> + #size-cells = <0>;
> + codec: codec@38 {
> + compatible = "ti,tas2781";
> + reg = <0x38>;
> + #sound-dai-cells = <1>;
> + ti,topleft-channel = <0x38>;
> + ti,topright-channel = <0x39>;
> + ti,bottomright-channel = <0x3a>;
> + ti,bottomright-channel = <0x3b>;
> + ti,global-address = <0x40>;
> + ti,reset-gpio0 = <&gpio1 10 GPIO_ACTIVE_HIGH>;
> + ti,reset-gpio1 = <&gpio1 11 GPIO_ACTIVE_HIGH>;
> + ti,reset-gpio2 = <&gpio1 12 GPIO_ACTIVE_HIGH>;
> + ti,reset-gpio3 = <&gpio1 13 GPIO_ACTIVE_HIGH>;
Does not look like you tested the bindings. Please run `make
dt_binding_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
Best regards,
Krzysztof
Powered by blists - more mailing lists