Merge https://gitlab.denx.de/u-boot/custodians/u-boot-clk
[oweals/u-boot.git] / arch / arm / dts / imx6q-logicpd.dts
index d1e7a389d0966b66fdba073278e57e8524763f76..45eb0b7f75f83c88339a7e04ebc42cdf77e037fb 100644 (file)
-/*
- * Copyright 2017 Logic PD, Inc.
- * Based on SabreSD, Copyright 2016 Freescale Semiconductor, Inc.
- *
- * This file is dual-licensed: you can use it either under the terms
- * of the GPL or the X11 license, at your option. Note that this dual
- * licensing only applies to this file, and not this project as a
- * whole.
- *
- *  a) This file is free software; you can redistribute it and/or
- *     modify it under the terms of the GNU General Public License as
- *     published by the Free Software Foundation; either version 2 of the
- *     License, or (at your option) any later version.
- *
- *     This file is distributed in the hope that it will be useful,
- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *     GNU General Public License for more details.
- *
- * Or, alternatively,
- *
- *  b) Permission is hereby granted, free of charge, to any person
- *     obtaining a copy of this software and associated documentation
- *     files (the "Software"), to deal in the Software without
- *     restriction, including without limitation the rights to use,
- *     copy, modify, merge, publish, distribute, sublicense, and/or
- *     sell copies of the Software, and to permit persons to whom the
- *     Software is furnished to do so, subject to the following
- *     conditions:
- *
- *     The above copyright notice and this permission notice shall be
- *     included in all copies or substantial portions of the Software.
- *
- *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- *     OTHER DEALINGS IN THE SOFTWARE.
- */
+// SPDX-License-Identifier: GPL-2.0
+//
+// Copyright (C) 2019 Logic PD, Inc.
 
 /dts-v1/;
-
-#include "imx6qdl-logicpd.dtsi"
+#include "imx6q.dtsi"
+#include "imx6-logicpd-som.dtsi"
+#include "imx6-logicpd-baseboard.dtsi"
 
 / {
-       model = "Logic PD i.MX6QDL SOM";
+       model = "Logic PD i.MX6QD SOM-M3";
        compatible = "fsl,imx6q";
 
-       reg_usb_otg_vbus: regulator-otg-vbus@0 {
-               compatible = "regulator-fixed";
-               regulator-name = "usb_otg_vbus";
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-               gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
-               enable-active-high;
+       backlight: backlight-lvds {
+               compatible = "pwm-backlight";
+               pwms = <&pwm3 0 20000>;
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <6>;
+               power-supply = <&reg_lcd>;
+       };
+
+       panel-lvds0 {
+               compatible = "okaya,rs800480t-7x0gp";
+
+               port {
+                       panel_in_lvds0: endpoint {
+                               remote-endpoint = <&lvds0_out>;
+                       };
+               };
        };
 
-       reg_usb_h1_vbus: regulator-usbh1vbus@1 {
+       reg_lcd: regulator-lcd {
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_lcd_reg>;
                compatible = "regulator-fixed";
-               regulator-name = "usb_h1_vbus";
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
+               regulator-name = "lcd_panel_pwr";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio4 17 GPIO_ACTIVE_HIGH>;
                enable-active-high;
                regulator-always-on;
-               gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
+               vin-supply = <&reg_3v3>;
+               startup-delay-us = <500000>;
        };
 
-       reg_3v3: regulator-3v3@2 {
+       reg_lcd_reset: regulator-lcd-reset {
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_lcd_reset>;
                compatible = "regulator-fixed";
-               regulator-name = "reg_3v3";
+               regulator-name = "nLCD_RESET";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
+               gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+               regulator-always-on;
+               vin-supply = <&reg_lcd>;
        };
 };
 
-&uart3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_uart3>;
-       status = "okay";
+&clks {
+       assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
+                         <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
+                         <&clks IMX6QDL_CLK_IPU1_DI0_PRE_SEL>,
+                         <&clks IMX6QDL_CLK_IPU2_DI0_PRE_SEL>;
+       assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
+                                <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
+                                <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
+                                <&clks IMX6QDL_CLK_PLL2_PFD2_396M>;
 };
 
-&usbh1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usbh1>;
-       vbus-supply = <&reg_usb_h1_vbus>;
+&hdmi {
+       ddc-i2c-bus = <&i2c3>;
        status = "okay";
 };
 
-&usbh2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usbh2>;
-       phy_type = "hsic";
-       disable-over-current;
+&ldb {
        status = "okay";
-};
 
-&usbotg {
-       vbus-supply = <&reg_usb_otg_vbus>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usbotg>;
-       disable-over-current;
-       status = "okay";
+       lvds-channel@0 {
+               fsl,data-mapping = "spwg";
+               fsl,data-width = <24>;
+               status = "okay";
+
+               port@4 {
+                       reg = <4>;
+                       lvds0_out: endpoint {
+                               remote-endpoint = <&panel_in_lvds0>;
+                       };
+               };
+       };
+
 };
 
-&fec {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_enet>;
-       phy-mode = "rmii";
-       phy-speed = <10>;
+&pwm3 {
        status = "okay";
 };
 
-&usdhc2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_usdhc2>;
-       cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
-       no-1-8-v;
-       keep-power-in-suspend;
-       status = "okay";
+&reg_hdmi {
+       regulator-always-on;    /* Without this, the level shifter on HDMI doesn't turn on */
 };
 
 &iomuxc {
-       pinctrl_enet: enetgrp {
-               fsl,pins = <
-                       MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN      0x1b0b0
-                       MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
-                       MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
-                       MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0     0x1b0b0
-                       MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1     0x1b0b0
-                       MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER       0x1b0b0
-                       MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0     0x1b0b0
-                       MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1     0x1b0b0
-                       MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN       0x1b0b0
-                       MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
-                       MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0 /* nINT */
-                       MX6QDL_PAD_KEY_ROW1__GPIO4_IO09         0x1b0b0 /* Ethernet Reset */
-               >;
-       };
-
-       pinctrl_gpio_leds: gpioledsgrp {
-               fsl,pins = <
-                       MX6QDL_PAD_EIM_D19__GPIO3_IO19  0x130b0
-                       MX6QDL_PAD_EIM_D20__GPIO3_IO20  0x130b0
-                       MX6QDL_PAD_EIM_D21__GPIO3_IO21  0x130b0
-                       MX6QDL_PAD_EIM_D22__GPIO3_IO22  0x130b0
-               >;
-       };
-       pinctrl_uart3: uart3grp {
+       pinctrl_lcd_reg: lcdreg {
                fsl,pins = <
-                       MX6QDL_PAD_EIM_D23__UART3_CTS_B 0x1b0b1
-                       MX6QDL_PAD_EIM_D24__UART3_TX_DATA       0x1b0b1
-                       MX6QDL_PAD_EIM_D25__UART3_RX_DATA       0x1b0b1
-                       MX6QDL_PAD_EIM_EB3__UART3_RTS_B 0x1b0b1
+                       MX6QDL_PAD_DI0_PIN15__GPIO4_IO17        0x100b0 /* R_LCD_PANEL_PWR */
                >;
        };
 
-       pinctrl_usbh1: usbh1grp {
+       pinctrl_lcd_reset: lcdreset {
                fsl,pins = <
-                       MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0   /* USB_H1_PWR_EN */
-               >;
-       };
-
-       pinctrl_usbh2: usbh2grp {
-               fsl,pins = <
-                       MX6QDL_PAD_RGMII_TX_CTL__USB_H2_STROBE 0x17030
-                       MX6QDL_PAD_RGMII_TXC__USB_H2_DATA      0x13030
-               >;
-       };
-
-       pinctrl_usbotg: usbotggrp {
-       fsl,pins = <
-               MX6QDL_PAD_GPIO_1__USB_OTG_ID   0x17059
-               MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x130b0 /* USB_OTG_PWR_EN */
+                       MX6QDL_PAD_EIM_A25__GPIO5_IO02  0x100b0 /* LCD_nRESET */
                >;
        };
 
-       pinctrl_usdhc2: usdhc2grp {
+       pinctrl_touchscreen: touchscreengrp {
                fsl,pins = <
-                       MX6QDL_PAD_SD2_CLK__SD2_CLK    0x10059
-                       MX6QDL_PAD_SD2_CMD__SD2_CMD    0x17059
-                       MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
-                       MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
-                       MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
-                       MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
+                       MX6QDL_PAD_GPIO_6__GPIO1_IO06   0x1b0b0 /* TOUCH_nPINTDAV */
                >;
        };
 };