Message ID | 20241022133040.686562-4-lukma@denx.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v10,1/4] dt-bindings: display: Add powertip,st7272 as DT Schema description | expand |
Dear Community, > The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are to > some extend similar to already upstreamed XEA devices, hence are > using common imx28-lwe.dtsi file. > > New, imx28-btt3.dtsi has been added to embrace common DTS > properties for different HW revisions for this device. > > As a result - changes introduced in imx28-btt3-[012].dts are > minimal. > > Signed-off-by: Lukasz Majewski <lukma@denx.de> > > --- > Changes for v2: > - Rename dts file from btt3-[012] to imx28-btt3-[012] to match current > linux kernel naming convention > - Remove 'wlf,wm8974' from compatible for codec@1a > > Changes for v3: > - Keep alphabethical order for Makefile entries > > Changes for v4: > - Change compatible for btt3 board (to 'lwn,imx28-btt3') > > Changes for v5: > - Combine patch, which adds btt3-[012] with one adding board entry to > fsl.yaml > > Changes for v6: > - Make the patch series for adding entry in fsl.yaml and btt3 > > Changes for v7: > - Use "panel" property as suggested by the community > - Use panel-timing to specify the display parameters > - Update subject line with correct tags > > Changes for v8: > - Use GPIO_ACTIVE_HIGH instead of '0' > - Add the comment regarding mac address specification > - Remove superfluous comment > - Change wifi-en-pin node name > > Changes for v9: > - Remove not used 'pm-ignore-notify' > - Add display names for 'panel-dpi' compatible to avoid Schema > warnings > > Changes for v10: > - Drop new line with panel-timing definitions > - Add new lines with 'sound' node > - Change 'codec' to 'audio-codec' > - Change order of properties for saif1 node Are there any more comments regarding this patch? > --- > arch/arm/boot/dts/nxp/mxs/Makefile | 3 + > arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts | 12 + > arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts | 8 + > arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts | 39 +++ > arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi | 313 > +++++++++++++++++++++ 5 files changed, 375 insertions(+) > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi > > diff --git a/arch/arm/boot/dts/nxp/mxs/Makefile > b/arch/arm/boot/dts/nxp/mxs/Makefile index a430d04f9c69..96dd31ea19ba > 100644 --- a/arch/arm/boot/dts/nxp/mxs/Makefile > +++ b/arch/arm/boot/dts/nxp/mxs/Makefile > @@ -8,6 +8,9 @@ dtb-$(CONFIG_ARCH_MXS) += \ > imx28-apf28.dtb \ > imx28-apf28dev.dtb \ > imx28-apx4devkit.dtb \ > + imx28-btt3-0.dtb \ > + imx28-btt3-1.dtb \ > + imx28-btt3-2.dtb \ > imx28-cfa10036.dtb \ > imx28-cfa10037.dtb \ > imx28-cfa10049.dtb \ > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts > b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts new file mode 100644 > index 000000000000..6ac46e4b21bb > --- /dev/null > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts > @@ -0,0 +1,12 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > +/* > + * Copyright 2024 > + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de > + */ > + > +/dts-v1/; > +#include "imx28-btt3.dtsi" > + > +&hog_pins_rev { > + fsl,pull-up = <MXS_PULL_ENABLE>; > +}; > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts > b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts new file mode 100644 > index 000000000000..213fe931c58b > --- /dev/null > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts > @@ -0,0 +1,8 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > +/* > + * Copyright 2024 > + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de > + */ > + > +/dts-v1/; > +#include "imx28-btt3.dtsi" > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts > b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts new file mode 100644 > index 000000000000..4bccd784d065 > --- /dev/null > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts > @@ -0,0 +1,39 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > +/* > + * Copyright 2024 > + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de > + */ > + > +/dts-v1/; > +#include "imx28-btt3.dtsi" > + > +/ { > + panel { > + compatible = "powertip,st7272", "panel-dpi"; > + power-supply = <®_3v3>; > + width-mm = <70>; > + height-mm = <52>; > + > + panel-timing { > + clock-frequency = <6500000>; > + hactive = <320>; > + vactive = <240>; > + hfront-porch = <20>; > + hback-porch = <68>; > + hsync-len = <30>; > + vfront-porch = <4>; > + vback-porch = <14>; > + vsync-len = <4>; > + hsync-active = <0>; > + vsync-active = <0>; > + de-active = <1>; > + pixelclk-active = <1>; > + }; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&display_out>; > + }; > + }; > + }; > +}; > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi > b/arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi new file mode 100644 > index 000000000000..2c52e67e5c14 > --- /dev/null > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi > @@ -0,0 +1,313 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > +/* > + * Copyright 2024 > + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de > + */ > +/dts-v1/; > +#include "imx28-lwe.dtsi" > + > +/ { > + model = "BTT3"; > + > + compatible = "lwn,imx28-btt3", "fsl,imx28"; > + > + chosen { > + bootargs = "root=/dev/mmcblk0p2 rootfstype=ext4 ro > rootwait console=ttyAMA0,115200 panic=1 quiet"; > + }; > + > + memory@40000000 { > + reg = <0x40000000 0x10000000>; > + device_type = "memory"; > + }; > + > + panel { > + compatible = "powertip,hx8238a", "panel-dpi"; > + power-supply = <®_3v3>; > + width-mm = <70>; > + height-mm = <52>; > + > + panel-timing { > + clock-frequency = <6500000>; > + hactive = <320>; > + vactive = <240>; > + hfront-porch = <20>; > + hback-porch = <38>; > + hsync-len = <30>; > + vfront-porch = <4>; > + vback-porch = <14>; > + vsync-len = <4>; > + hsync-active = <0>; > + vsync-active = <0>; > + de-active = <0>; > + pixelclk-active = <1>; > + }; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&display_out>; > + }; > + }; > + }; > + > + poweroff { > + compatible = "gpio-poweroff"; > + gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; > + }; > + > + sound { > + compatible = "simple-audio-card"; > + simple-audio-card,name = "BTTC Audio"; > + simple-audio-card,widgets = "Speaker", "BTTC > Speaker"; > + simple-audio-card,routing = "BTTC Speaker", > "SPKOUTN", "BTTC Speaker", "SPKOUTP"; + > + simple-audio-card,dai-link@0 { > + format = "left_j"; > + bitclock-master = <&dai0_master>; > + frame-master = <&dai0_master>; > + mclk-fs = <256>; > + > + dai0_master: cpu { > + sound-dai = <&saif0>; > + }; > + > + codec { > + sound-dai = <&wm89xx>; > + clocks = <&saif0>; > + }; > + }; > + }; > + > + wifi_pwrseq: sdio-pwrseq { > + compatible = "mmc-pwrseq-simple"; > + pinctrl-names = "default"; > + pinctrl-0 = <&wifi_en_pin_bttc>; > + reset-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; > + /* W1-163 needs 60us for WL_EN to be low and */ > + /* 150ms after high before downloading FW is > possible */ > + post-power-on-delay-ms = <200>; > + power-off-delay-us = <100>; > + }; > +}; > + > +&auart0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&auart0_2pins_a>; > + status = "okay"; > +}; > + > +&auart3 { > + pinctrl-names = "default"; > + pinctrl-0 = <&auart3_pins_a>; > + uart-has-rtscts; > + status = "okay"; > +}; > + > +&i2c0 { > + wm89xx: audio-codec@1a { > + compatible = "wlf,wm8940"; > + reg = <0x1a>; > + #sound-dai-cells = <0>; > + }; > +}; > + > +&lcdif { > + pinctrl-names = "default"; > + pinctrl-0 = <&lcdif_24bit_pins_a>, <&lcdif_sync_pins_bttc>, > + <&lcdif_reset_pins_bttc>; > + status = "okay"; > + > + port { > + display_out: endpoint { > + remote-endpoint = <&panel_in>; > + }; > + }; > +}; > + > +&mac0 { > + clocks = <&clks 57>, <&clks 57>, <&clks 64>; > + clock-names = "ipg", "ahb", "enet_out"; > + phy-handle = <&mac0_phy>; > + phy-mode = "rmii"; > + phy-supply = <®_3v3>; > + /* > + * This MAC address is adjusted during production. > + * Value specified below is used as a fallback during > recovery. > + */ > + local-mac-address = [ 00 11 B8 00 BF 8A ]; > + status = "okay"; > + > + mdio { > + #address-cells = <1>; > + #size-cells = <0>; > + > + mac0_phy: ethernet-phy@0 { > + /* LAN8720Ai - PHY ID */ > + compatible = > "ethernet-phy-id0007.c0f0","ethernet-phy-ieee802.3-c22"; > + reg = <0>; > + smsc,disable-energy-detect; > + max-speed = <100>; > + reset-gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; > + reset-assert-us = <1000>; > + reset-deassert-us = <1000>; > + }; > + }; > +}; > + > +&pinctrl { > + pinctrl-names = "default"; > + pinctrl-0 = <&hog_pins_a>, <&hog_pins_rev>; > + > + hog_pins_a: hog@0 { > + reg = <0>; > + fsl,pinmux-ids = < > + MX28_PAD_GPMI_RDY2__GPIO_0_22 > + MX28_PAD_GPMI_RDY3__GPIO_0_23 > + MX28_PAD_GPMI_RDN__GPIO_0_24 > + MX28_PAD_LCD_VSYNC__GPIO_1_28 > + MX28_PAD_SSP2_SS1__GPIO_2_20 > + MX28_PAD_SSP2_SS2__GPIO_2_21 > + MX28_PAD_AUART2_CTS__GPIO_3_10 > + MX28_PAD_AUART2_RTS__GPIO_3_11 > + MX28_PAD_GPMI_WRN__GPIO_0_25 > + MX28_PAD_ENET0_RXD2__GPIO_4_9 > + MX28_PAD_ENET0_TXD2__GPIO_4_11 > + >; > + fsl,drive-strength = <MXS_DRIVE_4mA>; > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > + fsl,pull-up = <MXS_PULL_DISABLE>; > + }; > + > + hog_pins_rev: hog@1 { > + reg = <1>; > + fsl,pinmux-ids = < > + MX28_PAD_ENET0_RXD3__GPIO_4_10 > + MX28_PAD_ENET0_TX_CLK__GPIO_4_5 > + MX28_PAD_ENET0_COL__GPIO_4_14 > + MX28_PAD_ENET0_CRS__GPIO_4_15 > + >; > + fsl,drive-strength = <MXS_DRIVE_4mA>; > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > + fsl,pull-up = <MXS_PULL_DISABLE>; > + }; > + > + keypad_pins_bttc: keypad-bttc@0 { > + reg = <0>; > + fsl,pinmux-ids = < > + MX28_PAD_GPMI_D00__GPIO_0_0 > + MX28_PAD_AUART0_CTS__GPIO_3_2 > + MX28_PAD_AUART0_RTS__GPIO_3_3 > + MX28_PAD_GPMI_D03__GPIO_0_3 > + MX28_PAD_GPMI_D04__GPIO_0_4 > + MX28_PAD_GPMI_D05__GPIO_0_5 > + MX28_PAD_GPMI_D06__GPIO_0_6 > + MX28_PAD_GPMI_D07__GPIO_0_7 > + MX28_PAD_GPMI_CE1N__GPIO_0_17 > + MX28_PAD_GPMI_CE2N__GPIO_0_18 > + MX28_PAD_GPMI_CE3N__GPIO_0_19 > + MX28_PAD_GPMI_RDY0__GPIO_0_20 > + >; > + fsl,drive-strength = <MXS_DRIVE_4mA>; > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > + fsl,pull-up = <MXS_PULL_DISABLE>; > + }; > + > + lcdif_sync_pins_bttc: lcdif-bttc@0 { > + reg = <0>; > + fsl,pinmux-ids = < > + MX28_PAD_LCD_DOTCLK__LCD_DOTCLK > + MX28_PAD_LCD_ENABLE__LCD_ENABLE > + MX28_PAD_LCD_HSYNC__LCD_HSYNC > + MX28_PAD_LCD_RD_E__LCD_VSYNC > + >; > + fsl,drive-strength = <MXS_DRIVE_4mA>; > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > + fsl,pull-up = <MXS_PULL_DISABLE>; > + }; > + > + lcdif_reset_pins_bttc: lcdif-bttc@1 { > + reg = <1>; > + fsl,pinmux-ids = < > + MX28_PAD_LCD_RESET__GPIO_3_30 > + >; > + fsl,drive-strength = <MXS_DRIVE_4mA>; > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > + fsl,pull-up = <MXS_PULL_ENABLE>; > + }; > + > + ssp1_sdio_pins_a: ssp1-sdio@0 { > + reg = <0>; > + fsl,pinmux-ids = < > + MX28_PAD_SSP1_DATA0__SSP1_D0 > + MX28_PAD_GPMI_D01__SSP1_D1 > + MX28_PAD_GPMI_D02__SSP1_D2 > + MX28_PAD_SSP1_DATA3__SSP1_D3 > + MX28_PAD_SSP1_CMD__SSP1_CMD > + MX28_PAD_SSP1_SCK__SSP1_SCK > + >; > + fsl,drive-strength = <MXS_DRIVE_8mA>; > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > + fsl,pull-up = <MXS_PULL_ENABLE>; > + }; > + > + wifi_en_pin_bttc: wifi-en-pin@0 { > + reg = <0>; > + fsl,pinmux-ids = < > + MX28_PAD_GPMI_CLE__GPIO_0_27 > + >; > + fsl,drive-strength = <MXS_DRIVE_8mA>; > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > + fsl,pull-up = <MXS_PULL_ENABLE>; > + }; > +}; > + > +&pwm { > + pinctrl-names = "default"; > + pinctrl-0 = <&pwm3_pins_a>; > + status = "okay"; > +}; > + > +®_usb_5v { > + gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>; > +}; > + > +&saif0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&saif0_pins_a>; > + #sound-dai-cells = <0>; > + assigned-clocks = <&clks 53>; > + assigned-clock-rates = <12000000>; > + status = "okay"; > +}; > + > +&saif1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&saif1_pins_a>; > + #sound-dai-cells = <0>; > + fsl,saif-master = <&saif0>; > + status = "okay"; > +}; > + > +&ssp1 { > + compatible = "fsl,imx28-mmc"; > + pinctrl-names = "default"; > + pinctrl-0 = <&ssp1_sdio_pins_a>; > + bus-width = <4>; > + no-1-8-v; /* force 3.3V VIO */ > + non-removable; > + vmmc-supply = <®_3v3>; > + mmc-pwrseq = <&wifi_pwrseq>; > + keep-power-in-suspend; > + status = "okay"; > + > + wlan@1 { > + reg = <1>; > + compatible = "brcm,bcm4329-fmac"; > + }; > +}; > + > +&ssp2 { > + compatible = "fsl,imx28-spi"; > + pinctrl-names = "default"; > + pinctrl-0 = <&spi2_pins_a>; > + status = "okay"; > +}; Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Am 22.10.24 um 15:30 schrieb Lukasz Majewski: > The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are to > some extend similar to already upstreamed XEA devices, hence are > using common imx28-lwe.dtsi file. > > New, imx28-btt3.dtsi has been added to embrace common DTS > properties for different HW revisions for this device. > > As a result - changes introduced in imx28-btt3-[012].dts are > minimal. > > Signed-off-by: Lukasz Majewski <lukma@denx.de> Assuming that Rob's comment wouldn't result in fundamental changes here: Reviewed-by: Stefan Wahren <wahrenst@gmx.net>
Am 31.10.24 um 09:42 schrieb Lukasz Majewski: > Dear Community, > >> The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are to >> some extend similar to already upstreamed XEA devices, hence are >> using common imx28-lwe.dtsi file. >> >> New, imx28-btt3.dtsi has been added to embrace common DTS >> properties for different HW revisions for this device. >> >> As a result - changes introduced in imx28-btt3-[012].dts are >> minimal. >> >> Signed-off-by: Lukasz Majewski <lukma@denx.de> >> >> --- >> Changes for v2: >> - Rename dts file from btt3-[012] to imx28-btt3-[012] to match current >> linux kernel naming convention >> - Remove 'wlf,wm8974' from compatible for codec@1a >> >> Changes for v3: >> - Keep alphabethical order for Makefile entries >> >> Changes for v4: >> - Change compatible for btt3 board (to 'lwn,imx28-btt3') >> >> Changes for v5: >> - Combine patch, which adds btt3-[012] with one adding board entry to >> fsl.yaml >> >> Changes for v6: >> - Make the patch series for adding entry in fsl.yaml and btt3 >> >> Changes for v7: >> - Use "panel" property as suggested by the community >> - Use panel-timing to specify the display parameters >> - Update subject line with correct tags >> >> Changes for v8: >> - Use GPIO_ACTIVE_HIGH instead of '0' >> - Add the comment regarding mac address specification >> - Remove superfluous comment >> - Change wifi-en-pin node name >> >> Changes for v9: >> - Remove not used 'pm-ignore-notify' >> - Add display names for 'panel-dpi' compatible to avoid Schema >> warnings >> >> Changes for v10: >> - Drop new line with panel-timing definitions >> - Add new lines with 'sound' node >> - Change 'codec' to 'audio-codec' >> - Change order of properties for saif1 node > Are there any more comments regarding this patch? Sorry, i wasn't aware that you are waiting for reviews after Rob's request.
Hi Stefan, > Am 31.10.24 um 09:42 schrieb Lukasz Majewski: > > Dear Community, > > > >> The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are to > >> some extend similar to already upstreamed XEA devices, hence are > >> using common imx28-lwe.dtsi file. > >> > >> New, imx28-btt3.dtsi has been added to embrace common DTS > >> properties for different HW revisions for this device. > >> > >> As a result - changes introduced in imx28-btt3-[012].dts are > >> minimal. > >> > >> Signed-off-by: Lukasz Majewski <lukma@denx.de> > >> > >> --- > >> Changes for v2: > >> - Rename dts file from btt3-[012] to imx28-btt3-[012] to match > >> current linux kernel naming convention > >> - Remove 'wlf,wm8974' from compatible for codec@1a > >> > >> Changes for v3: > >> - Keep alphabethical order for Makefile entries > >> > >> Changes for v4: > >> - Change compatible for btt3 board (to 'lwn,imx28-btt3') > >> > >> Changes for v5: > >> - Combine patch, which adds btt3-[012] with one adding board entry > >> to fsl.yaml > >> > >> Changes for v6: > >> - Make the patch series for adding entry in fsl.yaml and btt3 > >> > >> Changes for v7: > >> - Use "panel" property as suggested by the community > >> - Use panel-timing to specify the display parameters > >> - Update subject line with correct tags > >> > >> Changes for v8: > >> - Use GPIO_ACTIVE_HIGH instead of '0' > >> - Add the comment regarding mac address specification > >> - Remove superfluous comment > >> - Change wifi-en-pin node name > >> > >> Changes for v9: > >> - Remove not used 'pm-ignore-notify' > >> - Add display names for 'panel-dpi' compatible to avoid Schema > >> warnings > >> > >> Changes for v10: > >> - Drop new line with panel-timing definitions > >> - Add new lines with 'sound' node > >> - Change 'codec' to 'audio-codec' > >> - Change order of properties for saif1 node > > Are there any more comments regarding this patch? > Sorry, i wasn't aware that you are waiting for reviews after Rob's > request. I did not received any mail from Rob's automated DTS test script, so this is a good thing :-). Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Hi Lukasz, Am 31.10.24 um 11:34 schrieb Lukasz Majewski: > Hi Stefan, > >> Am 31.10.24 um 09:42 schrieb Lukasz Majewski: >>> Dear Community, >>> >>>> The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are to >>>> some extend similar to already upstreamed XEA devices, hence are >>>> using common imx28-lwe.dtsi file. >>>> >>>> New, imx28-btt3.dtsi has been added to embrace common DTS >>>> properties for different HW revisions for this device. >>>> >>>> As a result - changes introduced in imx28-btt3-[012].dts are >>>> minimal. >>>> >>>> Signed-off-by: Lukasz Majewski <lukma@denx.de> >>>> >>>> --- >>>> Changes for v2: >>>> - Rename dts file from btt3-[012] to imx28-btt3-[012] to match >>>> current linux kernel naming convention >>>> - Remove 'wlf,wm8974' from compatible for codec@1a >>>> >>>> Changes for v3: >>>> - Keep alphabethical order for Makefile entries >>>> >>>> Changes for v4: >>>> - Change compatible for btt3 board (to 'lwn,imx28-btt3') >>>> >>>> Changes for v5: >>>> - Combine patch, which adds btt3-[012] with one adding board entry >>>> to fsl.yaml >>>> >>>> Changes for v6: >>>> - Make the patch series for adding entry in fsl.yaml and btt3 >>>> >>>> Changes for v7: >>>> - Use "panel" property as suggested by the community >>>> - Use panel-timing to specify the display parameters >>>> - Update subject line with correct tags >>>> >>>> Changes for v8: >>>> - Use GPIO_ACTIVE_HIGH instead of '0' >>>> - Add the comment regarding mac address specification >>>> - Remove superfluous comment >>>> - Change wifi-en-pin node name >>>> >>>> Changes for v9: >>>> - Remove not used 'pm-ignore-notify' >>>> - Add display names for 'panel-dpi' compatible to avoid Schema >>>> warnings >>>> >>>> Changes for v10: >>>> - Drop new line with panel-timing definitions >>>> - Add new lines with 'sound' node >>>> - Change 'codec' to 'audio-codec' >>>> - Change order of properties for saif1 node >>> Are there any more comments regarding this patch? >> Sorry, i wasn't aware that you are waiting for reviews after Rob's >> request. > I did not received any mail from Rob's automated DTS test script, so > this is a good thing :-). I meant his comment to patch 2 V10. This patch "depends" on the binding. > > > Best regards, > > Lukasz Majewski > > -- > > DENX Software Engineering GmbH, Managing Director: Erika Unter > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
On Thu, 31 Oct 2024 11:57:22 +0100 Stefan Wahren <wahrenst@gmx.net> wrote: > Hi Lukasz, > > Am 31.10.24 um 11:34 schrieb Lukasz Majewski: > > Hi Stefan, > > > >> Am 31.10.24 um 09:42 schrieb Lukasz Majewski: > >>> Dear Community, > >>> > >>>> The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are > >>>> to some extend similar to already upstreamed XEA devices, hence > >>>> are using common imx28-lwe.dtsi file. > >>>> > >>>> New, imx28-btt3.dtsi has been added to embrace common DTS > >>>> properties for different HW revisions for this device. > >>>> > >>>> As a result - changes introduced in imx28-btt3-[012].dts are > >>>> minimal. > >>>> > >>>> Signed-off-by: Lukasz Majewski <lukma@denx.de> > >>>> > >>>> --- > >>>> Changes for v2: > >>>> - Rename dts file from btt3-[012] to imx28-btt3-[012] to match > >>>> current linux kernel naming convention > >>>> - Remove 'wlf,wm8974' from compatible for codec@1a > >>>> > >>>> Changes for v3: > >>>> - Keep alphabethical order for Makefile entries > >>>> > >>>> Changes for v4: > >>>> - Change compatible for btt3 board (to 'lwn,imx28-btt3') > >>>> > >>>> Changes for v5: > >>>> - Combine patch, which adds btt3-[012] with one adding board > >>>> entry to fsl.yaml > >>>> > >>>> Changes for v6: > >>>> - Make the patch series for adding entry in fsl.yaml and btt3 > >>>> > >>>> Changes for v7: > >>>> - Use "panel" property as suggested by the community > >>>> - Use panel-timing to specify the display parameters > >>>> - Update subject line with correct tags > >>>> > >>>> Changes for v8: > >>>> - Use GPIO_ACTIVE_HIGH instead of '0' > >>>> - Add the comment regarding mac address specification > >>>> - Remove superfluous comment > >>>> - Change wifi-en-pin node name > >>>> > >>>> Changes for v9: > >>>> - Remove not used 'pm-ignore-notify' > >>>> - Add display names for 'panel-dpi' compatible to avoid Schema > >>>> warnings > >>>> > >>>> Changes for v10: > >>>> - Drop new line with panel-timing definitions > >>>> - Add new lines with 'sound' node > >>>> - Change 'codec' to 'audio-codec' > >>>> - Change order of properties for saif1 node > >>> Are there any more comments regarding this patch? > >> Sorry, i wasn't aware that you are waiting for reviews after Rob's > >> request. > > I did not received any mail from Rob's automated DTS test script, so > > this is a good thing :-). > I meant his comment to patch 2 V10. This patch "depends" on the > binding. Yes on patch 1. > > > > > > Best regards, > > > > Lukasz Majewski > > > > -- > > > > DENX Software Engineering GmbH, Managing Director: Erika Unter > > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, > > Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: > > lukma@denx.de > Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
On Thu, 31 Oct 2024 09:42:36 +0100 Lukasz Majewski <lukma@denx.de> wrote: > Dear Community, > > > The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are to > > some extend similar to already upstreamed XEA devices, hence are > > using common imx28-lwe.dtsi file. > > > > New, imx28-btt3.dtsi has been added to embrace common DTS > > properties for different HW revisions for this device. > > > > As a result - changes introduced in imx28-btt3-[012].dts are > > minimal. > > > > Signed-off-by: Lukasz Majewski <lukma@denx.de> > > > > --- > > Changes for v2: > > - Rename dts file from btt3-[012] to imx28-btt3-[012] to match > > current linux kernel naming convention > > - Remove 'wlf,wm8974' from compatible for codec@1a > > > > Changes for v3: > > - Keep alphabethical order for Makefile entries > > > > Changes for v4: > > - Change compatible for btt3 board (to 'lwn,imx28-btt3') > > > > Changes for v5: > > - Combine patch, which adds btt3-[012] with one adding board entry > > to fsl.yaml > > > > Changes for v6: > > - Make the patch series for adding entry in fsl.yaml and btt3 > > > > Changes for v7: > > - Use "panel" property as suggested by the community > > - Use panel-timing to specify the display parameters > > - Update subject line with correct tags > > > > Changes for v8: > > - Use GPIO_ACTIVE_HIGH instead of '0' > > - Add the comment regarding mac address specification > > - Remove superfluous comment > > - Change wifi-en-pin node name > > > > Changes for v9: > > - Remove not used 'pm-ignore-notify' > > - Add display names for 'panel-dpi' compatible to avoid Schema > > warnings > > > > Changes for v10: > > - Drop new line with panel-timing definitions > > - Add new lines with 'sound' node > > - Change 'codec' to 'audio-codec' > > - Change order of properties for saif1 node > > Are there any more comments regarding this patch? Gentle ping on this patch set. > > > --- > > arch/arm/boot/dts/nxp/mxs/Makefile | 3 + > > arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts | 12 + > > arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts | 8 + > > arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts | 39 +++ > > arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi | 313 > > +++++++++++++++++++++ 5 files changed, 375 insertions(+) > > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts > > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts > > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts > > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi > > > > diff --git a/arch/arm/boot/dts/nxp/mxs/Makefile > > b/arch/arm/boot/dts/nxp/mxs/Makefile index > > a430d04f9c69..96dd31ea19ba 100644 --- > > a/arch/arm/boot/dts/nxp/mxs/Makefile +++ > > b/arch/arm/boot/dts/nxp/mxs/Makefile @@ -8,6 +8,9 @@ > > dtb-$(CONFIG_ARCH_MXS) += \ imx28-apf28.dtb \ > > imx28-apf28dev.dtb \ > > imx28-apx4devkit.dtb \ > > + imx28-btt3-0.dtb \ > > + imx28-btt3-1.dtb \ > > + imx28-btt3-2.dtb \ > > imx28-cfa10036.dtb \ > > imx28-cfa10037.dtb \ > > imx28-cfa10049.dtb \ > > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts > > b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts new file mode 100644 > > index 000000000000..6ac46e4b21bb > > --- /dev/null > > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts > > @@ -0,0 +1,12 @@ > > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > > +/* > > + * Copyright 2024 > > + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de > > + */ > > + > > +/dts-v1/; > > +#include "imx28-btt3.dtsi" > > + > > +&hog_pins_rev { > > + fsl,pull-up = <MXS_PULL_ENABLE>; > > +}; > > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts > > b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts new file mode 100644 > > index 000000000000..213fe931c58b > > --- /dev/null > > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts > > @@ -0,0 +1,8 @@ > > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > > +/* > > + * Copyright 2024 > > + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de > > + */ > > + > > +/dts-v1/; > > +#include "imx28-btt3.dtsi" > > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts > > b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts new file mode 100644 > > index 000000000000..4bccd784d065 > > --- /dev/null > > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts > > @@ -0,0 +1,39 @@ > > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > > +/* > > + * Copyright 2024 > > + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de > > + */ > > + > > +/dts-v1/; > > +#include "imx28-btt3.dtsi" > > + > > +/ { > > + panel { > > + compatible = "powertip,st7272", "panel-dpi"; > > + power-supply = <®_3v3>; > > + width-mm = <70>; > > + height-mm = <52>; > > + > > + panel-timing { > > + clock-frequency = <6500000>; > > + hactive = <320>; > > + vactive = <240>; > > + hfront-porch = <20>; > > + hback-porch = <68>; > > + hsync-len = <30>; > > + vfront-porch = <4>; > > + vback-porch = <14>; > > + vsync-len = <4>; > > + hsync-active = <0>; > > + vsync-active = <0>; > > + de-active = <1>; > > + pixelclk-active = <1>; > > + }; > > + > > + port { > > + panel_in: endpoint { > > + remote-endpoint = <&display_out>; > > + }; > > + }; > > + }; > > +}; > > diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi > > b/arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi new file mode 100644 > > index 000000000000..2c52e67e5c14 > > --- /dev/null > > +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi > > @@ -0,0 +1,313 @@ > > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > > +/* > > + * Copyright 2024 > > + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de > > + */ > > +/dts-v1/; > > +#include "imx28-lwe.dtsi" > > + > > +/ { > > + model = "BTT3"; > > + > > + compatible = "lwn,imx28-btt3", "fsl,imx28"; > > + > > + chosen { > > + bootargs = "root=/dev/mmcblk0p2 rootfstype=ext4 ro > > rootwait console=ttyAMA0,115200 panic=1 quiet"; > > + }; > > + > > + memory@40000000 { > > + reg = <0x40000000 0x10000000>; > > + device_type = "memory"; > > + }; > > + > > + panel { > > + compatible = "powertip,hx8238a", "panel-dpi"; > > + power-supply = <®_3v3>; > > + width-mm = <70>; > > + height-mm = <52>; > > + > > + panel-timing { > > + clock-frequency = <6500000>; > > + hactive = <320>; > > + vactive = <240>; > > + hfront-porch = <20>; > > + hback-porch = <38>; > > + hsync-len = <30>; > > + vfront-porch = <4>; > > + vback-porch = <14>; > > + vsync-len = <4>; > > + hsync-active = <0>; > > + vsync-active = <0>; > > + de-active = <0>; > > + pixelclk-active = <1>; > > + }; > > + > > + port { > > + panel_in: endpoint { > > + remote-endpoint = <&display_out>; > > + }; > > + }; > > + }; > > + > > + poweroff { > > + compatible = "gpio-poweroff"; > > + gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; > > + }; > > + > > + sound { > > + compatible = "simple-audio-card"; > > + simple-audio-card,name = "BTTC Audio"; > > + simple-audio-card,widgets = "Speaker", "BTTC > > Speaker"; > > + simple-audio-card,routing = "BTTC Speaker", > > "SPKOUTN", "BTTC Speaker", "SPKOUTP"; + > > + simple-audio-card,dai-link@0 { > > + format = "left_j"; > > + bitclock-master = <&dai0_master>; > > + frame-master = <&dai0_master>; > > + mclk-fs = <256>; > > + > > + dai0_master: cpu { > > + sound-dai = <&saif0>; > > + }; > > + > > + codec { > > + sound-dai = <&wm89xx>; > > + clocks = <&saif0>; > > + }; > > + }; > > + }; > > + > > + wifi_pwrseq: sdio-pwrseq { > > + compatible = "mmc-pwrseq-simple"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&wifi_en_pin_bttc>; > > + reset-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; > > + /* W1-163 needs 60us for WL_EN to be low and */ > > + /* 150ms after high before downloading FW is > > possible */ > > + post-power-on-delay-ms = <200>; > > + power-off-delay-us = <100>; > > + }; > > +}; > > + > > +&auart0 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&auart0_2pins_a>; > > + status = "okay"; > > +}; > > + > > +&auart3 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&auart3_pins_a>; > > + uart-has-rtscts; > > + status = "okay"; > > +}; > > + > > +&i2c0 { > > + wm89xx: audio-codec@1a { > > + compatible = "wlf,wm8940"; > > + reg = <0x1a>; > > + #sound-dai-cells = <0>; > > + }; > > +}; > > + > > +&lcdif { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&lcdif_24bit_pins_a>, <&lcdif_sync_pins_bttc>, > > + <&lcdif_reset_pins_bttc>; > > + status = "okay"; > > + > > + port { > > + display_out: endpoint { > > + remote-endpoint = <&panel_in>; > > + }; > > + }; > > +}; > > + > > +&mac0 { > > + clocks = <&clks 57>, <&clks 57>, <&clks 64>; > > + clock-names = "ipg", "ahb", "enet_out"; > > + phy-handle = <&mac0_phy>; > > + phy-mode = "rmii"; > > + phy-supply = <®_3v3>; > > + /* > > + * This MAC address is adjusted during production. > > + * Value specified below is used as a fallback during > > recovery. > > + */ > > + local-mac-address = [ 00 11 B8 00 BF 8A ]; > > + status = "okay"; > > + > > + mdio { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + mac0_phy: ethernet-phy@0 { > > + /* LAN8720Ai - PHY ID */ > > + compatible = > > "ethernet-phy-id0007.c0f0","ethernet-phy-ieee802.3-c22"; > > + reg = <0>; > > + smsc,disable-energy-detect; > > + max-speed = <100>; > > + reset-gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; > > + reset-assert-us = <1000>; > > + reset-deassert-us = <1000>; > > + }; > > + }; > > +}; > > + > > +&pinctrl { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&hog_pins_a>, <&hog_pins_rev>; > > + > > + hog_pins_a: hog@0 { > > + reg = <0>; > > + fsl,pinmux-ids = < > > + MX28_PAD_GPMI_RDY2__GPIO_0_22 > > + MX28_PAD_GPMI_RDY3__GPIO_0_23 > > + MX28_PAD_GPMI_RDN__GPIO_0_24 > > + MX28_PAD_LCD_VSYNC__GPIO_1_28 > > + MX28_PAD_SSP2_SS1__GPIO_2_20 > > + MX28_PAD_SSP2_SS2__GPIO_2_21 > > + MX28_PAD_AUART2_CTS__GPIO_3_10 > > + MX28_PAD_AUART2_RTS__GPIO_3_11 > > + MX28_PAD_GPMI_WRN__GPIO_0_25 > > + MX28_PAD_ENET0_RXD2__GPIO_4_9 > > + MX28_PAD_ENET0_TXD2__GPIO_4_11 > > + >; > > + fsl,drive-strength = <MXS_DRIVE_4mA>; > > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > > + fsl,pull-up = <MXS_PULL_DISABLE>; > > + }; > > + > > + hog_pins_rev: hog@1 { > > + reg = <1>; > > + fsl,pinmux-ids = < > > + MX28_PAD_ENET0_RXD3__GPIO_4_10 > > + MX28_PAD_ENET0_TX_CLK__GPIO_4_5 > > + MX28_PAD_ENET0_COL__GPIO_4_14 > > + MX28_PAD_ENET0_CRS__GPIO_4_15 > > + >; > > + fsl,drive-strength = <MXS_DRIVE_4mA>; > > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > > + fsl,pull-up = <MXS_PULL_DISABLE>; > > + }; > > + > > + keypad_pins_bttc: keypad-bttc@0 { > > + reg = <0>; > > + fsl,pinmux-ids = < > > + MX28_PAD_GPMI_D00__GPIO_0_0 > > + MX28_PAD_AUART0_CTS__GPIO_3_2 > > + MX28_PAD_AUART0_RTS__GPIO_3_3 > > + MX28_PAD_GPMI_D03__GPIO_0_3 > > + MX28_PAD_GPMI_D04__GPIO_0_4 > > + MX28_PAD_GPMI_D05__GPIO_0_5 > > + MX28_PAD_GPMI_D06__GPIO_0_6 > > + MX28_PAD_GPMI_D07__GPIO_0_7 > > + MX28_PAD_GPMI_CE1N__GPIO_0_17 > > + MX28_PAD_GPMI_CE2N__GPIO_0_18 > > + MX28_PAD_GPMI_CE3N__GPIO_0_19 > > + MX28_PAD_GPMI_RDY0__GPIO_0_20 > > + >; > > + fsl,drive-strength = <MXS_DRIVE_4mA>; > > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > > + fsl,pull-up = <MXS_PULL_DISABLE>; > > + }; > > + > > + lcdif_sync_pins_bttc: lcdif-bttc@0 { > > + reg = <0>; > > + fsl,pinmux-ids = < > > + MX28_PAD_LCD_DOTCLK__LCD_DOTCLK > > + MX28_PAD_LCD_ENABLE__LCD_ENABLE > > + MX28_PAD_LCD_HSYNC__LCD_HSYNC > > + MX28_PAD_LCD_RD_E__LCD_VSYNC > > + >; > > + fsl,drive-strength = <MXS_DRIVE_4mA>; > > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > > + fsl,pull-up = <MXS_PULL_DISABLE>; > > + }; > > + > > + lcdif_reset_pins_bttc: lcdif-bttc@1 { > > + reg = <1>; > > + fsl,pinmux-ids = < > > + MX28_PAD_LCD_RESET__GPIO_3_30 > > + >; > > + fsl,drive-strength = <MXS_DRIVE_4mA>; > > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > > + fsl,pull-up = <MXS_PULL_ENABLE>; > > + }; > > + > > + ssp1_sdio_pins_a: ssp1-sdio@0 { > > + reg = <0>; > > + fsl,pinmux-ids = < > > + MX28_PAD_SSP1_DATA0__SSP1_D0 > > + MX28_PAD_GPMI_D01__SSP1_D1 > > + MX28_PAD_GPMI_D02__SSP1_D2 > > + MX28_PAD_SSP1_DATA3__SSP1_D3 > > + MX28_PAD_SSP1_CMD__SSP1_CMD > > + MX28_PAD_SSP1_SCK__SSP1_SCK > > + >; > > + fsl,drive-strength = <MXS_DRIVE_8mA>; > > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > > + fsl,pull-up = <MXS_PULL_ENABLE>; > > + }; > > + > > + wifi_en_pin_bttc: wifi-en-pin@0 { > > + reg = <0>; > > + fsl,pinmux-ids = < > > + MX28_PAD_GPMI_CLE__GPIO_0_27 > > + >; > > + fsl,drive-strength = <MXS_DRIVE_8mA>; > > + fsl,voltage = <MXS_VOLTAGE_HIGH>; > > + fsl,pull-up = <MXS_PULL_ENABLE>; > > + }; > > +}; > > + > > +&pwm { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pwm3_pins_a>; > > + status = "okay"; > > +}; > > + > > +®_usb_5v { > > + gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>; > > +}; > > + > > +&saif0 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&saif0_pins_a>; > > + #sound-dai-cells = <0>; > > + assigned-clocks = <&clks 53>; > > + assigned-clock-rates = <12000000>; > > + status = "okay"; > > +}; > > + > > +&saif1 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&saif1_pins_a>; > > + #sound-dai-cells = <0>; > > + fsl,saif-master = <&saif0>; > > + status = "okay"; > > +}; > > + > > +&ssp1 { > > + compatible = "fsl,imx28-mmc"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&ssp1_sdio_pins_a>; > > + bus-width = <4>; > > + no-1-8-v; /* force 3.3V VIO */ > > + non-removable; > > + vmmc-supply = <®_3v3>; > > + mmc-pwrseq = <&wifi_pwrseq>; > > + keep-power-in-suspend; > > + status = "okay"; > > + > > + wlan@1 { > > + reg = <1>; > > + compatible = "brcm,bcm4329-fmac"; > > + }; > > +}; > > + > > +&ssp2 { > > + compatible = "fsl,imx28-spi"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&spi2_pins_a>; > > + status = "okay"; > > +}; > > > > > Best regards, > > Lukasz Majewski > > -- > > DENX Software Engineering GmbH, Managing Director: Erika Unter > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: > lukma@denx.de Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Hi Lukasz, Am 06.11.24 um 11:57 schrieb Lukasz Majewski: > On Thu, 31 Oct 2024 09:42:36 +0100 > Lukasz Majewski <lukma@denx.de> wrote: > >> Dear Community, >> >>> The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are to >>> some extend similar to already upstreamed XEA devices, hence are >>> using common imx28-lwe.dtsi file. >>> >>> New, imx28-btt3.dtsi has been added to embrace common DTS >>> properties for different HW revisions for this device. >>> >>> As a result - changes introduced in imx28-btt3-[012].dts are >>> minimal. >>> >>> Signed-off-by: Lukasz Majewski <lukma@denx.de> >>> >>> --- >>> Changes for v2: >>> - Rename dts file from btt3-[012] to imx28-btt3-[012] to match >>> current linux kernel naming convention >>> - Remove 'wlf,wm8974' from compatible for codec@1a >>> >>> Changes for v3: >>> - Keep alphabethical order for Makefile entries >>> >>> Changes for v4: >>> - Change compatible for btt3 board (to 'lwn,imx28-btt3') >>> >>> Changes for v5: >>> - Combine patch, which adds btt3-[012] with one adding board entry >>> to fsl.yaml >>> >>> Changes for v6: >>> - Make the patch series for adding entry in fsl.yaml and btt3 >>> >>> Changes for v7: >>> - Use "panel" property as suggested by the community >>> - Use panel-timing to specify the display parameters >>> - Update subject line with correct tags >>> >>> Changes for v8: >>> - Use GPIO_ACTIVE_HIGH instead of '0' >>> - Add the comment regarding mac address specification >>> - Remove superfluous comment >>> - Change wifi-en-pin node name >>> >>> Changes for v9: >>> - Remove not used 'pm-ignore-notify' >>> - Add display names for 'panel-dpi' compatible to avoid Schema >>> warnings >>> >>> Changes for v10: >>> - Drop new line with panel-timing definitions >>> - Add new lines with 'sound' node >>> - Change 'codec' to 'audio-codec' >>> - Change order of properties for saif1 node >> Are there any more comments regarding this patch? > Gentle ping on this patch set. I do not see a reason to ping on this series as long Rob's comment from Oct 22th is not addressed. Please reply to him if something is not clear. Best regards
diff --git a/arch/arm/boot/dts/nxp/mxs/Makefile b/arch/arm/boot/dts/nxp/mxs/Makefile index a430d04f9c69..96dd31ea19ba 100644 --- a/arch/arm/boot/dts/nxp/mxs/Makefile +++ b/arch/arm/boot/dts/nxp/mxs/Makefile @@ -8,6 +8,9 @@ dtb-$(CONFIG_ARCH_MXS) += \ imx28-apf28.dtb \ imx28-apf28dev.dtb \ imx28-apx4devkit.dtb \ + imx28-btt3-0.dtb \ + imx28-btt3-1.dtb \ + imx28-btt3-2.dtb \ imx28-cfa10036.dtb \ imx28-cfa10037.dtb \ imx28-cfa10049.dtb \ diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts new file mode 100644 index 000000000000..6ac46e4b21bb --- /dev/null +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2024 + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de + */ + +/dts-v1/; +#include "imx28-btt3.dtsi" + +&hog_pins_rev { + fsl,pull-up = <MXS_PULL_ENABLE>; +}; diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts new file mode 100644 index 000000000000..213fe931c58b --- /dev/null +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2024 + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de + */ + +/dts-v1/; +#include "imx28-btt3.dtsi" diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts new file mode 100644 index 000000000000..4bccd784d065 --- /dev/null +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2024 + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de + */ + +/dts-v1/; +#include "imx28-btt3.dtsi" + +/ { + panel { + compatible = "powertip,st7272", "panel-dpi"; + power-supply = <®_3v3>; + width-mm = <70>; + height-mm = <52>; + + panel-timing { + clock-frequency = <6500000>; + hactive = <320>; + vactive = <240>; + hfront-porch = <20>; + hback-porch = <68>; + hsync-len = <30>; + vfront-porch = <4>; + vback-porch = <14>; + vsync-len = <4>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + }; + + port { + panel_in: endpoint { + remote-endpoint = <&display_out>; + }; + }; + }; +}; diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi b/arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi new file mode 100644 index 000000000000..2c52e67e5c14 --- /dev/null +++ b/arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi @@ -0,0 +1,313 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2024 + * Lukasz Majewski, DENX Software Engineering, lukma@denx.de + */ +/dts-v1/; +#include "imx28-lwe.dtsi" + +/ { + model = "BTT3"; + + compatible = "lwn,imx28-btt3", "fsl,imx28"; + + chosen { + bootargs = "root=/dev/mmcblk0p2 rootfstype=ext4 ro rootwait console=ttyAMA0,115200 panic=1 quiet"; + }; + + memory@40000000 { + reg = <0x40000000 0x10000000>; + device_type = "memory"; + }; + + panel { + compatible = "powertip,hx8238a", "panel-dpi"; + power-supply = <®_3v3>; + width-mm = <70>; + height-mm = <52>; + + panel-timing { + clock-frequency = <6500000>; + hactive = <320>; + vactive = <240>; + hfront-porch = <20>; + hback-porch = <38>; + hsync-len = <30>; + vfront-porch = <4>; + vback-porch = <14>; + vsync-len = <4>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <0>; + pixelclk-active = <1>; + }; + + port { + panel_in: endpoint { + remote-endpoint = <&display_out>; + }; + }; + }; + + poweroff { + compatible = "gpio-poweroff"; + gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; + }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "BTTC Audio"; + simple-audio-card,widgets = "Speaker", "BTTC Speaker"; + simple-audio-card,routing = "BTTC Speaker", "SPKOUTN", "BTTC Speaker", "SPKOUTP"; + + simple-audio-card,dai-link@0 { + format = "left_j"; + bitclock-master = <&dai0_master>; + frame-master = <&dai0_master>; + mclk-fs = <256>; + + dai0_master: cpu { + sound-dai = <&saif0>; + }; + + codec { + sound-dai = <&wm89xx>; + clocks = <&saif0>; + }; + }; + }; + + wifi_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_en_pin_bttc>; + reset-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; + /* W1-163 needs 60us for WL_EN to be low and */ + /* 150ms after high before downloading FW is possible */ + post-power-on-delay-ms = <200>; + power-off-delay-us = <100>; + }; +}; + +&auart0 { + pinctrl-names = "default"; + pinctrl-0 = <&auart0_2pins_a>; + status = "okay"; +}; + +&auart3 { + pinctrl-names = "default"; + pinctrl-0 = <&auart3_pins_a>; + uart-has-rtscts; + status = "okay"; +}; + +&i2c0 { + wm89xx: audio-codec@1a { + compatible = "wlf,wm8940"; + reg = <0x1a>; + #sound-dai-cells = <0>; + }; +}; + +&lcdif { + pinctrl-names = "default"; + pinctrl-0 = <&lcdif_24bit_pins_a>, <&lcdif_sync_pins_bttc>, + <&lcdif_reset_pins_bttc>; + status = "okay"; + + port { + display_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; +}; + +&mac0 { + clocks = <&clks 57>, <&clks 57>, <&clks 64>; + clock-names = "ipg", "ahb", "enet_out"; + phy-handle = <&mac0_phy>; + phy-mode = "rmii"; + phy-supply = <®_3v3>; + /* + * This MAC address is adjusted during production. + * Value specified below is used as a fallback during recovery. + */ + local-mac-address = [ 00 11 B8 00 BF 8A ]; + status = "okay"; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + mac0_phy: ethernet-phy@0 { + /* LAN8720Ai - PHY ID */ + compatible = "ethernet-phy-id0007.c0f0","ethernet-phy-ieee802.3-c22"; + reg = <0>; + smsc,disable-energy-detect; + max-speed = <100>; + reset-gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; + reset-assert-us = <1000>; + reset-deassert-us = <1000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&hog_pins_a>, <&hog_pins_rev>; + + hog_pins_a: hog@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_GPMI_RDY2__GPIO_0_22 + MX28_PAD_GPMI_RDY3__GPIO_0_23 + MX28_PAD_GPMI_RDN__GPIO_0_24 + MX28_PAD_LCD_VSYNC__GPIO_1_28 + MX28_PAD_SSP2_SS1__GPIO_2_20 + MX28_PAD_SSP2_SS2__GPIO_2_21 + MX28_PAD_AUART2_CTS__GPIO_3_10 + MX28_PAD_AUART2_RTS__GPIO_3_11 + MX28_PAD_GPMI_WRN__GPIO_0_25 + MX28_PAD_ENET0_RXD2__GPIO_4_9 + MX28_PAD_ENET0_TXD2__GPIO_4_11 + >; + fsl,drive-strength = <MXS_DRIVE_4mA>; + fsl,voltage = <MXS_VOLTAGE_HIGH>; + fsl,pull-up = <MXS_PULL_DISABLE>; + }; + + hog_pins_rev: hog@1 { + reg = <1>; + fsl,pinmux-ids = < + MX28_PAD_ENET0_RXD3__GPIO_4_10 + MX28_PAD_ENET0_TX_CLK__GPIO_4_5 + MX28_PAD_ENET0_COL__GPIO_4_14 + MX28_PAD_ENET0_CRS__GPIO_4_15 + >; + fsl,drive-strength = <MXS_DRIVE_4mA>; + fsl,voltage = <MXS_VOLTAGE_HIGH>; + fsl,pull-up = <MXS_PULL_DISABLE>; + }; + + keypad_pins_bttc: keypad-bttc@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_GPMI_D00__GPIO_0_0 + MX28_PAD_AUART0_CTS__GPIO_3_2 + MX28_PAD_AUART0_RTS__GPIO_3_3 + MX28_PAD_GPMI_D03__GPIO_0_3 + MX28_PAD_GPMI_D04__GPIO_0_4 + MX28_PAD_GPMI_D05__GPIO_0_5 + MX28_PAD_GPMI_D06__GPIO_0_6 + MX28_PAD_GPMI_D07__GPIO_0_7 + MX28_PAD_GPMI_CE1N__GPIO_0_17 + MX28_PAD_GPMI_CE2N__GPIO_0_18 + MX28_PAD_GPMI_CE3N__GPIO_0_19 + MX28_PAD_GPMI_RDY0__GPIO_0_20 + >; + fsl,drive-strength = <MXS_DRIVE_4mA>; + fsl,voltage = <MXS_VOLTAGE_HIGH>; + fsl,pull-up = <MXS_PULL_DISABLE>; + }; + + lcdif_sync_pins_bttc: lcdif-bttc@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_LCD_DOTCLK__LCD_DOTCLK + MX28_PAD_LCD_ENABLE__LCD_ENABLE + MX28_PAD_LCD_HSYNC__LCD_HSYNC + MX28_PAD_LCD_RD_E__LCD_VSYNC + >; + fsl,drive-strength = <MXS_DRIVE_4mA>; + fsl,voltage = <MXS_VOLTAGE_HIGH>; + fsl,pull-up = <MXS_PULL_DISABLE>; + }; + + lcdif_reset_pins_bttc: lcdif-bttc@1 { + reg = <1>; + fsl,pinmux-ids = < + MX28_PAD_LCD_RESET__GPIO_3_30 + >; + fsl,drive-strength = <MXS_DRIVE_4mA>; + fsl,voltage = <MXS_VOLTAGE_HIGH>; + fsl,pull-up = <MXS_PULL_ENABLE>; + }; + + ssp1_sdio_pins_a: ssp1-sdio@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_SSP1_DATA0__SSP1_D0 + MX28_PAD_GPMI_D01__SSP1_D1 + MX28_PAD_GPMI_D02__SSP1_D2 + MX28_PAD_SSP1_DATA3__SSP1_D3 + MX28_PAD_SSP1_CMD__SSP1_CMD + MX28_PAD_SSP1_SCK__SSP1_SCK + >; + fsl,drive-strength = <MXS_DRIVE_8mA>; + fsl,voltage = <MXS_VOLTAGE_HIGH>; + fsl,pull-up = <MXS_PULL_ENABLE>; + }; + + wifi_en_pin_bttc: wifi-en-pin@0 { + reg = <0>; + fsl,pinmux-ids = < + MX28_PAD_GPMI_CLE__GPIO_0_27 + >; + fsl,drive-strength = <MXS_DRIVE_8mA>; + fsl,voltage = <MXS_VOLTAGE_HIGH>; + fsl,pull-up = <MXS_PULL_ENABLE>; + }; +}; + +&pwm { + pinctrl-names = "default"; + pinctrl-0 = <&pwm3_pins_a>; + status = "okay"; +}; + +®_usb_5v { + gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>; +}; + +&saif0 { + pinctrl-names = "default"; + pinctrl-0 = <&saif0_pins_a>; + #sound-dai-cells = <0>; + assigned-clocks = <&clks 53>; + assigned-clock-rates = <12000000>; + status = "okay"; +}; + +&saif1 { + pinctrl-names = "default"; + pinctrl-0 = <&saif1_pins_a>; + #sound-dai-cells = <0>; + fsl,saif-master = <&saif0>; + status = "okay"; +}; + +&ssp1 { + compatible = "fsl,imx28-mmc"; + pinctrl-names = "default"; + pinctrl-0 = <&ssp1_sdio_pins_a>; + bus-width = <4>; + no-1-8-v; /* force 3.3V VIO */ + non-removable; + vmmc-supply = <®_3v3>; + mmc-pwrseq = <&wifi_pwrseq>; + keep-power-in-suspend; + status = "okay"; + + wlan@1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + }; +}; + +&ssp2 { + compatible = "fsl,imx28-spi"; + pinctrl-names = "default"; + pinctrl-0 = <&spi2_pins_a>; + status = "okay"; +};
The btt3 device' HW revisions from 0 to 2 use imx287 SoC and are to some extend similar to already upstreamed XEA devices, hence are using common imx28-lwe.dtsi file. New, imx28-btt3.dtsi has been added to embrace common DTS properties for different HW revisions for this device. As a result - changes introduced in imx28-btt3-[012].dts are minimal. Signed-off-by: Lukasz Majewski <lukma@denx.de> --- Changes for v2: - Rename dts file from btt3-[012] to imx28-btt3-[012] to match current linux kernel naming convention - Remove 'wlf,wm8974' from compatible for codec@1a Changes for v3: - Keep alphabethical order for Makefile entries Changes for v4: - Change compatible for btt3 board (to 'lwn,imx28-btt3') Changes for v5: - Combine patch, which adds btt3-[012] with one adding board entry to fsl.yaml Changes for v6: - Make the patch series for adding entry in fsl.yaml and btt3 Changes for v7: - Use "panel" property as suggested by the community - Use panel-timing to specify the display parameters - Update subject line with correct tags Changes for v8: - Use GPIO_ACTIVE_HIGH instead of '0' - Add the comment regarding mac address specification - Remove superfluous comment - Change wifi-en-pin node name Changes for v9: - Remove not used 'pm-ignore-notify' - Add display names for 'panel-dpi' compatible to avoid Schema warnings Changes for v10: - Drop new line with panel-timing definitions - Add new lines with 'sound' node - Change 'codec' to 'audio-codec' - Change order of properties for saif1 node --- arch/arm/boot/dts/nxp/mxs/Makefile | 3 + arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts | 12 + arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts | 8 + arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts | 39 +++ arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi | 313 +++++++++++++++++++++ 5 files changed, 375 insertions(+) create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dts create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dts create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dts create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-btt3.dtsi