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.ujfal...@ti.com>
>> ---
>>  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

Reply via email to