diff mbox

[6/7] arm64: tegra: Add the various audio devices for Tegra210 Smaug

Message ID 1470756082-19099-7-git-send-email-jonathanh@nvidia.com
State Accepted
Delegated to: Thierry Reding
Headers show

Commit Message

Jon Hunter Aug. 9, 2016, 3:21 p.m. UTC
The Tegra210 Smaug includes the Realtek RT5677 audio codec, Nuvoton
NAU8825 headset codec and the Maxim MAX98357a audio amplifier. Add
the nodes for these devices for the Tegra210 Smaug.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
---
 arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 44 +++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

Comments

Thierry Reding Aug. 16, 2016, 1:15 p.m. UTC | #1
On Tue, Aug 09, 2016 at 04:21:21PM +0100, Jon Hunter wrote:
> The Tegra210 Smaug includes the Realtek RT5677 audio codec, Nuvoton
> NAU8825 headset codec and the Maxim MAX98357a audio amplifier. Add
> the nodes for these devices for the Tegra210 Smaug.
> 
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> ---
>  arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 44 +++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
> index 2c4672527d75..8cdd71f4d9ba 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
> +++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
> @@ -1562,6 +1562,45 @@
>  		};
>  	};
>  
> +	i2c@7000d100 {
> +		status = "okay";
> +		clock-frequency = <400000>;
> +
> +		nau8825@1a {
> +			compatible = "nuvoton,nau8825";
> +			reg = <0x1a>;
> +			interrupt-parent = <&gpio>;
> +			interrupts = <TEGRA_GPIO(E, 6) IRQ_TYPE_LEVEL_LOW>;

Any reason why this uses the interrupt-parent and interrupts properties,
whereas...

> +			clocks = <&tegra_car TEGRA210_CLK_CLK_OUT_2>;
> +			clock-names = "mclk";
> +
> +			nuvoton,jkdet-enable;
> +			nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
> +			nuvoton,vref-impedance = <2>;
> +			nuvoton,micbias-voltage = <6>;
> +			nuvoton,sar-threshold-num = <4>;
> +			nuvoton,sar-threshold = <0xc 0x1e 0x38 0x60>;
> +			nuvoton,sar-hysteresis = <1>;
> +			nuvoton,sar-voltage = <0>;
> +			nuvoton,sar-compare-time = <0>;
> +			nuvoton,sar-sampling-time = <0>;
> +			nuvoton,short-key-debounce = <2>;
> +			nuvoton,jack-insert-debounce = <7>;
> +			nuvoton,jack-eject-debounce = <7>;
> +			status = "okay";
> +		};
> +
> +		audio-codec@2d {
> +			compatible = "realtek,rt5677";
> +			reg = <0x2d>;
> +			interrupts-extended = <&gpio TEGRA_GPIO(X, 0) IRQ_TYPE_LEVEL_HIGH>;

... this uses interrupts-extended? I'd like these to be consistent, and
I'm slightly leaning towards the former. Any objections if I change that
while applying?

Thierry
Jon Hunter Aug. 16, 2016, 1:38 p.m. UTC | #2
On 16/08/16 14:15, Thierry Reding wrote:
> * PGP Signed by an unknown key
> 
> On Tue, Aug 09, 2016 at 04:21:21PM +0100, Jon Hunter wrote:
>> The Tegra210 Smaug includes the Realtek RT5677 audio codec, Nuvoton
>> NAU8825 headset codec and the Maxim MAX98357a audio amplifier. Add
>> the nodes for these devices for the Tegra210 Smaug.
>>
>> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
>> ---
>>  arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 44 +++++++++++++++++++++++++++
>>  1 file changed, 44 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
>> index 2c4672527d75..8cdd71f4d9ba 100644
>> --- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
>> +++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
>> @@ -1562,6 +1562,45 @@
>>  		};
>>  	};
>>  
>> +	i2c@7000d100 {
>> +		status = "okay";
>> +		clock-frequency = <400000>;
>> +
>> +		nau8825@1a {
>> +			compatible = "nuvoton,nau8825";
>> +			reg = <0x1a>;
>> +			interrupt-parent = <&gpio>;
>> +			interrupts = <TEGRA_GPIO(E, 6) IRQ_TYPE_LEVEL_LOW>;
> 
> Any reason why this uses the interrupt-parent and interrupts properties,
> whereas...
> 
>> +			clocks = <&tegra_car TEGRA210_CLK_CLK_OUT_2>;
>> +			clock-names = "mclk";
>> +
>> +			nuvoton,jkdet-enable;
>> +			nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
>> +			nuvoton,vref-impedance = <2>;
>> +			nuvoton,micbias-voltage = <6>;
>> +			nuvoton,sar-threshold-num = <4>;
>> +			nuvoton,sar-threshold = <0xc 0x1e 0x38 0x60>;
>> +			nuvoton,sar-hysteresis = <1>;
>> +			nuvoton,sar-voltage = <0>;
>> +			nuvoton,sar-compare-time = <0>;
>> +			nuvoton,sar-sampling-time = <0>;
>> +			nuvoton,short-key-debounce = <2>;
>> +			nuvoton,jack-insert-debounce = <7>;
>> +			nuvoton,jack-eject-debounce = <7>;
>> +			status = "okay";
>> +		};
>> +
>> +		audio-codec@2d {
>> +			compatible = "realtek,rt5677";
>> +			reg = <0x2d>;
>> +			interrupts-extended = <&gpio TEGRA_GPIO(X, 0) IRQ_TYPE_LEVEL_HIGH>;
> 
> ... this uses interrupts-extended? I'd like these to be consistent, and
> I'm slightly leaning towards the former. Any objections if I change that
> while applying?

Good catch. I must have inherited this from the chrome-os 3.18 kernel. I
agree that it is best to be consistent here. So please update when
applying.

Thanks
Jon
Thierry Reding Aug. 24, 2016, 2:56 p.m. UTC | #3
On Tue, Aug 09, 2016 at 04:21:21PM +0100, Jon Hunter wrote:
> The Tegra210 Smaug includes the Realtek RT5677 audio codec, Nuvoton
> NAU8825 headset codec and the Maxim MAX98357a audio amplifier. Add
> the nodes for these devices for the Tegra210 Smaug.
> 
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> ---
>  arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 44 +++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)

Applied with the interrupts-extended property turned into a pair of
interrupt-parent and interrupts properties.

Thanks,
Thierry
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
index 2c4672527d75..8cdd71f4d9ba 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
+++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
@@ -1562,6 +1562,45 @@ 
 		};
 	};
 
+	i2c@7000d100 {
+		status = "okay";
+		clock-frequency = <400000>;
+
+		nau8825@1a {
+			compatible = "nuvoton,nau8825";
+			reg = <0x1a>;
+			interrupt-parent = <&gpio>;
+			interrupts = <TEGRA_GPIO(E, 6) IRQ_TYPE_LEVEL_LOW>;
+			clocks = <&tegra_car TEGRA210_CLK_CLK_OUT_2>;
+			clock-names = "mclk";
+
+			nuvoton,jkdet-enable;
+			nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
+			nuvoton,vref-impedance = <2>;
+			nuvoton,micbias-voltage = <6>;
+			nuvoton,sar-threshold-num = <4>;
+			nuvoton,sar-threshold = <0xc 0x1e 0x38 0x60>;
+			nuvoton,sar-hysteresis = <1>;
+			nuvoton,sar-voltage = <0>;
+			nuvoton,sar-compare-time = <0>;
+			nuvoton,sar-sampling-time = <0>;
+			nuvoton,short-key-debounce = <2>;
+			nuvoton,jack-insert-debounce = <7>;
+			nuvoton,jack-eject-debounce = <7>;
+			status = "okay";
+		};
+
+		audio-codec@2d {
+			compatible = "realtek,rt5677";
+			reg = <0x2d>;
+			interrupts-extended = <&gpio TEGRA_GPIO(X, 0) IRQ_TYPE_LEVEL_HIGH>;
+			realtek,reset-gpio = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_LOW>;
+			gpio-controller;
+			#gpio-cells = <2>;
+			status = "okay";
+		};
+	};
+
 	pmc@7000e400 {
 		nvidia,invert-interrupt;
 		nvidia,suspend-mode = <0>;
@@ -1664,6 +1703,11 @@ 
 		};
 	};
 
+	max98357a {
+		compatible = "maxim,max98357a";
+		status = "okay";
+	};
+
 	psci {
 		compatible = "arm,psci-1.0";
 		method = "smc";