Skip to content
Snippets Groups Projects
Commit 0bd25e0b authored by Nicola Sparnacci's avatar Nicola Sparnacci
Browse files

[C57][DTS] Enable LVDS backlight

parent c31e4591
No related branches found
No related tags found
1 merge request!150[iMX8QXP][C57] Add support to iMX8QXP SoC and SECO C57 board
......@@ -51,6 +51,8 @@ dtbo-$(CONFIG_ARCH_MXC) += \
seco-imx8mn-c72-edp.dtbo\
seco-imx8mn-c72-lvds-dual-215.dtbo\
seco-imx8mn-c72-lvds-dual-156.dtbo
seco-imx8mn-c72-edp.dtbo \
seco-imx8qxp-c57-lvds-1024x600.dtbo
# seco-imx8qm-c26-dp.dtbo\
# seco-imx8qm-c26-lvds-single.dtbo\
......
......@@ -29,13 +29,26 @@
};
aliases {
ethernet0 = &fec1;
ethernet1 = &fec2;
dsi_phy0 = &mipi0_dphy;
dsi_phy1 = &mipi1_dphy;
mipi_dsi0 = &mipi0_dsi_host;
mipi_dsi1 = &mipi1_dsi_host;
ldb0 = &ldb1;
ldb1 = &ldb2;
serial0 = &lpuart0;
serial1 = &lpuart1;
serial2 = &lpuart2;
serial3 = &lpuart3;
mmc0 = &usdhc1;
ethernet0 = &fec1;
ethernet1 = &fec2;
i2c5 = &i2c0_mipi_lvds0;
i2c6 = &i2c0_mipi_lvds1;
gpio0 = &gpio0;
gpio1 = &gpio1;
gpio2 = &gpio2;
gpio3 = &gpio3;
gpio4 = &gpio4;
};
cpus {
......@@ -60,13 +73,142 @@
interrupt-affinity = <&A35_0>, <&A35_1>, <&A35_2>, <&A35_3>;
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
/*cn15 connector*/
reg_en_bckl1_drv: en_bckl_drv {
status = "disabled";
compatible = "regulator-fixed";
regulator-name = "EN_BCKL_DRV";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio3 1 GPIO_ACTIVE_HIGH>;
enable-active-high;
// startup-delay-us = <40000>;\
regulator-boot-on;
regulator-always-on;
};
reg_backlight_vcc_bkl_sw: backlight_vcc_bkl_sw {
compatible = "regulator-fixed";
regulator-name = "backlight_vcc_bkl_sw";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
//gpio = <&gpio0 19 GPIO_ACTIVE_HIGH>; /* This is configured by u-boot */
enable-active-high;
regulator-boot-on;
regulator-always-on;
};
reg_en_vcc_lcd: en_vcc_lcd {
compatible = "regulator-fixed";
regulator-name = "EN_VCC_LCD";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
regulator-always-on;
};
reg_backlight_on: reg_backlight_on {
compatible = "regulator-fixed";
regulator-name = "BACKLIGHT_ON";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio0 13 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
regulator-always-on;
};
reg_lvds_panel_on: lvds_panel_on {
compatible = "regulator-fixed";
regulator-name = "LVDS_PANEL_ON";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio0 15 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
};
mux_sel: mux_sel {
compatible = "regulator-fixed";
regulator-name = "MUX_SEL";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio3 22 GPIO_ACTIVE_LOW>;
regulator-always-on;
};
};
/* Both Panels backlight + MP3385AGR */
lvds_backlight0 {
compatible = "mp3385-backlight";
pwms = <&pwm_mipi_lvds0 0 100000 0>;
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <90>;
client-device = <&mp3385_led_driver>;
};
/* Backlight on CN25 (pin30) */
lvds_backlight1 {
compatible = "pwm-backlight";
pwms = <&pwm_mipi_lvds1 0 100000 0>;
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <90>;
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
imx8qxp-mek {
pinctrl_hog: hoggrp {
fsl,pins = <
IMX8QXP_COMP_CTL_GPIO_1V8_3V3_GPIORHB_PAD 0x000514a0
/*BACKLIGHT on - EN_VCC_BKL_SW*/
IMX8QXP_MCLK_IN0_LSIO_GPIO0_IO19 0x00000021 /* bckl gpio RevB */
IMX8QXP_CSI_RESET_LSIO_GPIO3_IO03 0x00000021 /* bckl gpio RevC */
/*DISPLAY_BLK_ON*/
IMX8QXP_SPI3_SCK_LSIO_GPIO0_IO13 0x00000021
/*LVDS PANEL ON*/
IMX8QXP_SPI3_SDI_LSIO_GPIO0_IO15 0x00000021
/*MUX_SEL LVDS*/
IMX8QXP_QSPI0B_DQS_LSIO_GPIO3_IO22 0x00000021
/*EN_BCKL_DRV*/
IMX8QXP_CSI_MCLK_LSIO_GPIO3_IO01 0x00000021
/*EN_VCC_LCD_SW*/
IMX8QXP_SPDIF0_EXT_CLK_LSIO_GPIO0_IO12 0x00000021
>;
};
pinctrl_lpuart0: lpuart0grp {
fsl,pins = <
......@@ -89,6 +231,67 @@
IMX8QXP_FLEXCAN2_RX_ADMA_UART3_RX 0x06000020
>;
};
pinctrl_fec1: fec1grp {
fsl,pins = <
IMX8QXP_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB0_PAD 0x000014a0
IMX8QXP_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB1_PAD 0x000014a0
IMX8QXP_ENET0_MDC_CONN_ENET0_MDC 0x06000020
IMX8QXP_ENET0_MDIO_CONN_ENET0_MDIO 0x06000020
IMX8QXP_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x00000061
IMX8QXP_ENET0_RGMII_TXC_CONN_ENET0_RGMII_TXC 0x00000061
IMX8QXP_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0 0x00000061
IMX8QXP_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1 0x00000061
IMX8QXP_ENET0_RGMII_TXD2_CONN_ENET0_RGMII_TXD2 0x00000061
IMX8QXP_ENET0_RGMII_TXD3_CONN_ENET0_RGMII_TXD3 0x00000061
IMX8QXP_ENET0_RGMII_RXC_CONN_ENET0_RGMII_RXC 0x00000061
IMX8QXP_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x00000061
IMX8QXP_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0 0x00000061
IMX8QXP_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1 0x00000061
IMX8QXP_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2 0x00000061
IMX8QXP_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3 0x00000061
/*RST ENET0 GPIO0_IO14*/
IMX8QXP_SPI3_SDO_LSIO_GPIO0_IO14 0x00000021
>;
};
pinctrl_fec2: fec2grp {
fsl,pins = <
IMX8QXP_ESAI0_SCKR_CONN_ENET1_RGMII_TX_CTL 0x00000060
IMX8QXP_ESAI0_FSR_CONN_ENET1_RGMII_TXC 0x00000060
IMX8QXP_ESAI0_TX4_RX1_CONN_ENET1_RGMII_TXD0 0x00000060
IMX8QXP_ESAI0_TX5_RX0_CONN_ENET1_RGMII_TXD1 0x00000060
IMX8QXP_ESAI0_FST_CONN_ENET1_RGMII_TXD2 0x00000060
IMX8QXP_ESAI0_SCKT_CONN_ENET1_RGMII_TXD3 0x00000060
IMX8QXP_ESAI0_TX0_CONN_ENET1_RGMII_RXC 0x00000060
IMX8QXP_SPDIF0_TX_CONN_ENET1_RGMII_RX_CTL 0x00000060
IMX8QXP_SPDIF0_RX_CONN_ENET1_RGMII_RXD0 0x00000060
IMX8QXP_ESAI0_TX3_RX2_CONN_ENET1_RGMII_RXD1 0x00000060
IMX8QXP_ESAI0_TX2_RX3_CONN_ENET1_RGMII_RXD2 0x00000060
IMX8QXP_ESAI0_TX1_CONN_ENET1_RGMII_RXD3 0x00000060
/*RST ENET1 GPIO3_IO13*/
IMX8QXP_QSPI0A_DQS_LSIO_GPIO3_IO13 0x00000021
>;
};
pinctrl_lpi2c3: lpi2cgrp {
fsl,pins = <
IMX8QXP_SPI3_CS1_ADMA_I2C3_SCL 0x0600004c
IMX8QXP_MCLK_IN1_ADMA_I2C3_SDA 0x0600004c
>;
};
pinctrl_pwm_mipi_lvds0: mipi_lvds0_pwm_grp {
fsl,pins = <
IMX8QXP_MIPI_DSI0_GPIO0_00_MIPI_DSI0_PWM0_OUT 0x00000020
>;
};
pinctrl_pwm_mipi_lvds1: mipi_lvds1_pwm_grp {
fsl,pins = <
IMX8QXP_MIPI_DSI1_GPIO0_00_MIPI_DSI1_PWM0_OUT 0x00000020
>;
};
pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
......@@ -137,51 +340,21 @@
IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x00000041
>;
};
pinctrl_fec1: fec1grp {
fsl,pins = <
IMX8QXP_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB0_PAD 0x000014a0
IMX8QXP_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB1_PAD 0x000014a0
IMX8QXP_ENET0_MDC_CONN_ENET0_MDC 0x06000020
IMX8QXP_ENET0_MDIO_CONN_ENET0_MDIO 0x06000020
IMX8QXP_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x00000061
IMX8QXP_ENET0_RGMII_TXC_CONN_ENET0_RGMII_TXC 0x00000061
IMX8QXP_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0 0x00000061
IMX8QXP_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1 0x00000061
IMX8QXP_ENET0_RGMII_TXD2_CONN_ENET0_RGMII_TXD2 0x00000061
IMX8QXP_ENET0_RGMII_TXD3_CONN_ENET0_RGMII_TXD3 0x00000061
IMX8QXP_ENET0_RGMII_RXC_CONN_ENET0_RGMII_RXC 0x00000061
IMX8QXP_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x00000061
IMX8QXP_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0 0x00000061
IMX8QXP_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1 0x00000061
IMX8QXP_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2 0x00000061
IMX8QXP_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3 0x00000061
/*RST ENET0 GPIO0_IO14*/
IMX8QXP_SPI3_SDO_LSIO_GPIO0_IO14 0x00000021
>;
};
pinctrl_fec2: fec2grp {
fsl,pins = <
IMX8QXP_ESAI0_SCKR_CONN_ENET1_RGMII_TX_CTL 0x00000060
IMX8QXP_ESAI0_FSR_CONN_ENET1_RGMII_TXC 0x00000060
IMX8QXP_ESAI0_TX4_RX1_CONN_ENET1_RGMII_TXD0 0x00000060
IMX8QXP_ESAI0_TX5_RX0_CONN_ENET1_RGMII_TXD1 0x00000060
IMX8QXP_ESAI0_FST_CONN_ENET1_RGMII_TXD2 0x00000060
IMX8QXP_ESAI0_SCKT_CONN_ENET1_RGMII_TXD3 0x00000060
IMX8QXP_ESAI0_TX0_CONN_ENET1_RGMII_RXC 0x00000060
IMX8QXP_SPDIF0_TX_CONN_ENET1_RGMII_RX_CTL 0x00000060
IMX8QXP_SPDIF0_RX_CONN_ENET1_RGMII_RXD0 0x00000060
IMX8QXP_ESAI0_TX3_RX2_CONN_ENET1_RGMII_RXD1 0x00000060
IMX8QXP_ESAI0_TX2_RX3_CONN_ENET1_RGMII_RXD2 0x00000060
IMX8QXP_ESAI0_TX1_CONN_ENET1_RGMII_RXD3 0x00000060
/*RST ENET1 GPIO3_IO13*/
IMX8QXP_QSPI0A_DQS_LSIO_GPIO3_IO13 0x00000021
>;
};
};
};
gpio0: &lsio_gpio0 {
};
gpio1: &lsio_gpio1 {
};
gpio2: &lsio_gpio2 {
};
gpio3: &lsio_gpio3 {
};
gpio4: &lsio_gpio4 {
};
&lpuart0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lpuart0>;
......@@ -201,29 +374,6 @@
status = "okay";
};
&usdhc1 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc1>;
pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
bus-width = <8>;
non-removable;
status = "okay";
};
&usb3_phy {
status = "okay";
};
&usbotg3 {
status = "okay";
};
&usbotg3_cdns3 {
dr_mode = "host";
status = "okay";
};
&fec1 {
status = "okay";
pinctrl-names = "default";
......@@ -232,10 +382,10 @@
phy-handle = <&ethphy0>;
fsl,magic-packet;
phy-reset-gpios = <&lsio_gpio0 14 GPIO_ACTIVE_HIGH>;
phy-reset-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
phy-reset-active-high;
phy-reset-duration = <2>;
phy-reset-duration = <2>;
mdio {
#address-cells = <1>;
#size-cells = <0>;
......@@ -271,7 +421,58 @@
phy-mode = "rgmii-id";
phy-handle = <&ethphy1>;
fsl,magic-packet;
phy-reset-gpios = <&lsio_gpio3 13 GPIO_ACTIVE_HIGH>;
phy-reset-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
phy-reset-active-high;
phy-reset-duration = <2>;
};
&i2c3 {
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lpi2c3>;
status = "okay";
mp3385_led_driver: mp3385@31 {
status = "okay";
compatible = "seco,led_mp3385";
reg = <0x31>;
reg-val = <0xf1 0xc4 0x3b 0x03 0x7f 0xe0 0x01>;
};
};
&usdhc1 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc1>;
pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
bus-width = <8>;
non-removable;
status = "okay";
};
&usb3_phy {
status = "okay";
};
&usbotg3 {
status = "okay";
};
&usbotg3_cdns3 {
dr_mode = "host";
status = "okay";
};
&pwm_mipi_lvds0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm_mipi_lvds0>;
status = "okay";
};
&pwm_mipi_lvds1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm_mipi_lvds1>;
status = "okay";
};
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment