]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ARM: dts: imx53: Add support for imx53 HSC/DDC boards from K+P
authorLukasz Majewski <lukma@denx.de>
Tue, 12 Jun 2018 13:32:08 +0000 (15:32 +0200)
committerShawn Guo <shawnguo@kernel.org>
Sun, 17 Jun 2018 06:54:42 +0000 (14:54 +0800)
This commit provides support for HSC and DDC boards from
Kieback&Peter GmbH vendor.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/imx53-kp-ddc.dts [new file with mode: 0644]
arch/arm/boot/dts/imx53-kp-hsc.dts [new file with mode: 0644]
arch/arm/boot/dts/imx53-kp.dtsi [new file with mode: 0644]

index 30379d342cd650e7ce6ee467b85023658c6e9289..8b0e081b225d5fa227c1be70e463ec35391b47c5 100644 (file)
@@ -362,6 +362,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 (file)
index 0000000..0e7f071
--- /dev/null
@@ -0,0 +1,146 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2018
+ * Lukasz Majewski, DENX Software Engineering, lukma@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: display {
+               compatible = "fsl,imx-parallel-display";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               interface-pix-fmt = "rgb24";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_disp>;
+
+               port@0 {
+                       reg = <0>;
+
+                       display1_in: endpoint {
+                               remote-endpoint = <&ipu_di1_disp1>;
+                       };
+               };
+
+               port@1 {
+                       reg = <1>;
+
+                       lcd_display_out: endpoint {
+                               remote-endpoint = <&lcd_panel_in>;
+                       };
+               };
+       };
+
+       lcd_panel: lcd-panel {
+               compatible = "koe,tx14d24vm1bpa";
+               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;
+       };
+};
+
+&fec {
+       status = "okay";
+};
+
+&i2c3 {
+       adc@48 {
+               compatible = "ti,ads1015";
+               reg = <0x48>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               channel@4 {
+                       reg = <4>;
+                       ti,gain = <2>;
+                       ti,datarate = <4>;
+               };
+
+               channel@6 {
+                       reg = <6>;
+                       ti,gain = <2>;
+                       ti,datarate = <4>;
+               };
+       };
+
+       gpio-expander2@21 {
+               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>;
+};
+
+&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 (file)
index 0000000..6e3d71b
--- /dev/null
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2018
+ * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
+ */
+
+/dts-v1/;
+#include "imx53-kp.dtsi"
+
+/ {
+       model = "K+P imx53 HSC";
+       compatible = "kiebackpeter,imx53-hsc", "fsl,imx53";
+};
+
+&fec {
+       status = "okay";
+
+       fixed-link { /* RMII fixed link to LAN9303 */
+               speed = <100>;
+               full-duplex;
+       };
+};
+
+&i2c3 {
+       switch: switch@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@0 { /* RMII fixed link to master */
+                               reg = <0>;
+                               label = "cpu";
+                               ethernet = <&fec>;
+                       };
+
+                       port@1 { /* external port 1 */
+                               reg = <1>;
+                               label = "lan1";
+                       };
+
+                       port@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 (file)
index 0000000..8b25416
--- /dev/null
@@ -0,0 +1,189 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2018
+ * Lukasz Majewski, DENX Software Engineering, lukma@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>;
+               pwms = <&pwm1 0 500000>;
+       };
+
+       gpio-buttons {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpiobuttons>;
+
+               button-kalt {
+                       label = "Kaltstart";
+                       linux,code = <KEY_F6>;
+                       gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
+               };
+
+               button-pwr {
+                       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 {
+                       label = "bus";
+                       gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "gpio";
+                       default-state = "off";
+               };
+
+               led-error {
+                       label = "error";
+                       gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "gpio";
+                       default-state = "off";
+               };
+
+               led-flash {
+                       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@22 {
+               compatible = "nxp,pcf8574";
+               reg = <0x22>;
+               interrupts = <109>;
+               #gpio-cells = <2>;
+               gpio-controller;
+       };
+
+       rtc@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";
+};