[alsa-devel] [PATCH 2/2] ASoC: cs35l36: Add device tree documentation for CS35L36

Charles Keepax ckeepax at opensource.cirrus.com
Wed Nov 14 10:31:11 CET 2018


On Tue, Nov 13, 2018 at 12:49:17PM -0600, James Schulman wrote:
> Add device tree documentation for Cirrus Logic CS35L36
> speaker amplifier
> 
> Signed-off-by: James Schulman <james.schulman at cirrus.com>
> ---
> +Optional properties:
> +  - cirrus,sclk-force-output : Audio serial port SCLK force
> +  output control. Forces the SCLK to continue to drive even
> +  if no ASP_TXn channels are enabled.
> +
> +  - cirrus,lrclk-force-output : Audio serial port LRCLK force
> +  output control. Forces the LRCLK to continue to drive even
> +  if no ASP_TXn channels are enabled.
> +

Would it be best to use SND_SOC_DAIFMT_CONT/GATED for these?
Unless I have misunderstood their purpose, although presently that
doesn't give you individual control over sclk and lrclk.

> +Example:
> +
> +cs35l36: cs35l36 at 40 {
> +	compatible = "cirrus,cs35l36";
> +	reg = <0x40>;
> +	VA-supply = <&dummy_vreg>;
> +	VP-supply = <&dummy_vreg>;
> +	reset-gpios = <&gpio0 54 0>;
> +	interrupt-parent = <&gpio8>;
> +	interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
> +
> +	cirrus,boost-ind-nanohenry = <1000>;
> +	cirrus,boost-ctl-millivolt = <10000>;
> +	cirrus,boost-ctl-select = <0x00>;
> +	cirrus,boost-peak-milliamp = <4500>;
> +	cirrus,amp-gain-zc;
> +	cirrus,ldm-mode-select = <0x01>;
> +	cirrus,pdm-ldm-exit;
> +	cirrus,pdm-ldm-enter;
> +	cirrus,weak-fet-delay = <0x04>;
> +	cirrus,weak-fet-thld = <0x01>;
> +	cirrus,temp-warn-threshold = <0x01>;
> +	cirrus,multi-amp-mode;
> +
> +	cirrus,vpbr-config {
> +		cirrus,vpbr-en = <0x00>;
> +		cirrus,vpbr-thld = <0x05>;
> +		cirrus,vpbr-atk-rate = <0x02>;
> +		cirrus,vpbr-atk-vol = <0x01>;
> +		cirrus,vpbr-max-attn = <0x09>;
> +		cirrus,vpbr-wait = <0x01>;
> +		cirrus,vpbr-rel-rate = <0x05>;
> +		cirrus,vpbr-mute-en = <0x00>;
> +	};
> +
> +	cirrus,irq-config {
> +		cirrus,irq-drive-select = <0x01>;
> +		cirrus,irq-polarity = <0x00>;
> +		cirrus,irq-gpio-select = <0x01>;
> +		cirrus,irq-output-enable = <0x01>;
> +		cirrus,irq-src-select = <0x01>;
> +	};

This block is not documented in the rest of the document and
looks like things that should really be controlled through other
means. Presuming this is legacy and just needs removed?

Thanks,
Charles


More information about the Alsa-devel mailing list