Message ID | 20190321025655.15031-3-marex@denx.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [V4,1/3] of: Add vendor prefix for Menlo Systems GmbH | expand |
On Thu, Mar 21, 2019 at 03:56:55AM +0100, Marek Vasut wrote: > Add device tree for the Menlosystems board based on i.MX53 M53 SoM. > > Signed-off-by: Marek Vasut <marex@denx.de> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: Fabio Estevam <festevam@gmail.com> > Cc: NXP Linux Team <linux-imx@nxp.com> > To: linux-arm-kernel@lists.infradead.org > --- > V2: - Rebase on latest next/master > V3: - Add vendor specific compatible for the platform > - Rename ledgrp and touchscreen nodes to follow DT spec > - Update pinmux (LVDS has no pin config, so use default settings) > V4: - Add fsl.yaml entry > - Pull regulator out of simple bus > - Rename touchscreen@ node > - Add reg entry to lvds-channel@0 > - Fix touchscreen interrupt polarity > --- > .../devicetree/bindings/arm/fsl.yaml | 1 + We need to make the bindings a separate patch and be ACK-ed by DT folks. > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/imx53-m53menlo.dts | 310 ++++++++++++++++++ > 3 files changed, 312 insertions(+) > create mode 100644 arch/arm/boot/dts/imx53-m53menlo.dts > > diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml > index 7e2cd6ad26bd..d106003a0c91 100644 > --- a/Documentation/devicetree/bindings/arm/fsl.yaml > +++ b/Documentation/devicetree/bindings/arm/fsl.yaml > @@ -67,6 +67,7 @@ properties: > - fsl,imx53-evk > - fsl,imx53-qsb > - fsl,imx53-smd > + - menlo,m53menlo > - const: fsl,imx53 > > - description: i.MX6Q based Boards > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index dad1202d1d87..96ea958698a0 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -380,6 +380,7 @@ dtb-$(CONFIG_SOC_IMX53) += \ > imx53-kp-ddc.dtb \ > imx53-kp-hsc.dtb \ > imx53-m53evk.dtb \ > + imx53-m53menlo.dtb \ > imx53-mba53.dtb \ > imx53-ppd.dtb \ > imx53-qsb.dtb \ > diff --git a/arch/arm/boot/dts/imx53-m53menlo.dts b/arch/arm/boot/dts/imx53-m53menlo.dts > new file mode 100644 > index 000000000000..441842b272e1 > --- /dev/null > +++ b/arch/arm/boot/dts/imx53-m53menlo.dts > @@ -0,0 +1,310 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (C) 2019 Marek Vasut <marex@denx.de> > + */ > + > +/dts-v1/; > +#include "imx53-m53.dtsi" > + > +/ { > + model = "MENLO M53 EMBEDDED DEVICE"; > + compatible = "menlo,m53menlo", "fsl,imx53"; > + > + leds { > + compatible = "gpio-leds"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_led>; > + > + user1 { > + label = "TestLed601"; > + gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "mmc0"; > + }; > + > + user2 { > + label = "TestLed602"; > + gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "heartbeat"; > + }; > + > + eth { > + label = "EthLedYe"; > + gpios = <&gpio2 11 GPIO_ACTIVE_LOW>; > + linux,default-trigger = "none"; > + }; > + }; > + > + panel { > + compatible = "edt,etm070080dh6"; > + enable-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&lvds0_out>; > + }; > + }; > + }; > + > + reg_usbh1_vbus: regulator-usbh1-vbus { > + compatible = "regulator-fixed"; > + regulator-name = "vbus"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + gpio = <&gpio1 2 GPIO_ACTIVE_LOW>; > + }; > +}; > + > +&can1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_can1>; > + status = "okay"; > +}; > + > +&can2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_can2>; > + status = "okay"; > +}; > + > +&clks { > + assigned-clocks = <&clks IMX5_CLK_CKO1_SEL>, > + <&clks IMX5_CLK_CKO1_PODF>, > + <&clks IMX5_CLK_CKO1>; > + assigned-clock-parents = <&clks IMX5_CLK_AHB>; > + assigned-clock-rates = <133333334>, <33333334>, <33333334>; > +}; > + > +&esdhc1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_esdhc1>; > + cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; > + wp-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; > + status = "okay"; > +}; > + > +&fec { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_fec>; > + phy-mode = "rmii"; > + status = "okay"; > +}; > + > +&i2c1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_i2c1>; > + status = "okay"; > + > + touchscreen@38 { > + compatible = "edt,edt-ft5x06"; > + reg = <0x38>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_edt_ft5x06>; > + interrupt-parent = <&gpio6>; > + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; > + reset-gpios = <&gpio2 9 GPIO_ACTIVE_LOW>; > + wake-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; > + }; > + > + eeprom@50 { > + compatible = "atmel,24c64"; > + reg = <0x50>; > + pagesize = <32>; > + }; > + > + dac@60 { > + compatible = "microchip,mcp4725"; > + reg = <0x60>; > + }; > +}; > + > +&i2c2 { > + touchscreen@41 { > + status = "disabled"; > + }; > +}; > + > +&i2c3 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_i2c3>; > + status = "okay"; > +}; > + > +&iomuxc { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_hog>; > + > + imx53-m53evk { > + hoggrp { > + fsl,pins = < > + MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x1c4 > + MX53_PAD_EIM_EB3__GPIO2_31 0x1d5 > + MX53_PAD_PATA_DA_0__GPIO7_6 0x1d5 > + MX53_PAD_GPIO_19__CCM_CLKO 0x1d5 > + MX53_PAD_CSI0_MCLK__CCM_CSI0_MCLK 0x1d5 > + MX53_PAD_CSI0_DAT4__GPIO5_22 0x1d5 > + MX53_PAD_CSI0_DAT5__GPIO5_23 0x1d5 > + MX53_PAD_CSI0_DAT6__GPIO5_24 0x1d5 > + MX53_PAD_CSI0_DAT7__GPIO5_25 0x1d5 > + MX53_PAD_CSI0_DAT8__GPIO5_26 0x1d5 > + MX53_PAD_CSI0_DAT9__GPIO5_27 0x1d5 > + MX53_PAD_CSI0_DAT10__GPIO5_28 0x1d5 > + MX53_PAD_CSI0_DAT11__GPIO5_29 0x1d5 > + MX53_PAD_CSI0_DAT14__GPIO6_0 0x1d5 > + >; > + }; > + > + pinctrl_led: ledgrp { > + fsl,pins = < > + MX53_PAD_CSI0_DAT15__GPIO6_1 0x1d5 > + MX53_PAD_CSI0_DAT16__GPIO6_2 0x1d5 > + >; > + }; > + > + pinctrl_can1: can1grp { > + fsl,pins = < > + MX53_PAD_GPIO_7__CAN1_TXCAN 0x1c4 > + MX53_PAD_GPIO_8__CAN1_RXCAN 0x1c4 > + >; > + }; > + > + pinctrl_can2: can2grp { > + fsl,pins = < > + MX53_PAD_KEY_COL4__CAN2_TXCAN 0x1c4 > + MX53_PAD_KEY_ROW4__CAN2_RXCAN 0x1c4 > + >; > + }; > + > + pinctrl_display_gpio: display-gpiogrp { > + fsl,pins = < > + MX53_PAD_CSI0_DAT12__GPIO5_30 0x1d5 /* Reset */ > + MX53_PAD_CSI0_DAT13__GPIO5_31 0x1d5 /* Interrupt */ > + >; > + }; > + > + pinctrl_edt_ft5x06: edt-ft5x06grp { > + fsl,pins = < > + MX53_PAD_PATA_DATA9__GPIO2_9 0x1d5 /* Reset */ > + MX53_PAD_CSI0_DAT19__GPIO6_5 0x1d5 /* Interrupt */ > + MX53_PAD_PATA_DATA10__GPIO2_10 0x1d5 /* Wake */ > + >; > + }; > + > + pinctrl_esdhc1: esdhc1grp { > + fsl,pins = < > + MX53_PAD_SD1_DATA0__ESDHC1_DAT0 0x1d5 > + MX53_PAD_SD1_DATA1__ESDHC1_DAT1 0x1d5 > + MX53_PAD_SD1_DATA2__ESDHC1_DAT2 0x1d5 > + MX53_PAD_SD1_DATA3__ESDHC1_DAT3 0x1d5 > + MX53_PAD_SD1_CMD__ESDHC1_CMD 0x1d5 > + MX53_PAD_SD1_CLK__ESDHC1_CLK 0x1d5 > + >; > + }; > + > + pinctrl_fec: fecgrp { > + fsl,pins = < > + MX53_PAD_FEC_MDC__FEC_MDC 0x4 > + MX53_PAD_FEC_MDIO__FEC_MDIO 0x1fc > + MX53_PAD_FEC_REF_CLK__FEC_TX_CLK 0x180 > + MX53_PAD_FEC_RX_ER__FEC_RX_ER 0x180 > + MX53_PAD_FEC_CRS_DV__FEC_RX_DV 0x180 > + MX53_PAD_FEC_RXD1__FEC_RDATA_1 0x180 > + MX53_PAD_FEC_RXD0__FEC_RDATA_0 0x180 > + MX53_PAD_FEC_TX_EN__FEC_TX_EN 0x4 > + MX53_PAD_FEC_TXD1__FEC_TDATA_1 0x4 > + MX53_PAD_FEC_TXD0__FEC_TDATA_0 0x4 > + >; > + }; > + > + pinctrl_i2c1: i2c1grp { > + fsl,pins = < > + MX53_PAD_EIM_D21__I2C1_SCL 0x400001e4 > + MX53_PAD_EIM_D28__I2C1_SDA 0x400001e4 > + >; > + }; > + > + pinctrl_i2c3: i2c3grp { > + fsl,pins = < > + MX53_PAD_GPIO_6__I2C3_SDA 0x400001e4 > + MX53_PAD_GPIO_5__I2C3_SCL 0x400001e4 > + >; > + }; > + > + pinctrl_lvds0: lvds0grp { > + fsl,pins = < > + MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000 > + MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000 > + MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000 > + MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000 > + MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000 Please have proper pad configurations rather than relying on the settings out of reset or set up by bootloader. Shawn > + >; > + }; > + > + pinctrl_uart1: uart1grp { > + fsl,pins = < > + MX53_PAD_PATA_DIOW__UART1_TXD_MUX 0x1e4 > + MX53_PAD_PATA_DMACK__UART1_RXD_MUX 0x1e4 > + >; > + }; > + > + pinctrl_uart2: uart2grp { > + fsl,pins = < > + MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX 0x1e4 > + MX53_PAD_PATA_DMARQ__UART2_TXD_MUX 0x1e4 > + >; > + }; > + > + pinctrl_usb: usbgrp { > + fsl,pins = < > + MX53_PAD_GPIO_2__GPIO1_2 0x1d5 > + MX53_PAD_GPIO_3__USBOH3_USBH1_OC 0x1d5 > + >; > + }; > + }; > +}; > + > +&ldb { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_lvds0>; > + status = "okay"; > + > + lvds0: lvds-channel@0 { > + reg = <0>; > + fsl,data-mapping = "spwg"; > + fsl,data-width = <18>; > + status = "okay"; > + > + port@2 { > + reg = <2>; > + > + lvds0_out: endpoint { > + remote-endpoint = <&panel_in>; > + }; > + }; > + }; > +}; > + > +&uart1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_uart1>; > + status = "okay"; > +}; > + > +&uart2 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_uart2>; > + status = "okay"; > +}; > + > +&usbh1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_usb>; > + vbus-supply = <®_usbh1_vbus>; > + phy_type = "utmi"; > + dr_mode = "peripheral"; > + status = "okay"; > +}; > + > +&usbotg { > + dr_mode = "peripheral"; > + status = "okay"; > +}; > -- > 2.20.1 >
On 3/26/19 9:42 AM, Shawn Guo wrote: > On Thu, Mar 21, 2019 at 03:56:55AM +0100, Marek Vasut wrote: >> Add device tree for the Menlosystems board based on i.MX53 M53 SoM. >> >> Signed-off-by: Marek Vasut <marex@denx.de> >> Cc: Shawn Guo <shawnguo@kernel.org> >> Cc: Fabio Estevam <festevam@gmail.com> >> Cc: NXP Linux Team <linux-imx@nxp.com> >> To: linux-arm-kernel@lists.infradead.org >> --- >> V2: - Rebase on latest next/master >> V3: - Add vendor specific compatible for the platform >> - Rename ledgrp and touchscreen nodes to follow DT spec >> - Update pinmux (LVDS has no pin config, so use default settings) >> V4: - Add fsl.yaml entry >> - Pull regulator out of simple bus >> - Rename touchscreen@ node >> - Add reg entry to lvds-channel@0 >> - Fix touchscreen interrupt polarity >> --- >> .../devicetree/bindings/arm/fsl.yaml | 1 + > > We need to make the bindings a separate patch and be ACK-ed by DT folks. Sure. >> arch/arm/boot/dts/Makefile | 1 + >> arch/arm/boot/dts/imx53-m53menlo.dts | 310 ++++++++++++++++++ >> 3 files changed, 312 insertions(+) >> create mode 100644 arch/arm/boot/dts/imx53-m53menlo.dts >> [...] >> + pinctrl_lvds0: lvds0grp { >> + fsl,pins = < >> + MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000 >> + MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000 >> + MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000 >> + MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000 >> + MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000 > > Please have proper pad configurations rather than relying on the > settings out of reset or set up by bootloader. Do you have an example LVDS configuration for the MX53 ? I didn't find one, all the other boards just leave the LVDS line configuration in default settings.
On Tue, Mar 26, 2019 at 05:44:41PM +0100, Marek Vasut wrote: > On 3/26/19 9:42 AM, Shawn Guo wrote: > > On Thu, Mar 21, 2019 at 03:56:55AM +0100, Marek Vasut wrote: > >> Add device tree for the Menlosystems board based on i.MX53 M53 SoM. > >> > >> Signed-off-by: Marek Vasut <marex@denx.de> > >> Cc: Shawn Guo <shawnguo@kernel.org> > >> Cc: Fabio Estevam <festevam@gmail.com> > >> Cc: NXP Linux Team <linux-imx@nxp.com> > >> To: linux-arm-kernel@lists.infradead.org > >> --- > >> V2: - Rebase on latest next/master > >> V3: - Add vendor specific compatible for the platform > >> - Rename ledgrp and touchscreen nodes to follow DT spec > >> - Update pinmux (LVDS has no pin config, so use default settings) > >> V4: - Add fsl.yaml entry > >> - Pull regulator out of simple bus > >> - Rename touchscreen@ node > >> - Add reg entry to lvds-channel@0 > >> - Fix touchscreen interrupt polarity > >> --- > >> .../devicetree/bindings/arm/fsl.yaml | 1 + > > > > We need to make the bindings a separate patch and be ACK-ed by DT folks. > > Sure. > > >> arch/arm/boot/dts/Makefile | 1 + > >> arch/arm/boot/dts/imx53-m53menlo.dts | 310 ++++++++++++++++++ > >> 3 files changed, 312 insertions(+) > >> create mode 100644 arch/arm/boot/dts/imx53-m53menlo.dts > >> > > [...] > > >> + pinctrl_lvds0: lvds0grp { > >> + fsl,pins = < > >> + MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000 > >> + MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000 > >> + MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000 > >> + MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000 > >> + MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000 > > > > Please have proper pad configurations rather than relying on the > > settings out of reset or set up by bootloader. > > Do you have an example LVDS configuration for the MX53 ? I didn't find > one, all the other boards just leave the LVDS line configuration in > default settings. Sorry, I do not. If your bootloader doesn't touch the settings, you may just need to code the reset values from reference manual here? Shawn
On 3/29/19 3:47 AM, Shawn Guo wrote: > On Tue, Mar 26, 2019 at 05:44:41PM +0100, Marek Vasut wrote: >> On 3/26/19 9:42 AM, Shawn Guo wrote: >>> On Thu, Mar 21, 2019 at 03:56:55AM +0100, Marek Vasut wrote: >>>> Add device tree for the Menlosystems board based on i.MX53 M53 SoM. >>>> >>>> Signed-off-by: Marek Vasut <marex@denx.de> >>>> Cc: Shawn Guo <shawnguo@kernel.org> >>>> Cc: Fabio Estevam <festevam@gmail.com> >>>> Cc: NXP Linux Team <linux-imx@nxp.com> >>>> To: linux-arm-kernel@lists.infradead.org >>>> --- >>>> V2: - Rebase on latest next/master >>>> V3: - Add vendor specific compatible for the platform >>>> - Rename ledgrp and touchscreen nodes to follow DT spec >>>> - Update pinmux (LVDS has no pin config, so use default settings) >>>> V4: - Add fsl.yaml entry >>>> - Pull regulator out of simple bus >>>> - Rename touchscreen@ node >>>> - Add reg entry to lvds-channel@0 >>>> - Fix touchscreen interrupt polarity >>>> --- >>>> .../devicetree/bindings/arm/fsl.yaml | 1 + >>> >>> We need to make the bindings a separate patch and be ACK-ed by DT folks. >> >> Sure. >> >>>> arch/arm/boot/dts/Makefile | 1 + >>>> arch/arm/boot/dts/imx53-m53menlo.dts | 310 ++++++++++++++++++ >>>> 3 files changed, 312 insertions(+) >>>> create mode 100644 arch/arm/boot/dts/imx53-m53menlo.dts >>>> >> >> [...] >> >>>> + pinctrl_lvds0: lvds0grp { >>>> + fsl,pins = < >>>> + MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000 >>>> + MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000 >>>> + MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000 >>>> + MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000 >>>> + MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000 >>> >>> Please have proper pad configurations rather than relying on the >>> settings out of reset or set up by bootloader. >> >> Do you have an example LVDS configuration for the MX53 ? I didn't find >> one, all the other boards just leave the LVDS line configuration in >> default settings. > > Sorry, I do not. If your bootloader doesn't touch the settings, you may > just need to code the reset values from reference manual here? The reference manual only indicates there's a MUX_MODE bit for those signals, there are no other configuration values. So I presume this is actually correct ?
On Tue, Apr 09, 2019 at 02:49:58PM +0200, Marek Vasut wrote: > On 3/29/19 3:47 AM, Shawn Guo wrote: > > On Tue, Mar 26, 2019 at 05:44:41PM +0100, Marek Vasut wrote: > >> On 3/26/19 9:42 AM, Shawn Guo wrote: > >>> On Thu, Mar 21, 2019 at 03:56:55AM +0100, Marek Vasut wrote: > >>>> Add device tree for the Menlosystems board based on i.MX53 M53 SoM. > >>>> > >>>> Signed-off-by: Marek Vasut <marex@denx.de> > >>>> Cc: Shawn Guo <shawnguo@kernel.org> > >>>> Cc: Fabio Estevam <festevam@gmail.com> > >>>> Cc: NXP Linux Team <linux-imx@nxp.com> > >>>> To: linux-arm-kernel@lists.infradead.org > >>>> --- > >>>> V2: - Rebase on latest next/master > >>>> V3: - Add vendor specific compatible for the platform > >>>> - Rename ledgrp and touchscreen nodes to follow DT spec > >>>> - Update pinmux (LVDS has no pin config, so use default settings) > >>>> V4: - Add fsl.yaml entry > >>>> - Pull regulator out of simple bus > >>>> - Rename touchscreen@ node > >>>> - Add reg entry to lvds-channel@0 > >>>> - Fix touchscreen interrupt polarity > >>>> --- > >>>> .../devicetree/bindings/arm/fsl.yaml | 1 + > >>> > >>> We need to make the bindings a separate patch and be ACK-ed by DT folks. > >> > >> Sure. > >> > >>>> arch/arm/boot/dts/Makefile | 1 + > >>>> arch/arm/boot/dts/imx53-m53menlo.dts | 310 ++++++++++++++++++ > >>>> 3 files changed, 312 insertions(+) > >>>> create mode 100644 arch/arm/boot/dts/imx53-m53menlo.dts > >>>> > >> > >> [...] > >> > >>>> + pinctrl_lvds0: lvds0grp { > >>>> + fsl,pins = < > >>>> + MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000 > >>>> + MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000 > >>>> + MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000 > >>>> + MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000 > >>>> + MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000 > >>> > >>> Please have proper pad configurations rather than relying on the > >>> settings out of reset or set up by bootloader. > >> > >> Do you have an example LVDS configuration for the MX53 ? I didn't find > >> one, all the other boards just leave the LVDS line configuration in > >> default settings. > > > > Sorry, I do not. If your bootloader doesn't touch the settings, you may > > just need to code the reset values from reference manual here? > > The reference manual only indicates there's a MUX_MODE bit for those > signals, there are no other configuration values. So I presume this is > actually correct ? Configuring the pads with unknown values is not a correct thing to me. Again, we are trying to get away from using 0x80000000, so please do not introduce more. Shawn
Hi Shawn, On Wed, Apr 10, 2019 at 10:49 PM Shawn Guo <shawnguo@kernel.org> wrote: > > The reference manual only indicates there's a MUX_MODE bit for those > > signals, there are no other configuration values. So I presume this is > > actually correct ? > > Configuring the pads with unknown values is not a correct thing to me. > Again, we are trying to get away from using 0x80000000, so please do not > introduce more. Looking at the i.MX53 Reference these LVDS pins look different from the others because they do not have the associated IOMUXC_SW_PAD_CTL register, only the IOMUXC_SW_MUX_CTL_PAD_LVDS0_CLK_P is present. This means that we don't have a real value to put in the devicetree, so 0x80000000 makes sense in this case.
On Wed, Apr 10, 2019 at 11:30:01PM -0300, Fabio Estevam wrote: > Hi Shawn, > > On Wed, Apr 10, 2019 at 10:49 PM Shawn Guo <shawnguo@kernel.org> wrote: > > > > The reference manual only indicates there's a MUX_MODE bit for those > > > signals, there are no other configuration values. So I presume this is > > > actually correct ? > > > > Configuring the pads with unknown values is not a correct thing to me. > > Again, we are trying to get away from using 0x80000000, so please do not > > introduce more. > > Looking at the i.MX53 Reference these LVDS pins look different from > the others because they do not have the associated IOMUXC_SW_PAD_CTL > register, only the IOMUXC_SW_MUX_CTL_PAD_LVDS0_CLK_P is present. This > means that we don't have a real value to put in the devicetree, so > 0x80000000 makes sense in this case. Okay. @Marek, please add the comment into the code. Shawn
diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml index 7e2cd6ad26bd..d106003a0c91 100644 --- a/Documentation/devicetree/bindings/arm/fsl.yaml +++ b/Documentation/devicetree/bindings/arm/fsl.yaml @@ -67,6 +67,7 @@ properties: - fsl,imx53-evk - fsl,imx53-qsb - fsl,imx53-smd + - menlo,m53menlo - const: fsl,imx53 - description: i.MX6Q based Boards diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index dad1202d1d87..96ea958698a0 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -380,6 +380,7 @@ dtb-$(CONFIG_SOC_IMX53) += \ imx53-kp-ddc.dtb \ imx53-kp-hsc.dtb \ imx53-m53evk.dtb \ + imx53-m53menlo.dtb \ imx53-mba53.dtb \ imx53-ppd.dtb \ imx53-qsb.dtb \ diff --git a/arch/arm/boot/dts/imx53-m53menlo.dts b/arch/arm/boot/dts/imx53-m53menlo.dts new file mode 100644 index 000000000000..441842b272e1 --- /dev/null +++ b/arch/arm/boot/dts/imx53-m53menlo.dts @@ -0,0 +1,310 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2019 Marek Vasut <marex@denx.de> + */ + +/dts-v1/; +#include "imx53-m53.dtsi" + +/ { + model = "MENLO M53 EMBEDDED DEVICE"; + compatible = "menlo,m53menlo", "fsl,imx53"; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_led>; + + user1 { + label = "TestLed601"; + gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc0"; + }; + + user2 { + label = "TestLed602"; + gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + }; + + eth { + label = "EthLedYe"; + gpios = <&gpio2 11 GPIO_ACTIVE_LOW>; + linux,default-trigger = "none"; + }; + }; + + panel { + compatible = "edt,etm070080dh6"; + enable-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; + + port { + panel_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; + + reg_usbh1_vbus: regulator-usbh1-vbus { + compatible = "regulator-fixed"; + regulator-name = "vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio1 2 GPIO_ACTIVE_LOW>; + }; +}; + +&can1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_can1>; + status = "okay"; +}; + +&can2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_can2>; + status = "okay"; +}; + +&clks { + assigned-clocks = <&clks IMX5_CLK_CKO1_SEL>, + <&clks IMX5_CLK_CKO1_PODF>, + <&clks IMX5_CLK_CKO1>; + assigned-clock-parents = <&clks IMX5_CLK_AHB>; + assigned-clock-rates = <133333334>, <33333334>, <33333334>; +}; + +&esdhc1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_esdhc1>; + cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; + wp-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; + status = "okay"; +}; + +&fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_fec>; + phy-mode = "rmii"; + status = "okay"; +}; + +&i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c1>; + status = "okay"; + + touchscreen@38 { + compatible = "edt,edt-ft5x06"; + reg = <0x38>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_edt_ft5x06>; + interrupt-parent = <&gpio6>; + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&gpio2 9 GPIO_ACTIVE_LOW>; + wake-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; + }; + + eeprom@50 { + compatible = "atmel,24c64"; + reg = <0x50>; + pagesize = <32>; + }; + + dac@60 { + compatible = "microchip,mcp4725"; + reg = <0x60>; + }; +}; + +&i2c2 { + touchscreen@41 { + status = "disabled"; + }; +}; + +&i2c3 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c3>; + status = "okay"; +}; + +&iomuxc { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hog>; + + imx53-m53evk { + hoggrp { + fsl,pins = < + MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x1c4 + MX53_PAD_EIM_EB3__GPIO2_31 0x1d5 + MX53_PAD_PATA_DA_0__GPIO7_6 0x1d5 + MX53_PAD_GPIO_19__CCM_CLKO 0x1d5 + MX53_PAD_CSI0_MCLK__CCM_CSI0_MCLK 0x1d5 + MX53_PAD_CSI0_DAT4__GPIO5_22 0x1d5 + MX53_PAD_CSI0_DAT5__GPIO5_23 0x1d5 + MX53_PAD_CSI0_DAT6__GPIO5_24 0x1d5 + MX53_PAD_CSI0_DAT7__GPIO5_25 0x1d5 + MX53_PAD_CSI0_DAT8__GPIO5_26 0x1d5 + MX53_PAD_CSI0_DAT9__GPIO5_27 0x1d5 + MX53_PAD_CSI0_DAT10__GPIO5_28 0x1d5 + MX53_PAD_CSI0_DAT11__GPIO5_29 0x1d5 + MX53_PAD_CSI0_DAT14__GPIO6_0 0x1d5 + >; + }; + + pinctrl_led: ledgrp { + fsl,pins = < + MX53_PAD_CSI0_DAT15__GPIO6_1 0x1d5 + MX53_PAD_CSI0_DAT16__GPIO6_2 0x1d5 + >; + }; + + pinctrl_can1: can1grp { + fsl,pins = < + MX53_PAD_GPIO_7__CAN1_TXCAN 0x1c4 + MX53_PAD_GPIO_8__CAN1_RXCAN 0x1c4 + >; + }; + + pinctrl_can2: can2grp { + fsl,pins = < + MX53_PAD_KEY_COL4__CAN2_TXCAN 0x1c4 + MX53_PAD_KEY_ROW4__CAN2_RXCAN 0x1c4 + >; + }; + + pinctrl_display_gpio: display-gpiogrp { + fsl,pins = < + MX53_PAD_CSI0_DAT12__GPIO5_30 0x1d5 /* Reset */ + MX53_PAD_CSI0_DAT13__GPIO5_31 0x1d5 /* Interrupt */ + >; + }; + + pinctrl_edt_ft5x06: edt-ft5x06grp { + fsl,pins = < + MX53_PAD_PATA_DATA9__GPIO2_9 0x1d5 /* Reset */ + MX53_PAD_CSI0_DAT19__GPIO6_5 0x1d5 /* Interrupt */ + MX53_PAD_PATA_DATA10__GPIO2_10 0x1d5 /* Wake */ + >; + }; + + pinctrl_esdhc1: esdhc1grp { + fsl,pins = < + MX53_PAD_SD1_DATA0__ESDHC1_DAT0 0x1d5 + MX53_PAD_SD1_DATA1__ESDHC1_DAT1 0x1d5 + MX53_PAD_SD1_DATA2__ESDHC1_DAT2 0x1d5 + MX53_PAD_SD1_DATA3__ESDHC1_DAT3 0x1d5 + MX53_PAD_SD1_CMD__ESDHC1_CMD 0x1d5 + MX53_PAD_SD1_CLK__ESDHC1_CLK 0x1d5 + >; + }; + + pinctrl_fec: fecgrp { + fsl,pins = < + MX53_PAD_FEC_MDC__FEC_MDC 0x4 + MX53_PAD_FEC_MDIO__FEC_MDIO 0x1fc + MX53_PAD_FEC_REF_CLK__FEC_TX_CLK 0x180 + MX53_PAD_FEC_RX_ER__FEC_RX_ER 0x180 + MX53_PAD_FEC_CRS_DV__FEC_RX_DV 0x180 + MX53_PAD_FEC_RXD1__FEC_RDATA_1 0x180 + MX53_PAD_FEC_RXD0__FEC_RDATA_0 0x180 + MX53_PAD_FEC_TX_EN__FEC_TX_EN 0x4 + MX53_PAD_FEC_TXD1__FEC_TDATA_1 0x4 + MX53_PAD_FEC_TXD0__FEC_TDATA_0 0x4 + >; + }; + + pinctrl_i2c1: i2c1grp { + fsl,pins = < + MX53_PAD_EIM_D21__I2C1_SCL 0x400001e4 + MX53_PAD_EIM_D28__I2C1_SDA 0x400001e4 + >; + }; + + pinctrl_i2c3: i2c3grp { + fsl,pins = < + MX53_PAD_GPIO_6__I2C3_SDA 0x400001e4 + MX53_PAD_GPIO_5__I2C3_SCL 0x400001e4 + >; + }; + + pinctrl_lvds0: lvds0grp { + fsl,pins = < + MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000 + MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000 + MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000 + MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000 + MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000 + >; + }; + + pinctrl_uart1: uart1grp { + fsl,pins = < + MX53_PAD_PATA_DIOW__UART1_TXD_MUX 0x1e4 + MX53_PAD_PATA_DMACK__UART1_RXD_MUX 0x1e4 + >; + }; + + pinctrl_uart2: uart2grp { + fsl,pins = < + MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX 0x1e4 + MX53_PAD_PATA_DMARQ__UART2_TXD_MUX 0x1e4 + >; + }; + + pinctrl_usb: usbgrp { + fsl,pins = < + MX53_PAD_GPIO_2__GPIO1_2 0x1d5 + MX53_PAD_GPIO_3__USBOH3_USBH1_OC 0x1d5 + >; + }; + }; +}; + +&ldb { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lvds0>; + status = "okay"; + + lvds0: lvds-channel@0 { + reg = <0>; + fsl,data-mapping = "spwg"; + fsl,data-width = <18>; + status = "okay"; + + port@2 { + reg = <2>; + + lvds0_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; +}; + +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart1>; + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart2>; + status = "okay"; +}; + +&usbh1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb>; + vbus-supply = <®_usbh1_vbus>; + phy_type = "utmi"; + dr_mode = "peripheral"; + status = "okay"; +}; + +&usbotg { + dr_mode = "peripheral"; + status = "okay"; +};
Add device tree for the Menlosystems board based on i.MX53 M53 SoM. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Shawn Guo <shawnguo@kernel.org> Cc: Fabio Estevam <festevam@gmail.com> Cc: NXP Linux Team <linux-imx@nxp.com> To: linux-arm-kernel@lists.infradead.org --- V2: - Rebase on latest next/master V3: - Add vendor specific compatible for the platform - Rename ledgrp and touchscreen nodes to follow DT spec - Update pinmux (LVDS has no pin config, so use default settings) V4: - Add fsl.yaml entry - Pull regulator out of simple bus - Rename touchscreen@ node - Add reg entry to lvds-channel@0 - Fix touchscreen interrupt polarity --- .../devicetree/bindings/arm/fsl.yaml | 1 + arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/imx53-m53menlo.dts | 310 ++++++++++++++++++ 3 files changed, 312 insertions(+) create mode 100644 arch/arm/boot/dts/imx53-m53menlo.dts