Skip to content

Commit

Permalink
arm64: dts: renesas: ulcb-kf: add pcm3168 sound codec
Browse files Browse the repository at this point in the history
KingFisher has pcm3168 sound codec. This patch enables it.
Because pcm3168 can't handle symmetric channel on playback/
capture, we need to handle it as different DAI.

Signed-off-by: Kuninori Morimoto <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
  • Loading branch information
morimoto authored and horms committed Jan 23, 2019
1 parent c693b21 commit 80c0770
Showing 1 changed file with 138 additions and 0 deletions.
138 changes: 138 additions & 0 deletions arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,38 @@
* Copyright (C) 2017 Cogent Embedded, Inc.
*/

/*
* SSI-PCM3168A
* aplay -D plughw:0,2 xxx.wav
* arecord -D plughw:0,3 xxx.wav
*/

/ {
aliases {
serial1 = &hscif0;
serial2 = &scif1;
};

clksndsel: clksndsel {
#clock-cells = <0>;
compatible = "gpio-mux-clock";
clocks = <&cs2000>, <&audio_clk_a>; /* clk8snd, clksnd */
select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
};

snd_3p3v: regulator-snd_3p3v {
compatible = "regulator-fixed";
regulator-name = "snd-3.3v";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};

snd_vcc5v: regulator-snd_vcc5v {
compatible = "regulator-fixed";
regulator-name = "snd-vcc5v";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
};

&can0 {
Expand Down Expand Up @@ -44,6 +71,7 @@
};

&i2c2 {
/* U11 */
gpio_exp_74: gpio@74 {
compatible = "ti,tca9539";
reg = <0x74>;
Expand All @@ -53,6 +81,13 @@
interrupt-parent = <&gpio6>;
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;

audio_out_off {
gpio-hog;
gpios = <0 GPIO_ACTIVE_HIGH>; /* P00 */
output-high;
line-name = "Audio_Out_OFF";
};

hub_pwen {
gpio-hog;
gpios = <6 GPIO_ACTIVE_HIGH>;
Expand Down Expand Up @@ -80,8 +115,16 @@
output-high;
line-name = "OTG EXTLPn";
};

snd_rst {
gpio-hog;
gpios = <15 GPIO_ACTIVE_HIGH>; /* P17 */
output-high;
line-name = "SND_RST";
};
};

/* U5 */
gpio_exp_75: gpio@75 {
compatible = "ti,tca9539";
reg = <0x75>;
Expand All @@ -98,6 +141,48 @@
#size-cells = <0>;
reg = <0x71>;
reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;

/* Audio_SDA, Audio_SCL */
i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;

pcm3168a: audio-codec@44 {
#sound-dai-cells = <0>;
compatible = "ti,pcm3168a";
reg = <0x44>;
clocks = <&clksndsel>;
clock-names = "scki";

VDD1-supply = <&snd_3p3v>;
VDD2-supply = <&snd_3p3v>;
VCCAD1-supply = <&snd_vcc5v>;
VCCAD2-supply = <&snd_vcc5v>;
VCCDA1-supply = <&snd_vcc5v>;
VCCDA2-supply = <&snd_vcc5v>;

ports {
#address-cells = <1>;
#size-cells = <0>;
mclk-fs = <512>;
port@0 {
reg = <0>;
pcm3168a_endpoint_p: endpoint {
remote-endpoint = <&rsnd_for_pcm3168a_play>;
clocks = <&clksndsel>;
};
};
port@1 {
reg = <1>;
pcm3168a_endpoint_c: endpoint {
remote-endpoint = <&rsnd_for_pcm3168a_capture>;
clocks = <&clksndsel>;
};
};
};
};
};
};
};

Expand Down Expand Up @@ -173,6 +258,11 @@
groups = "usb0";
function = "usb0";
};

sound_pcm_pins: sound-pcm {
groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
function = "ssi";
};
};

&scif1 {
Expand All @@ -193,3 +283,51 @@
&xhci0 {
status = "okay";
};

&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1 /* HDMI0 */
&rsnd_port2 /* pcm3168a playback */
&rsnd_port3 /* pcm3168a capture */
>;
};

&rcar_sound {
pinctrl-0 = <&sound_pins
&sound_clk_pins
&sound_pcm_pins>;

ports {
/* rsnd_port0/1 are on salvator-common */
rsnd_port2: port@2 {
reg = <2>;
rsnd_for_pcm3168a_play: endpoint {
remote-endpoint = <&pcm3168a_endpoint_p>;

dai-format = "i2s";
bitclock-master = <&rsnd_for_pcm3168a_play>;
frame-master = <&rsnd_for_pcm3168a_play>;
dai-tdm-slot-num = <8>;

playback = <&ssi3>;
};
};
rsnd_port3: port@3 {
reg = <3>;
rsnd_for_pcm3168a_capture: endpoint {
remote-endpoint = <&pcm3168a_endpoint_c>;

dai-format = "i2s";
bitclock-master = <&rsnd_for_pcm3168a_capture>;
frame-master = <&rsnd_for_pcm3168a_capture>;
dai-tdm-slot-num = <6>;

capture = <&ssi4>;
};
};
};
};

&ssi4 {
shared-pin;
};

0 comments on commit 80c0770

Please sign in to comment.