imx6q-logicpd.dts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. // SPDX-License-Identifier: GPL-2.0
  2. //
  3. // Copyright (C) 2019 Logic PD, Inc.
  4. /dts-v1/;
  5. #include "imx6q.dtsi"
  6. #include "imx6-logicpd-som.dtsi"
  7. #include "imx6-logicpd-baseboard.dtsi"
  8. / {
  9. model = "Logic PD i.MX6QD SOM-M3";
  10. compatible = "logicpd,imx6q-logicpd", "fsl,imx6q";
  11. backlight: backlight-lvds {
  12. compatible = "pwm-backlight";
  13. pwms = <&pwm3 0 20000 0>;
  14. brightness-levels = <0 4 8 16 32 64 128 255>;
  15. default-brightness-level = <6>;
  16. power-supply = <&reg_lcd>;
  17. };
  18. panel-lvds0 {
  19. compatible = "okaya,rs800480t-7x0gp";
  20. power-supply = <&reg_lcd_reset>;
  21. backlight = <&backlight>;
  22. port {
  23. panel_in_lvds0: endpoint {
  24. remote-endpoint = <&lvds0_out>;
  25. };
  26. };
  27. };
  28. reg_lcd: regulator-lcd {
  29. pinctrl-names = "default";
  30. pinctrl-0 = <&pinctrl_lcd_reg>;
  31. compatible = "regulator-fixed";
  32. regulator-name = "lcd_panel_pwr";
  33. regulator-min-microvolt = <3300000>;
  34. regulator-max-microvolt = <3300000>;
  35. gpio = <&gpio4 17 GPIO_ACTIVE_HIGH>;
  36. enable-active-high;
  37. vin-supply = <&reg_3v3>;
  38. startup-delay-us = <500000>;
  39. };
  40. reg_lcd_reset: regulator-lcd-reset {
  41. pinctrl-names = "default";
  42. pinctrl-0 = <&pinctrl_lcd_reset>;
  43. compatible = "regulator-fixed";
  44. regulator-name = "nLCD_RESET";
  45. regulator-min-microvolt = <3300000>;
  46. regulator-max-microvolt = <3300000>;
  47. gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
  48. enable-active-high;
  49. vin-supply = <&reg_lcd>;
  50. };
  51. };
  52. &clks {
  53. assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
  54. <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
  55. <&clks IMX6QDL_CLK_IPU1_DI0_PRE_SEL>,
  56. <&clks IMX6QDL_CLK_IPU2_DI0_PRE_SEL>;
  57. assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
  58. <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
  59. <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
  60. <&clks IMX6QDL_CLK_PLL2_PFD2_396M>;
  61. };
  62. &hdmi {
  63. ddc-i2c-bus = <&i2c3>;
  64. status = "okay";
  65. };
  66. &i2c1 {
  67. touchscreen@26 {
  68. compatible = "ilitek,ili2117";
  69. reg = <0x26>;
  70. pinctrl-names = "default";
  71. pinctrl-0 = <&pinctrl_touchscreen>;
  72. interrupts-extended = <&gpio1 6 IRQ_TYPE_EDGE_RISING>;
  73. };
  74. };
  75. &ldb {
  76. status = "okay";
  77. lvds-channel@0 {
  78. fsl,data-mapping = "spwg";
  79. fsl,data-width = <24>;
  80. status = "okay";
  81. port@4 {
  82. reg = <4>;
  83. lvds0_out: endpoint {
  84. remote-endpoint = <&panel_in_lvds0>;
  85. };
  86. };
  87. };
  88. };
  89. &pwm3 {
  90. status = "okay";
  91. };
  92. &reg_hdmi {
  93. regulator-always-on; /* Without this, the level shifter on HDMI doesn't turn on */
  94. };
  95. &iomuxc {
  96. pinctrl_lcd_reg: lcdreg {
  97. fsl,pins = <
  98. MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x100b0 /* R_LCD_PANEL_PWR */
  99. >;
  100. };
  101. pinctrl_lcd_reset: lcdreset {
  102. fsl,pins = <
  103. MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x100b0 /* LCD_nRESET */
  104. >;
  105. };
  106. pinctrl_touchscreen: touchscreengrp {
  107. fsl,pins = <
  108. MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 /* TOUCH_nPINTDAV */
  109. >;
  110. };
  111. };