On 18/11/2020 09:39, Peter Ujfalusi wrote: > Hi, > Hi, I certainly agree with your point, but you missed one place that needs changing. sii9022-node also refers to the renamed clock node, and that should be changed too (see bellow). > On 17/11/2020 12.17, Peter Ujfalusi wrote: >> The board is using McASP2 for both analog (tlv320aic3106) and >> HDMI (SiI9022) audio. >> >> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> >> --- >> arch/arm/boot/dts/keystone-k2g-evm.dts | 112 +++++++++++++++++++++++++ >> 1 file changed, 112 insertions(+) >> >> diff --git a/arch/arm/boot/dts/keystone-k2g-evm.dts b/arch/arm/boot/dts/keystone-k2g-evm.dts >> index 8b3d64c913d8..4d7e3514a3a7 100644 >> --- a/arch/arm/boot/dts/keystone-k2g-evm.dts >> +++ b/arch/arm/boot/dts/keystone-k2g-evm.dts >> @@ -46,6 +46,14 @@ vcc1v8_ldo1_reg: fixedregulator-vcc1v8-ldo1 { >> regulator-always-on; >> }; >> >> + vcc1v8_ldo2_reg: fixedregulator-vcc1v8-ldo2 { >> + compatible = "regulator-fixed"; >> + regulator-name = "ldo2"; >> + regulator-min-microvolt = <1800000>; >> + regulator-max-microvolt = <1800000>; >> + regulator-always-on; >> + }; >> + >> hdmi: connector { >> compatible = "hdmi-connector"; >> label = "hdmi"; >> @@ -58,6 +66,57 @@ hdmi_connector_in: endpoint { >> }; >> }; >> }; >> + >> + sound0: sound@0 { >> + compatible = "simple-audio-card"; >> + simple-audio-card,name = "K2G-EVM"; >> + simple-audio-card,widgets = >> + "Headphone", "Headphone Jack", >> + "Line", "Line In"; >> + simple-audio-card,routing = >> + "Headphone Jack", "HPLOUT", >> + "Headphone Jack", "HPROUT", >> + "LINE1L", "Line In", >> + "LINE1R", "Line In"; >> + >> + simple-audio-card,dai-link@0 { >> + format = "i2s"; >> + bitclock-master = <&sound0_0_master>; >> + frame-master = <&sound0_0_master>; >> + sound0_0_master: cpu { >> + sound-dai = <&mcasp2>; >> + clocks = <&k2g_clks 0x6 1>; >> + system-clock-direction-out; >> + }; >> + >> + codec { >> + sound-dai = <&tlv320aic3106>; >> + system-clock-frequency = <12288000>; > > I think it would be better to use: > clocks = <&aud_mclk>; > > >> + }; >> + }; >> + >> + simple-audio-card,dai-link@1 { >> + format = "i2s"; >> + bitclock-master = <&sound0_1_master>; >> + frame-master = <&sound0_1_master>; >> + sound0_1_master: cpu { >> + sound-dai = <&mcasp2>; >> + clocks = <&k2g_clks 0x6 1>; >> + system-clock-direction-out; >> + }; >> + >> + codec { >> + sound-dai = <&sii9022>; >> + system-clock-frequency = <12288000>; > > and here as well: > clocks = <&aud_mclk>; > > >> + }; >> + }; >> + }; >> + >> + sii9022_mclk: sii9022_mclk { > > and rename the fixed clock to aud_mclk as the same clock is connected to > both aic3106 and SiI9022 > >> + compatible = "fixed-clock"; >> + #clock-cells = <0>; >> + clock-frequency = <12288000>; >> + }; >> }; >> >> &k2g_pinctrl { >> @@ -214,6 +273,15 @@ K2G_CORE_IOPAD(0x10e4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssde.dssd >> K2G_CORE_IOPAD(0x10e8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssfid.dssfid */ >> >; >> }; >> + >> + mcasp2_pins: pinmux_mcasp2_pins { >> + pinctrl-single,pins = < >> + K2G_CORE_IOPAD(0x1234) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE4) /* pr0_pru_gpo2.mcasp2_axr2 */ >> + K2G_CORE_IOPAD(0x1238) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE4) /* pr0_pru_gpo3.mcasp2_axr3 */ >> + K2G_CORE_IOPAD(0x1254) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE4) /* pr0_pru_gpo10.mcasp2_afsx */ >> + K2G_CORE_IOPAD(0x125c) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE4) /* pr0_pru_gpo12.mcasp2_aclkx */ >> + >; >> + }; >> }; >> >> &uart0 { >> @@ -423,6 +491,10 @@ sii9022: sii9022@3b { >> compatible = "sil,sii9022"; >> reg = <0x3b>; >> >> + sil,i2s-data-lanes = < 0 >; >> + clocks = <&sii9022_mclk>; ... and here: clocks = <&aud_mclk>; >> + clock-names = "mclk"; >> + >> ports { >> #address-cells = <1>; >> #size-cells = <0>; >> @@ -444,6 +516,19 @@ sii9022_out: endpoint { >> }; >> }; >> }; >> + >> + tlv320aic3106: tlv320aic3106@1b { >> + #sound-dai-cells = <0>; >> + compatible = "ti,tlv320aic3106"; >> + reg = <0x1b>; >> + status = "okay"; >> + >> + /* Regulators */ >> + AVDD-supply = <&vcc3v3_dcin_reg>; >> + IOVDD-supply = <&vcc3v3_dcin_reg>; >> + DRVDD-supply = <&vcc3v3_dcin_reg>; >> + DVDD-supply = <&vcc1v8_ldo2_reg>; >> + }; >> }; >> >> &dss { >> @@ -458,3 +543,30 @@ dpi_out: endpoint { >> }; >> }; >> }; >> + >> +&k2g_clks { >> + /* on the board 22.5792MHz is connected to AUDOSC_IN */ >> + assigned-clocks = <&k2g_clks 0x4c 2>; >> + assigned-clock-rates = <22579200>; >> +}; >> + >> +&mcasp2 { >> + #sound-dai-cells = <0>; >> + >> + pinctrl-names = "default"; >> + pinctrl-0 = <&mcasp2_pins>; >> + >> + assigned-clocks = <&k2g_clks 0x6 1>; >> + assigned-clock-parents = <&k2g_clks 0x6 2>; >> + >> + status = "okay"; >> + >> + op-mode = <0>; /* MCASP_IIS_MODE */ >> + tdm-slots = <2>; >> + /* 6 serializer */ >> + serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ >> + 0 0 1 2 0 0 // AXR2: TX, AXR3: rx >> + >; >> + tx-num-evt = <32>; >> + rx-num-evt = <32>; >> +}; >> > > - Péter > > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. > Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki > Best regards, Jyri -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki