Subject: [PATCH v2] ARM: DTS: imx53: Add support for imx53 HSC/DDC boards from K+P

From: [email-masked] (Lukasz Majewski)
Date: Tue, 12 Jun 2018 13:28:09 +0200

Hi Shawn,

Thanks for you review.

> On Sat, May 19, 2018 at 02:15:06PM +0200, Lukasz Majewski wrote:
> > This commit provides support for HSC and DDC boards from
> > Kieback&Peter GmbH vendor.
> > 
> > Signed-off-by: Lukasz Majewski <[email-masked]>
> > ---
> > Changes for v2:
> > 
> > - Remove not needed #address-cells and #size-cells in
> >   the gpio_buttons node to pass make W=1
> > - Rename button@{12} to button_{kalt|pwr} nodes to pass make W=1
> > - Include #include <dt-bindings/input/input.h> to use KEY_F6|F7
> > directly
> > 
> > ---
> >  arch/arm/boot/dts/Makefile         |   2 +
> >  arch/arm/boot/dts/imx53-kp-ddc.dts | 146
> > ++++++++++++++++++++++++++++ arch/arm/boot/dts/imx53-kp-hsc.dts |
> > 51 ++++++++++ arch/arm/boot/dts/imx53-kp.dtsi    | 190
> > +++++++++++++++++++++++++++++++++++++ 4 files changed, 389
> > insertions(+) create mode 100644 arch/arm/boot/dts/imx53-kp-ddc.dts
> >  create mode 100644 arch/arm/boot/dts/imx53-kp-hsc.dts
> >  create mode 100644 arch/arm/boot/dts/imx53-kp.dtsi
> > 
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index fbc04b0db781..00854a5b6ac4 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -360,6 +360,8 @@ dtb-$(CONFIG_SOC_IMX51) += \
> >  dtb-$(CONFIG_SOC_IMX53) += \
> >  	imx53-ard.dtb \
> >  	imx53-cx9020.dtb \
> > +	imx53-kp-ddc.dtb \
> > +	imx53-kp-hsc.dtb \
> >  	imx53-m53evk.dtb \
> >  	imx53-mba53.dtb \
> >  	imx53-ppd.dtb \
> > diff --git a/arch/arm/boot/dts/imx53-kp-ddc.dts
> > b/arch/arm/boot/dts/imx53-kp-ddc.dts new file mode 100644
> > index 000000000000..acaf477a52c5
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx53-kp-ddc.dts
> > @@ -0,0 +1,146 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2018
> > + * Lukasz Majewski, DENX Software Engineering, lukma at denx.de
> > + */
> > +
> > +/dts-v1/;
> > +#include "imx53-kp.dtsi"
> > +
> > +/ {
> > +	model = "K+P imx53 DDC";
> > +	compatible = "kiebackpeter,imx53-ddc", "fsl,imx53";
> > +
> > +	backlight_lcd: backlight {
> > +		compatible = "pwm-backlight";
> > +		pwms = <&pwm2 0 50000>;
> > +		power-supply = <&reg_backlight>;
> > +		brightness-levels = <0 24 28 32 36
> > +				     40 44 48 52 56
> > +				     60 64 68 72 76
> > +				     80 84 88 92 96 100>;
> > +		default-brightness-level = <20>;
> > +	};
> > +
> > +	lcd_display: disp1 {  
> 
> display for node node.

I assume that I shall change disp1 -> display ?

> 
> > +		compatible = "fsl,imx-parallel-display";
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +		interface-pix-fmt = "rgb24";
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pinctrl_disp>;
> > +
> > +		port at 0 {
> > +			reg = <0>;
> > +
> > +			display1_in: endpoint {
> > +				remote-endpoint = <&ipu_di1_disp1>;
> > +			};
> > +		};
> > +
> > +		port at 1 {
> > +			reg = <1>;
> > +
> > +			lcd_display_out: endpoint {
> > +				remote-endpoint = <&lcd_panel_in>;
> > +			};
> > +		};
> > +	};
> > +
> > +	lcd_panel: lcd-panel {
> > +		compatible = "koe,tx14d24vm1bpa";  
> 
> Undefined compatible?

The display's in question "koe,tx14d24vm1bpa" compatible has been
ack'ed by Rob Herring and Thierry promised to apply it to his tree:

https://patchwork.kernel.org/patch/10391589/

The v2 of this patch:
https://patchwork.kernel.org/patch/10436007/

> 
> > +		backlight = <&backlight_lcd>;
> > +		power-supply = <&reg_3v3>;
> > +
> > +		port {
> > +			lcd_panel_in: endpoint {
> > +				remote-endpoint =
> > <&lcd_display_out>;
> > +			};
> > +		};
> > +	};
> > +
> > +	reg_backlight: regulator-backlight {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "backlight-supply";
> > +		regulator-min-microvolt = <15000000>;
> > +		regulator-max-microvolt = <15000000>;
> > +		regulator-always-on;
> > +	};
> > +};
> > +
> > +&i2c3 {
> > +	adc at 48 {
> > +		compatible = "ti,ads1015";
> > +		reg = <0x48>;
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +
> > +		channel at 4 {
> > +			reg = <4>;
> > +			ti,gain = <2>;
> > +			ti,datarate = <4>;
> > +		};
> > +
> > +		channel at 6 {
> > +			reg = <6>;
> > +			ti,gain = <2>;
> > +			ti,datarate = <4>;
> > +		};
> > +	};
> > +
> > +	gpio_expander2 at 21 {  
> 
> Use hyphen instead of underscore in node name.

Ok. I will change this globally. And send v3.

> 
> > +		compatible = "nxp,pcf8574";
> > +		reg = <0x21>;
> > +		interrupts = <109>;
> > +		#gpio-cells = <2>;
> > +		gpio-controller;
> > +	};
> > +};
> > +
> > +&iomuxc {
> > +	imx53-kp-ddc {
> > +		pinctrl_disp: dispgrp {
> > +			fsl,pins = <
> > +
> > MX53_PAD_EIM_A16__IPU_DI1_DISP_CLK      0x4
> > +
> > MX53_PAD_EIM_DA10__IPU_DI1_PIN15        0x4
> > +
> > MX53_PAD_EIM_DA9__IPU_DISP1_DAT_0       0x4
> > +
> > MX53_PAD_EIM_DA8__IPU_DISP1_DAT_1       0x4
> > +
> > MX53_PAD_EIM_DA7__IPU_DISP1_DAT_2       0x4
> > +
> > MX53_PAD_EIM_DA6__IPU_DISP1_DAT_3       0x4
> > +
> > MX53_PAD_EIM_DA5__IPU_DISP1_DAT_4       0x4
> > +
> > MX53_PAD_EIM_DA4__IPU_DISP1_DAT_5       0x4
> > +
> > MX53_PAD_EIM_DA3__IPU_DISP1_DAT_6       0x4
> > +
> > MX53_PAD_EIM_DA2__IPU_DISP1_DAT_7       0x4
> > +
> > MX53_PAD_EIM_DA1__IPU_DISP1_DAT_8       0x4
> > +
> > MX53_PAD_EIM_DA0__IPU_DISP1_DAT_9       0x4
> > +
> > MX53_PAD_EIM_EB1__IPU_DISP1_DAT_10      0x4
> > +
> > MX53_PAD_EIM_EB0__IPU_DISP1_DAT_11      0x4
> > +
> > MX53_PAD_EIM_A17__IPU_DISP1_DAT_12      0x4
> > +
> > MX53_PAD_EIM_A18__IPU_DISP1_DAT_13      0x4
> > +
> > MX53_PAD_EIM_A19__IPU_DISP1_DAT_14      0x4
> > +
> > MX53_PAD_EIM_A20__IPU_DISP1_DAT_15      0x4
> > +
> > MX53_PAD_EIM_A21__IPU_DISP1_DAT_16      0x4
> > +
> > MX53_PAD_EIM_A22__IPU_DISP1_DAT_17      0x4
> > +
> > MX53_PAD_EIM_A23__IPU_DISP1_DAT_18      0x4
> > +
> > MX53_PAD_EIM_A24__IPU_DISP1_DAT_19      0x4
> > +
> > MX53_PAD_EIM_D31__IPU_DISP1_DAT_20      0x4
> > +
> > MX53_PAD_EIM_D30__IPU_DISP1_DAT_21      0x4
> > +
> > MX53_PAD_EIM_D26__IPU_DISP1_DAT_22      0x4
> > +
> > MX53_PAD_EIM_D27__IPU_DISP1_DAT_23      0x4
> > +				MX53_PAD_GPIO_1__PWM2_PWMO 0x4
> > +			>;
> > +		};
> > +	};
> > +};
> > +
> > +&ipu_di1_disp1 {
> > +	remote-endpoint = <&display1_in>;
> > +};
> > +
> > +&fec {
> > +	status = "okay";
> > +};  
> 
> Sort the labeled nodes alphabetically in label name.
> 
> > +
> > +&pmic {
> > +	fsl,mc13xxx-uses-touch;
> > +};
> > diff --git a/arch/arm/boot/dts/imx53-kp-hsc.dts
> > b/arch/arm/boot/dts/imx53-kp-hsc.dts new file mode 100644
> > index 000000000000..d68cdd5da819
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx53-kp-hsc.dts
> > @@ -0,0 +1,51 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2018
> > + * Lukasz Majewski, DENX Software Engineering, lukma at denx.de
> > + */
> > +
> > +/dts-v1/;
> > +#include "imx53-kp.dtsi"
> > +
> > +/ {
> > +	model = "K+P imx53 HSC";
> > +	compatible = "kiebackpeter,imx53-hsc", "fsl,imx53";
> > +};
> > +
> > +&fec {
> > +	status = "okay";  
> 
> Have a newline between property list and child node.
> 
> > +	fixed-link { /* RMII fixed link to LAN9303 */
> > +		speed = <100>;
> > +		full-duplex;
> > +	};
> > +};
> > +
> > +&i2c3 {
> > +	switch: switch at a {
> > +		compatible = "smsc,lan9303-i2c";
> > +		reg = <0xa>;
> > +		reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
> > +		reset-duration = <400>;
> > +
> > +		ports {
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +
> > +			port at 0 { /* RMII fixed link to master */
> > +				reg = <0>;
> > +				label = "cpu";
> > +				ethernet = <&fec>;
> > +			};
> > +
> > +			port at 1 { /* external port 1 */
> > +				reg = <1>;
> > +				label = "lan1";
> > +			};
> > +
> > +			port at 2 { /* external port 2 */
> > +				reg = <2>;
> > +				label = "lan2";
> > +			};
> > +		};
> > +	};
> > +};
> > diff --git a/arch/arm/boot/dts/imx53-kp.dtsi
> > b/arch/arm/boot/dts/imx53-kp.dtsi new file mode 100644
> > index 000000000000..f87266843842
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx53-kp.dtsi
> > @@ -0,0 +1,190 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2018
> > + * Lukasz Majewski, DENX Software Engineering, lukma at denx.de
> > + */
> > +
> > +/dts-v1/;
> > +#include "imx53-tqma53.dtsi"
> > +#include <dt-bindings/input/input.h>
> > +
> > +/ {
> > +	buzzer {
> > +		compatible = "pwm-beeper";
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pinctrl_buzzer>;
> > +  
> 
> Drop this newline.
> 
> > +		pwms = <&pwm1 0 500000>;
> > +	};
> > +
> > +	gpio_buttons {  
> 
> Use hyphen.
> 
> > +		compatible = "gpio-keys";
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pinctrl_gpiobuttons>;
> > +
> > +		button_kalt {  
> 
> Ditto
> 
> > +			label = "Kaltstart";
> > +			linux,code = <KEY_F6>;
> > +			gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
> > +		};
> > +
> > +		button_pwr {  
> 
> Ditto
> 
> > +			label = "PowerFailInterrupt";
> > +			linux,code = <KEY_F7>;
> > +			gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
> > +		};
> > +	};
> > +
> > +	leds {
> > +		compatible = "gpio-leds";
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pinctrl_leds>;
> > +
> > +		led_bus {  
> 
> Ditto
> 
> > +			label = "bus";
> > +			gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
> > +			linux,default-trigger = "gpio";
> > +			default-state = "off";
> > +		};
> > +
> > +		led_error {  
> 
> Ditto
> 
> > +			label = "error";
> > +			gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
> > +			linux,default-trigger = "gpio";
> > +			default-state = "off";
> > +		};
> > +
> > +		led_flash {  
> 
> Ditto
> 
> > +			label = "flash";
> > +			gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;
> > +			linux,default-trigger = "heartbeat";
> > +		};
> > +	};
> > +
> > +	reg_3v3: regulator-3v3 {
> > +		compatible = "regulator-fixed";
> > +		regulator-name = "3V3";
> > +		regulator-min-microvolt = <3300000>;
> > +		regulator-max-microvolt = <3300000>;
> > +		regulator-always-on;
> > +	};
> > +};
> > +
> > +&can1 {
> > +	status = "okay";
> > +};
> > +
> > +&can2 {
> > +	status = "okay";
> > +};
> > +
> > +&i2c3 {
> > +	status = "okay";
> > +
> > +	gpio_expander1 at 22 {  
> 
> Ditto
> 
> Shawn
> 
> > +		compatible = "nxp,pcf8574";
> > +		reg = <0x22>;
> > +		interrupts = <109>;
> > +		#gpio-cells = <2>;
> > +		gpio-controller;
> > +	};
> > +
> > +	rtc at 51 {
> > +		compatible = "nxp,pcf8563";
> > +		reg = <0x51>;
> > +	};
> > +};
> > +
> > +&iomuxc {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_kp_common>;
> > +
> > +	imx53-kp-common {
> > +		pinctrl_buzzer: buzzergrp {
> > +			fsl,pins = <
> > +				MX53_PAD_SD1_DATA3__PWM1_PWMO 0x1e4
> > +			>;
> > +		};
> > +
> > +		pinctrl_gpiobuttons: gpiobuttonsgrp {
> > +			fsl,pins = <
> > +				MX53_PAD_EIM_RW__GPIO2_26 0x1e4
> > +				MX53_PAD_EIM_D22__GPIO3_22 0x1e4
> > +			>;
> > +		};
> > +
> > +		pinctrl_kp_common: kpcommongrp {
> > +			fsl,pins = <
> > +				MX53_PAD_EIM_CS0__GPIO2_23 0x1e4
> > +				MX53_PAD_GPIO_19__GPIO4_5  0x1e4
> > +				MX53_PAD_PATA_DATA6__GPIO2_6 0x1e4
> > +				MX53_PAD_PATA_DATA7__GPIO2_7 0xe0
> > +				MX53_PAD_CSI0_DAT14__GPIO6_0 0x1e4
> > +				MX53_PAD_CSI0_DAT16__GPIO6_2 0x1e4
> > +				MX53_PAD_CSI0_DAT18__GPIO6_4 0x1e4
> > +				MX53_PAD_EIM_D17__GPIO3_17 0x1e4
> > +				MX53_PAD_EIM_D18__GPIO3_18 0x1e4
> > +				MX53_PAD_EIM_D21__GPIO3_21 0x1e4
> > +				MX53_PAD_EIM_D29__GPIO3_29 0x1e4
> > +				MX53_PAD_EIM_DA11__GPIO3_11 0x1e4
> > +				MX53_PAD_EIM_DA13__GPIO3_13 0x1e4
> > +				MX53_PAD_EIM_DA14__GPIO3_14 0x1e4
> > +				MX53_PAD_SD1_DATA0__GPIO1_16 0x1e4
> > +				MX53_PAD_SD1_CMD__GPIO1_18 0x1e4
> > +				MX53_PAD_SD1_CLK__GPIO1_20 0x1e4
> > +			>;
> > +		};
> > +
> > +		pinctrl_leds: ledgrp {
> > +			fsl,pins = <
> > +				MX53_PAD_EIM_EB2__GPIO2_30 0x1d4
> > +				MX53_PAD_EIM_D28__GPIO3_28 0x1d4
> > +				MX53_PAD_EIM_WAIT__GPIO5_0 0x1d4
> > +			>;
> > +		};
> > +
> > +		pinctrl_uart4: uart4grp {
> > +			fsl,pins = <
> > +				MX53_PAD_CSI0_DAT12__UART4_TXD_MUX
> > 0x1e4
> > +				MX53_PAD_CSI0_DAT13__UART4_RXD_MUX
> > 0x1e4
> > +			>;
> > +		};
> > +	};
> > +};
> > +
> > +&pinctrl_uart1 {
> > +	fsl,pins = <
> > +		MX53_PAD_EIM_D23__GPIO3_23 0x1e4
> > +		MX53_PAD_EIM_EB3__GPIO2_31 0x1e4
> > +		MX53_PAD_EIM_D24__GPIO3_24 0x1e4
> > +		MX53_PAD_EIM_D25__GPIO3_25 0x1e4
> > +		MX53_PAD_EIM_D19__GPIO3_19 0x1e4
> > +		MX53_PAD_EIM_D20__GPIO3_20 0x1e4
> > +	>;
> > +};
> > +
> > +&uart1 {
> > +	status = "okay";
> > +};
> > +
> > +&uart2 {
> > +	status = "okay";
> > +};
> > +
> > +&uart3 {
> > +	status = "okay";
> > +};
> > +
> > +&uart4 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&pinctrl_uart4>;
> > +	status = "okay";
> > +};
> > +
> > +&usbh1 {
> > +	status = "okay";
> > +};
> > +
> > +&usbphy0 {
> > +	status = "disabled";
> > +};
> > -- 
> > 2.11.0
> >   

Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180612/dbdb4b81/attachment-0001.sig>