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 = <®_3p3v>; >>> + AVDD-supply = <®_3p3v>; >>> + IOVDD-supply = <®_3p3v>; >>> + DVDD-supply = <®_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 = <®_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