Re: [PATCH 1/2] ARM: dts: imx6qdl: Add Variscite VAR-SOM-MX6 SoM support

From: Krzysztof Kozlowski
Date: Wed Jul 19 2023 - 15:24:47 EST


On 19/07/2023 20:57, James Hilliard wrote:
> On Wed, Jul 19, 2023 at 11:16 AM Krzysztof Kozlowski
> <krzysztof.kozlowski@xxxxxxxxxx> wrote:
>>


>>> +
>>> +/ {
>>> + model = "Variscite i.MX6 QUAD/DUAL VAR-SOM-MX6";
>>> + compatible = "fsl,imx6q";
>>
>> That's not correct compatible. It's not Imx6 soc. It's a som.
>
> I'm confused, AFAIU the VAR-SOM-MX6 uses an imx6q SoC.

True, I should say - that's incomplete compatible. You claim here this
is imx6q. Not that it uses imx6q... Add your own compatible and document
all of them.

>
>>
>>> +...
>>> +
>>> + sound: sound {
>>> + compatible = "simple-audio-card";
>>> + simple-audio-card,name = "var-som-audio";
>>> + simple-audio-card,format = "i2s";
>>> + simple-audio-card,bitclock-master = <&sound_codec>;
>>> + simple-audio-card,frame-master = <&sound_codec>;
>>> + simple-audio-card,widgets = "Headphone", "Headphone Jack",
>>> + "Line", "Line In", "Microphone", "Mic Jack";
>>> + simple-audio-card,routing = "Headphone Jack", "HPLOUT",
>>> + "Headphone Jack", "HPROUT",
>>> + "LINE1L", "Line In",
>>> + "LINE1R", "Line In";
>>> +
>>> + sound_cpu: simple-audio-card,cpu {
>>> + sound-dai = <&ssi2>;
>>> + };
>>> +
>>> + sound_codec: simple-audio-card,codec {
>>> + sound-dai = <&tlv320aic3106>;
>>> + clocks = <&clks IMX6QDL_CLK_CKO>;
>>> + };
>>> + };
>>> +
>>> + wlan_bt_rfkill {
>>
>> No underscores in node names.
>>
>> Just "rfkill"
>>
>>
>>> + compatible = "rfkill-gpio";
>>> + name = "wlan_bt_rfkill";
>>> + type = <2>; /* bluetooth */
>>> + gpios = <&gpio6 18 GPIO_ACTIVE_HIGH>;
>>> + };
>>> +};
>>> +
>>
>> ...
>>
>>> + tlv320aic3106: codec@1b {
>>> + compatible = "ti,tlv320aic3106";
>>> + reg = <0x1b>;
>>> + #sound-dai-cells = <0>;
>>> + DRVDD-supply = <&reg_3p3v>;
>>> + AVDD-supply = <&reg_3p3v>;
>>> + IOVDD-supply = <&reg_3p3v>;
>>> + DVDD-supply = <&reg_3p3v>;
>>> + ai3x-ocmv = <0>;
>>> + reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;
>>> + ai3x-gpio-func = <
>>> + 0 /* AIC3X_GPIO1_FUNC_DISABLED */
>>> + 5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */
>>> + >;
>>> + };
>>> +};
>>> +
>>> +&iomuxc {
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&pinctrl_hog>;
>>> +
>>> + imx6qdl-var-som-mx6 {
>>> + pinctrl_hog: hoggrp {
>>> + fsl,pins = <
>>> + /* CTW6120 IRQ */
>>> + MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x80000000
>>> + /* SDMMC2 CD/WP */
>>> + MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x80000000
>>> + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x80000000
>>> + >;
>>> + };
>>> +
>>> + pinctrl_audmux: audmux {
>>
>> It does not look like you tested the DTS against bindings. Please run
>> `make dtbs_check` (see
>> Documentation/devicetree/bindings/writing-schema.rst or
>> https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
>> for instructions).
>>
>> AFAIR, all of them end with grp
>
> Ah, that's def throwing a bunch of warnings, although quite a few look
> to be existing
> issues in dependent dtsi files. I'll clean up what I can there.
>
>>
>>
>> ...
>>
>>> +
>>> +&usdhc3 {
>>> + pinctrl-names = "default", "state_100mhz", "state_200mhz";
>>> + pinctrl-0 = <&pinctrl_usdhc3>;
>>> + pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
>>> + pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
>>> + bus-width = <4>;
>>> + vmmc-supply = <&reg_wl18xx_vmmc>;
>>> + non-removable;
>>> + wakeup-source;
>>> + keep-power-in-suspend;
>>> + cap-power-off-card;
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> + status = "okay";
>>> +
>>> + wlcore: wlcore@0 {
>>
>> Generic node names. Is this wifi?
>
> I think it also supports bluetooth technically, although that might be
> under a different node.
>

Bluetooths are usually under serial, so this is just wifi.

Best regards,
Krzysztof