On Mon, May 23, 2016 at 04:13:57PM -0700, Nicolin Chen wrote: > CS53L30 is a Quad-Channel ADC from Cirrus Logic with an I2S/TDM DAI. > So this patch adds support for CS53L30 that supports 24-bit recording > feature. > > Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> > --- > Changelog: > v5->v6 > * Added clock controls > * Reconstructed bitfield macros and improved coding style > * Fixed some misuses of regmap_update_bits() > * Added TLV volume controls to replace enums for preamplifier > * Added micbias level in DT instead of exposing to user-space > * Simplified SDOUTx controls by removing cs53l30_asp_sdout_event() > (Still be able to use set_tristate() instead) > * Removed useless header files and sort the rest alphabetically > * Registered runtime pm functions to the driver > * Added regulator controls (VA and VP) > * Added writeable register function for regmap > * Merged two ASP dais > * Added TDM support > * Added a simple introduction in commit log > > .../devicetree/bindings/sound/cs53l30.txt | 38 + > sound/soc/codecs/Kconfig | 6 + > sound/soc/codecs/Makefile | 2 + > sound/soc/codecs/cs53l30.c | 1097 ++++++++++++++++++++ > sound/soc/codecs/cs53l30.h | 458 ++++++++ > 5 files changed, 1601 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/cs53l30.txt > create mode 100644 sound/soc/codecs/cs53l30.c > create mode 100644 sound/soc/codecs/cs53l30.h > > diff --git a/Documentation/devicetree/bindings/sound/cs53l30.txt b/Documentation/devicetree/bindings/sound/cs53l30.txt > new file mode 100644 > index 0000000..ace7ffe > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/cs53l30.txt > @@ -0,0 +1,38 @@ > +CS53L30 audio CODEC > + > +Required properties: > + > + - compatible : "cirrus,cs53l30" > + > + - reg : the I2C address of the device > + > + - VA-supply, VP-supply : power supplies for the device, > + as covered in Documentation/devicetree/bindings/regulator/regulator.txt. Also, these are missing from the example yet are required. I'd argue they should be optional as you could have designs with no regulator control. > + > +Optional properties: > + > + - reset-gpios : a GPIO spec for the reset pin. > + > + - micbias-lvl : Set the output voltage level on the MICBIAS Pin. > + 0 = Hi-Z > + 1 = 1.80 V > + 2 = 2.75 V > + > + - use-sdout2 : This is a boolean property. If present, it indicates > + the hardware design connects both SDOUT1 and SDOUT2 > + pins to output data. Otherwise, it indicates that > + only SDOUT1 is connected for data output. > + * CS53l30 supports 4-channel data output in the same > + * frame using two different ways: > + * 1) Normal I2S mode on two data pins -- each SDOUT > + * carries 2-channel data in the same time. > + * 2) TDM mode on one signle data pin -- SDOUT1 carries > + * 4-channel data per frame. > + > +Example: > + > +codec: cs53l30@48 { > + compatible = "cirrus,cs53l30"; > + reg = <0x48>; > + reset-gpios = <&gpio 54 0>; > +}; -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html