xref: /freebsd/sys/contrib/device-tree/src/arm64/freescale/imx8mn-bsh-smm-s2-display.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*8d13bc63SEmmanuel Vadot/*
3*8d13bc63SEmmanuel Vadot * Copyright 2021 BSH
4*8d13bc63SEmmanuel Vadot */
5*8d13bc63SEmmanuel Vadot
6*8d13bc63SEmmanuel Vadot/ {
7*8d13bc63SEmmanuel Vadot	backlight: backlight {
8*8d13bc63SEmmanuel Vadot		compatible = "pwm-backlight";
9*8d13bc63SEmmanuel Vadot		pwms = <&pwm1 0 700000 0>;	/* 700000 ns = 1337Hz */
10*8d13bc63SEmmanuel Vadot		brightness-levels = <0 100>;
11*8d13bc63SEmmanuel Vadot		num-interpolated-steps = <100>;
12*8d13bc63SEmmanuel Vadot		default-brightness-level = <50>;
13*8d13bc63SEmmanuel Vadot		status = "okay";
14*8d13bc63SEmmanuel Vadot	};
15*8d13bc63SEmmanuel Vadot
16*8d13bc63SEmmanuel Vadot	reg_3v3_dvdd: regulator-3v3-O3 {
17*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
18*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
19*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pinctrl_dvdd>;
20*8d13bc63SEmmanuel Vadot		regulator-name = "3v3-dvdd-supply";
21*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
22*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
23*8d13bc63SEmmanuel Vadot		gpio = <&gpio1 7 GPIO_ACTIVE_LOW>;
24*8d13bc63SEmmanuel Vadot	};
25*8d13bc63SEmmanuel Vadot
26*8d13bc63SEmmanuel Vadot	reg_v3v3_avdd: regulator-3v3-O2 {
27*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
28*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
29*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pinctrl_avdd>;
30*8d13bc63SEmmanuel Vadot		regulator-name = "3v3-avdd-supply";
31*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
32*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
33*8d13bc63SEmmanuel Vadot		gpio = <&gpio1 5 GPIO_ACTIVE_LOW>;
34*8d13bc63SEmmanuel Vadot	};
35*8d13bc63SEmmanuel Vadot};
36*8d13bc63SEmmanuel Vadot
37*8d13bc63SEmmanuel Vadot&pwm1 {
38*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
39*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&pinctrl_bl>;
40*8d13bc63SEmmanuel Vadot	status = "okay";
41*8d13bc63SEmmanuel Vadot};
42*8d13bc63SEmmanuel Vadot
43*8d13bc63SEmmanuel Vadot&lcdif {
44*8d13bc63SEmmanuel Vadot	assigned-clocks = <&clk IMX8MN_VIDEO_PLL1>;
45*8d13bc63SEmmanuel Vadot	assigned-clock-rates = <594000000>;
46*8d13bc63SEmmanuel Vadot	status = "okay";
47*8d13bc63SEmmanuel Vadot};
48*8d13bc63SEmmanuel Vadot
49*8d13bc63SEmmanuel Vadot&pgc_dispmix {
50*8d13bc63SEmmanuel Vadot	assigned-clocks = <&clk IMX8MN_CLK_DISP_AXI>, <&clk IMX8MN_CLK_DISP_APB>;
51*8d13bc63SEmmanuel Vadot	assigned-clock-parents = <&clk IMX8MN_SYS_PLL2_1000M>, <&clk IMX8MN_SYS_PLL1_800M>;
52*8d13bc63SEmmanuel Vadot	assigned-clock-rates = <500000000>, <200000000>;
53*8d13bc63SEmmanuel Vadot};
54*8d13bc63SEmmanuel Vadot
55*8d13bc63SEmmanuel Vadot&mipi_dsi {
56*8d13bc63SEmmanuel Vadot	#address-cells = <1>;
57*8d13bc63SEmmanuel Vadot	#size-cells = <0>;
58*8d13bc63SEmmanuel Vadot	samsung,esc-clock-frequency = <20000000>;
59*8d13bc63SEmmanuel Vadot	samsung,pll-clock-frequency = <12000000>;
60*8d13bc63SEmmanuel Vadot	status = "okay";
61*8d13bc63SEmmanuel Vadot
62*8d13bc63SEmmanuel Vadot	panel@0 {
63*8d13bc63SEmmanuel Vadot		compatible = "sharp,ls068b3sx02", "syna,r63353";
64*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
65*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pinctrl_panel>;
66*8d13bc63SEmmanuel Vadot		reg = <0>;
67*8d13bc63SEmmanuel Vadot
68*8d13bc63SEmmanuel Vadot		backlight = <&backlight>;
69*8d13bc63SEmmanuel Vadot		dvdd-supply = <&reg_3v3_dvdd>;
70*8d13bc63SEmmanuel Vadot		avdd-supply = <&reg_v3v3_avdd>;
71*8d13bc63SEmmanuel Vadot		reset-gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
72*8d13bc63SEmmanuel Vadot
73*8d13bc63SEmmanuel Vadot		port {
74*8d13bc63SEmmanuel Vadot			panel_in: endpoint {
75*8d13bc63SEmmanuel Vadot				remote-endpoint = <&mipi_dsi_out>;
76*8d13bc63SEmmanuel Vadot			};
77*8d13bc63SEmmanuel Vadot		};
78*8d13bc63SEmmanuel Vadot
79*8d13bc63SEmmanuel Vadot	};
80*8d13bc63SEmmanuel Vadot
81*8d13bc63SEmmanuel Vadot	ports {
82*8d13bc63SEmmanuel Vadot		port@1 {
83*8d13bc63SEmmanuel Vadot			reg = <1>;
84*8d13bc63SEmmanuel Vadot
85*8d13bc63SEmmanuel Vadot			mipi_dsi_out: endpoint {
86*8d13bc63SEmmanuel Vadot				remote-endpoint = <&panel_in>;
87*8d13bc63SEmmanuel Vadot			};
88*8d13bc63SEmmanuel Vadot		};
89*8d13bc63SEmmanuel Vadot	};
90*8d13bc63SEmmanuel Vadot};
91*8d13bc63SEmmanuel Vadot
92*8d13bc63SEmmanuel Vadot&gpu {
93*8d13bc63SEmmanuel Vadot	status = "okay";
94*8d13bc63SEmmanuel Vadot};
95*8d13bc63SEmmanuel Vadot
96*8d13bc63SEmmanuel Vadot&iomuxc {
97*8d13bc63SEmmanuel Vadot	pinctrl_avdd: avddgrp {
98*8d13bc63SEmmanuel Vadot		fsl,pins = <
99*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_GPIO1_IO05_GPIO1_IO5	0x16	/* VDD 3V3_VO2 */
100*8d13bc63SEmmanuel Vadot		>;
101*8d13bc63SEmmanuel Vadot	};
102*8d13bc63SEmmanuel Vadot
103*8d13bc63SEmmanuel Vadot	/* This is for both PWM and voltage regulators for display */
104*8d13bc63SEmmanuel Vadot	pinctrl_bl: blgrp {
105*8d13bc63SEmmanuel Vadot		fsl,pins = <
106*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_GPIO1_IO01_PWM1_OUT	0x16
107*8d13bc63SEmmanuel Vadot		>;
108*8d13bc63SEmmanuel Vadot	};
109*8d13bc63SEmmanuel Vadot
110*8d13bc63SEmmanuel Vadot	pinctrl_dvdd: dvddgrp {
111*8d13bc63SEmmanuel Vadot		fsl,pins = <
112*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_GPIO1_IO07_GPIO1_IO7	0x16	/* VDD 3V3_VO3 */
113*8d13bc63SEmmanuel Vadot		>;
114*8d13bc63SEmmanuel Vadot	};
115*8d13bc63SEmmanuel Vadot
116*8d13bc63SEmmanuel Vadot	pinctrl_panel: panelgrp {
117*8d13bc63SEmmanuel Vadot		fsl,pins = <
118*8d13bc63SEmmanuel Vadot			MX8MN_IOMUXC_SAI3_RXC_GPIO4_IO29	0x16	/* panel reset */
119*8d13bc63SEmmanuel Vadot		>;
120*8d13bc63SEmmanuel Vadot	};
121*8d13bc63SEmmanuel Vadot};
122