diff mbox

[1/2] devicetree: Add devicetree bindings documentation for the ADAU1977

Message ID 1391439428-3198-1-git-send-email-lars@metafoo.de
State Superseded, archived
Headers show

Commit Message

Lars-Peter Clausen Feb. 3, 2014, 2:57 p.m. UTC
The ADAU1977 is a four channel audio ADC. It can either be connected to an I2C
or a SPI bus. Both bindings are described in this document. Other than the
standard I2C and SPI bus properties a regulator for the AVDD supply needs to be
specified in the bindings. Optionally, if present in the hardware design, a
regulator for the DVDD supply and a GPIO connected to the chips reset pin can be
specified. The bindings also allow to specify the microphone bias voltage that
should be used with the hardware design.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 .../devicetree/bindings/sound/adi,adau1977.txt     | 58 ++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/adi,adau1977.txt

Comments

Geert Uytterhoeven Feb. 3, 2014, 3:15 p.m. UTC | #1
On Mon, Feb 3, 2014 at 3:57 PM, Lars-Peter Clausen <lars@metafoo.de> wrote:
> + - adi,micbias: Configures the voltage setting for the MICBIAS pin. If not
> +   specified the default value will be 8.5 Volts. This property is only valid
> +   for the ADAU1977.
> +   Valid values for this property are:
> +       0: 5.0V
> +       1: 5.5V
> +       2: 6.0V
> +       3: 6.5V
> +       4: 7.0V
> +       5: 7.5V
> +       6: 8.0V
> +       7: 8.5V
> +       8: 9.0V

This means the casual DTS reader need to know about the meaning of
the values. You can avoid that by:
  1. Using preprocessor defines. Drawback is that you have to add an
     include file.
  2. Using mV, and specify minimum, maximum, and incrementals in the
     bindings, cfr.
Documentation/devicetree/bindings/power_supply/ti,bq24735.txt
     Drawback is that the user can easily specify invalid values.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lars-Peter Clausen Feb. 4, 2014, 11:48 a.m. UTC | #2
On 02/03/2014 04:15 PM, Geert Uytterhoeven wrote:
> On Mon, Feb 3, 2014 at 3:57 PM, Lars-Peter Clausen <lars@metafoo.de> wrote:
>> + - adi,micbias: Configures the voltage setting for the MICBIAS pin. If not
>> +   specified the default value will be 8.5 Volts. This property is only valid
>> +   for the ADAU1977.
>> +   Valid values for this property are:
>> +       0: 5.0V
>> +       1: 5.5V
>> +       2: 6.0V
>> +       3: 6.5V
>> +       4: 7.0V
>> +       5: 7.5V
>> +       6: 8.0V
>> +       7: 8.5V
>> +       8: 9.0V
>
> This means the casual DTS reader need to know about the meaning of
> the values. You can avoid that by:
>    1. Using preprocessor defines. Drawback is that you have to add an
>       include file.
>    2. Using mV, and specify minimum, maximum, and incrementals in the
>       bindings, cfr.
> Documentation/devicetree/bindings/power_supply/ti,bq24735.txt
>       Drawback is that the user can easily specify invalid values.


Is there a preference for either of them?

Thanks,
- Lars

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/sound/adi,adau1977.txt b/Documentation/devicetree/bindings/sound/adi,adau1977.txt
new file mode 100644
index 0000000..3cf03d8
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/adi,adau1977.txt
@@ -0,0 +1,58 @@ 
+Analog Devices ADAU1977, ADAU1978, ADAU1979 devicetree bindings
+
+The ADAU1977 is a four channel audio ADC. It can either be connected to an I2C
+or a SPI bus. Both bindings are described in this document. Depending on the bus
+type different properties must/can be specified.
+
+Shared required properties:
+ - compatible: Must be "adi,adau1977", "adi,adau1978" or adi,adau1979"
+ - AVDD-supply: A handle to the power supply connected to the AVDD pin
+
+Shared optional properties:
+ - DVDD-supply: A handle to the power supply connected to the DVDD pin. If
+   specified the internal LDO will be disabled.
+ - reset-gpios: GPIO chip handle and specifier that define which GPIO is
+   connected to the chips PD/RST pin. If not specified the reset pin is assumed
+   to be hardwired to VCC.
+ - adi,micbias: Configures the voltage setting for the MICBIAS pin. If not
+   specified the default value will be 8.5 Volts. This property is only valid
+   for the ADAU1977.
+   Valid values for this property are:
+	0: 5.0V
+	1: 5.5V
+	2: 6.0V
+	3: 6.5V
+	4: 7.0V
+	5: 7.5V
+	6: 8.0V
+	7: 8.5V
+	8: 9.0V
+
+I2C required properties:
+ - reg: The I2C address of the chip
+
+SPI required properties:
+ - reg: The SPI chipselect signal of the SPI master associated with this chip
+ - spi-max-frequency: Maximum spi frequency to use.
+
+Examples:
+
+&i2c_bus {
+	adau1977: codec@11 {
+		compatible = "adi,adau1977";
+		reg = <0x11>;
+		reset-gpios = <&gpio 5 0>;
+		AVDD-supply = <&codec_avdd_supply>;
+		DVDD-supply = <&codec_dvdd_supply>;
+	};
+};
+
+&spi_bus {
+	adau1977: codec@1 {
+		compatible = "adi,adau1977";
+		reg = <0x1>;
+		spi-max-frequency = <10000000>;
+		AVDD-supply = <&codec_avdd_supply>;
+		adi,micbias = <5>;
+	};
+};