567 lines
12 KiB
Plaintext
567 lines
12 KiB
Plaintext
/*
|
|
* Copyright 2016 Freescale Semiconductor, Inc.
|
|
* Copyright 2017-2018 NXP.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "imx7ulp.dtsi"
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "NXP i.MX7ULP EVK";
|
|
compatible = "fsl,imx7ulp-evk", "fsl,imx7ulp", "Generic DT based system";
|
|
|
|
aliases {
|
|
gpio4 = &rpmsg_gpio0;
|
|
gpio5 = &rpmsg_gpio1;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = &lpuart4;
|
|
};
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x60000000 0x40000000>;
|
|
};
|
|
|
|
backlight {
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm0 1 50000>;
|
|
brightness-levels = <0 20 25 30 35 40 100>;
|
|
default-brightness-level = <6>;
|
|
status = "okay";
|
|
};
|
|
|
|
mipi_dsi_reset: mipi-dsi-reset {
|
|
compatible = "gpio-reset";
|
|
reset-gpios = <&gpio_ptc 19 GPIO_ACTIVE_LOW>;
|
|
reset-delay-us = <1000>;
|
|
#reset-cells = <0>;
|
|
};
|
|
|
|
modem_reset: modem-reset {
|
|
compatible = "gpio-reset";
|
|
reset-gpios = <&rpmsg_gpio0 15 GPIO_ACTIVE_LOW>;
|
|
reset-delay-us = <1000>;
|
|
#reset-cells = <0>;
|
|
};
|
|
|
|
regulators {
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
reg_usb_otg1_vbus: regulator@0 {
|
|
compatible = "regulator-fixed";
|
|
reg = <0>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_usb_otg1>;
|
|
pinctrl-1 = <&pinctrl_usb_otg1>;
|
|
regulator-name = "usb_otg1_vbus";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
gpio = <&gpio_ptc 0 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
reg_vsd_3v3: regulator@1 {
|
|
compatible = "regulator-fixed";
|
|
reg = <1>;
|
|
regulator-name = "VSD_3V3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&gpio_ptd 0 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
reg_sd1_vmmc: sd1_regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "WLAN_EN";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&rpmsg_gpio0 14 GPIO_ACTIVE_HIGH>;
|
|
off-on-delay = <20000>;
|
|
startup-delay-us = <100>;
|
|
enable-active-high;
|
|
};
|
|
};
|
|
|
|
extcon_usb1: extcon_usb1 {
|
|
compatible = "linux,extcon-usb-gpio";
|
|
id-gpio = <&gpio_ptc 13 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_extcon_usb1>;
|
|
pinctrl-1 = <&pinctrl_extcon_usb1>;
|
|
};
|
|
|
|
pf1550-rpmsg {
|
|
compatible = "fsl,pf1550-rpmsg";
|
|
sw1_reg: SW1 {
|
|
regulator-name = "SW1";
|
|
regulator-min-microvolt = <600000>;
|
|
regulator-max-microvolt = <1387500>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw2_reg: SW2 {
|
|
regulator-name = "SW2";
|
|
regulator-min-microvolt = <600000>;
|
|
regulator-max-microvolt = <1387500>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw3_reg: SW3 {
|
|
regulator-name = "SW3";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vref_reg: VREFDDR {
|
|
regulator-name = "VREFDDR";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vldo1_reg: LDO1 {
|
|
regulator-name = "LDO1";
|
|
regulator-min-microvolt = <750000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vldo2_reg: LDO2 {
|
|
regulator-name = "LDO2";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vldo3_reg: LDO3 {
|
|
regulator-name = "LDO3";
|
|
regulator-min-microvolt = <750000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
|
|
rpmsg_i2s: rpmsg-i2s {
|
|
compatible = "fsl,imx7ulp-rpmsg-i2s";
|
|
/* the audio device index in m4 domain */
|
|
fsl,audioindex = <0> ;
|
|
status = "okay";
|
|
};
|
|
|
|
rpmsg_gpio0: rpmsg-gpio0 {
|
|
compatible = "fsl,imx-rpmsg-gpio";
|
|
port_idx = <0>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
interrupt-parent = <&rpmsg_gpio0>;
|
|
status = "okay";
|
|
};
|
|
|
|
rpmsg_gpio1: rpmsg-gpio1 {
|
|
compatible = "fsl,imx-rpmsg-gpio";
|
|
port_idx = <1>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
interrupt-parent = <&rpmsg_gpio1>;
|
|
status = "okay";
|
|
};
|
|
|
|
rpmsg_keys: rpmsg-keys {
|
|
compatible = "fsl,rpmsg-keys";
|
|
|
|
volume-up {
|
|
label = "Volume Up";
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
};
|
|
|
|
volume-down {
|
|
label = "Volume Down";
|
|
linux,code = <KEY_VOLUMEDOWN>;
|
|
};
|
|
|
|
power-on {
|
|
label = "PowerOn";
|
|
linux,code = <KEY_POWER>;
|
|
rpmsg-key,wakeup;
|
|
};
|
|
};
|
|
|
|
rpmsg_sensor: rpmsg-sensor {
|
|
compatible = "fsl,rpmsg-input";
|
|
};
|
|
|
|
sound-rpmsg {
|
|
compatible = "fsl,imx-audio-rpmsg";
|
|
model = "rpmsg-audio";
|
|
cpu-dai = <&rpmsg_i2s>;
|
|
};
|
|
};
|
|
|
|
&cpu0 {
|
|
arm-supply= <&sw1_reg>;
|
|
};
|
|
|
|
&iomuxc1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_hog_1>;
|
|
|
|
imx7ulp-evk {
|
|
pinctrl_hog_1: hoggrp-1 {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTC1__PTC1 0x20000
|
|
>;
|
|
};
|
|
|
|
pinctrl_pwm0: pwm0_grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTF2__TPM4_CH1 0x3
|
|
>;
|
|
};
|
|
|
|
pinctrl_lpi2c5: lpi2c5grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTC4__LPI2C5_SCL 0x27
|
|
IMX7ULP_PAD_PTC5__LPI2C5_SDA 0x27
|
|
>;
|
|
};
|
|
|
|
pinctrl_mipi_dsi_reset: mipi_dsi_reset_grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTC19__PTC19 0x20003
|
|
>;
|
|
};
|
|
|
|
pinctrl_lpuart4: lpuart4grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTC3__LPUART4_RX 0x3
|
|
IMX7ULP_PAD_PTC2__LPUART4_TX 0x3
|
|
>;
|
|
};
|
|
|
|
pinctrl_lpuart6: lpuart6grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTE10__LPUART6_TX 0x3
|
|
IMX7ULP_PAD_PTE11__LPUART6_RX 0x3
|
|
IMX7ULP_PAD_PTE9__LPUART6_RTS_B 0x3
|
|
IMX7ULP_PAD_PTE8__LPUART6_CTS_B 0x3
|
|
IMX7ULP_PAD_PTE7__PTE7 0x20000 /* BT_REG_ON */
|
|
>;
|
|
};
|
|
|
|
pinctrl_lpuart7: lpuart7grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTF14__LPUART7_TX 0x3
|
|
IMX7ULP_PAD_PTF15__LPUART7_RX 0x3
|
|
IMX7ULP_PAD_PTF13__LPUART7_RTS_B 0x3
|
|
IMX7ULP_PAD_PTF12__LPUART7_CTS_B 0x3
|
|
>;
|
|
};
|
|
|
|
pinctrl_usdhc0: usdhc0grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTD1__SDHC0_CMD 0x43
|
|
IMX7ULP_PAD_PTD2__SDHC0_CLK 0x10042
|
|
IMX7ULP_PAD_PTD7__SDHC0_D3 0x43
|
|
IMX7ULP_PAD_PTD8__SDHC0_D2 0x43
|
|
IMX7ULP_PAD_PTD9__SDHC0_D1 0x43
|
|
IMX7ULP_PAD_PTD10__SDHC0_D0 0x43
|
|
IMX7ULP_PAD_PTC10__PTC10 0x10000 /* USDHC0 CD */
|
|
IMX7ULP_PAD_PTD0__PTD0 0x20000 /* USDHC0 RST */
|
|
>;
|
|
};
|
|
|
|
pinctrl_usdhc0_8bit: usdhc0grp_8bit {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTD1__SDHC0_CMD 0x43
|
|
IMX7ULP_PAD_PTD2__SDHC0_CLK 0x10042
|
|
IMX7ULP_PAD_PTD3__SDHC0_D7 0x43
|
|
IMX7ULP_PAD_PTD4__SDHC0_D6 0x43
|
|
IMX7ULP_PAD_PTD5__SDHC0_D5 0x43
|
|
IMX7ULP_PAD_PTD6__SDHC0_D4 0x43
|
|
IMX7ULP_PAD_PTD7__SDHC0_D3 0x43
|
|
IMX7ULP_PAD_PTD8__SDHC0_D2 0x43
|
|
IMX7ULP_PAD_PTD9__SDHC0_D1 0x43
|
|
IMX7ULP_PAD_PTD10__SDHC0_D0 0x43
|
|
IMX7ULP_PAD_PTD11__SDHC0_DQS 0x42
|
|
>;
|
|
};
|
|
|
|
pinctrl_lpi2c7: lpi2c7grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTF12__LPI2C7_SCL 0x27
|
|
IMX7ULP_PAD_PTF13__LPI2C7_SDA 0x27
|
|
>;
|
|
};
|
|
|
|
pinctrl_lpspi3: lpspi3grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTF16__LPSPI3_SIN 0x0
|
|
IMX7ULP_PAD_PTF17__LPSPI3_SOUT 0x0
|
|
IMX7ULP_PAD_PTF18__LPSPI3_SCK 0x0
|
|
IMX7ULP_PAD_PTF19__LPSPI3_PCS0 0x0
|
|
>;
|
|
};
|
|
|
|
pinctrl_usb_otg1: usbotg1grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTC0__PTC0 0x20000
|
|
>;
|
|
};
|
|
|
|
pinctrl_extcon_usb1: extcon1grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTC13__PTC13 0x10003
|
|
>;
|
|
};
|
|
|
|
pinctrl_focaltech: focaltechgrp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTF0__PTF0 0x10043
|
|
IMX7ULP_PAD_PTF1__PTF1 0x20043
|
|
>;
|
|
};
|
|
|
|
pinctrl_usdhc1: usdhc1grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTE3__SDHC1_CMD 0x43
|
|
IMX7ULP_PAD_PTE2__SDHC1_CLK 0x10042
|
|
IMX7ULP_PAD_PTE1__SDHC1_D0 0x43
|
|
IMX7ULP_PAD_PTE0__SDHC1_D1 0x43
|
|
IMX7ULP_PAD_PTE5__SDHC1_D2 0x43
|
|
IMX7ULP_PAD_PTE4__SDHC1_D3 0x43
|
|
>;
|
|
};
|
|
|
|
pinctrl_usdhc1_rst: usdhc1grp_rst {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTE11__PTE11 0x20000 /* USDHC1 RST */
|
|
IMX7ULP_PAD_PTE13__PTE13 0x10003 /* USDHC1 CD */
|
|
IMX7ULP_PAD_PTE12__PTE12 0x10003 /* USDHC1 WP */
|
|
IMX7ULP_PAD_PTE14__SDHC1_VS 0x43 /* USDHC1 VSEL */
|
|
>;
|
|
};
|
|
|
|
pinctrl_dsi_hdmi: dsi_hdmi_grp {
|
|
fsl,pins = <
|
|
IMX7ULP_PAD_PTC18__PTC18 0x10003 /* DSI_HDMI_INT */
|
|
>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&lcdif {
|
|
status = "okay";
|
|
disp-dev = "mipi_dsi_northwest";
|
|
display = <&display0>;
|
|
|
|
display0: display@0 {
|
|
bits-per-pixel = <16>;
|
|
bus-width = <24>;
|
|
|
|
display-timings {
|
|
native-mode = <&timing0>;
|
|
timing0: timing0 {
|
|
clock-frequency = <9200000>;
|
|
hactive = <480>;
|
|
vactive = <272>;
|
|
hfront-porch = <8>;
|
|
hback-porch = <4>;
|
|
hsync-len = <41>;
|
|
vback-porch = <2>;
|
|
vfront-porch = <4>;
|
|
vsync-len = <10>;
|
|
|
|
hsync-active = <0>;
|
|
vsync-active = <0>;
|
|
de-active = <1>;
|
|
pixelclk-active = <0>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&lpi2c7 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_lpi2c7 &pinctrl_focaltech>;
|
|
pinctrl-1 = <&pinctrl_lpi2c7 &pinctrl_focaltech>;
|
|
status = "okay";
|
|
|
|
focaltech@38 {
|
|
compatible = "focaltech,fts";
|
|
reg = <0x38>;
|
|
interrupt-parent = <&gpio_ptf>;
|
|
interrupts = <0 0x02>;
|
|
focaltech,panel-type = <FT5426>;
|
|
focaltech,reset-gpio = <&gpio_ptf 1 0x01>;
|
|
focaltech,irq-gpio = <&gpio_ptf 0 0x02>;
|
|
focaltech,max-touch-number = <5>;
|
|
focaltech,display-coords = <0 0 480 854>;
|
|
|
|
focaltech,have-key;
|
|
focaltech,key-number = <3>;
|
|
focaltech,keys = <139 102 158>;
|
|
focaltech,key-y-coord = <2000>;
|
|
focaltech,key-x-coords = <200 600 800>;
|
|
};
|
|
};
|
|
|
|
&lpi2c5 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_lpi2c5>;
|
|
pinctrl-1 = <&pinctrl_lpi2c5>;
|
|
status = "okay";
|
|
|
|
adv7535: adv7535@3d {
|
|
compatible = "adi,adv7535";
|
|
reg = <0x3d>; /* PD pin is low */
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_dsi_hdmi>;
|
|
interrupt-parent = <&gpio_ptc>;
|
|
interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
|
|
video-mode = <1>; /*
|
|
* Only support CEA modes.
|
|
* Reference mxc_edid.c
|
|
*/
|
|
dsi-traffic-mode = <0>;
|
|
bpp = <24>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
&lpspi3 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_lpspi3>;
|
|
pinctrl-1 = <&pinctrl_lpspi3>;
|
|
status = "okay";
|
|
|
|
spidev0: spi@0 {
|
|
reg = <0>;
|
|
compatible = "rohm,dh2228fv";
|
|
spi-max-frequency = <1000000>;
|
|
};
|
|
};
|
|
|
|
|
|
&adv7535 {
|
|
status = "okay";
|
|
|
|
port {
|
|
dsi_to_hdmi: endpoint {
|
|
remote-endpoint = <&mipi_dsi_ep>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&mipi_dsi {
|
|
status = "okay";
|
|
|
|
port {
|
|
mipi_dsi_ep: endpoint {
|
|
remote-endpoint = <&dsi_to_hdmi>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&lpuart4 { /* console */
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_lpuart4>;
|
|
pinctrl-1 = <&pinctrl_lpuart4>;
|
|
status = "okay";
|
|
};
|
|
|
|
&lpuart6 { /* BT */
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_lpuart6>;
|
|
pinctrl-1 = <&pinctrl_lpuart6>;
|
|
resets = <&modem_reset>;
|
|
status = "okay";
|
|
};
|
|
|
|
&lpuart7 { /* Uart test */
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_lpuart7>;
|
|
pinctrl-1 = <&pinctrl_lpuart7>;
|
|
status = "disabled";
|
|
};
|
|
|
|
&pwm0 {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_pwm0>;
|
|
pinctrl-1 = <&pinctrl_pwm0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&rpmsg{
|
|
/*
|
|
* 64K for one rpmsg instance, default using 2 rpmsg instances:
|
|
* --0x9FF00000~0x9FF0FFFF: pmic,pm,audio,keys,gpio,sensor
|
|
* --0x9FF10000~0x9FF1FFFF: pingpong,virtual tty
|
|
*/
|
|
vdev-nums = <2>;
|
|
reg = <0x9FF00000 0x20000>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usbotg1 {
|
|
vbus-supply = <®_usb_otg1_vbus>;
|
|
extcon = <0>, <&extcon_usb1>;
|
|
srp-disable;
|
|
hnp-disable;
|
|
adp-disable;
|
|
status = "okay";
|
|
};
|
|
|
|
&usbphy1 {
|
|
fsl,tx-d-cal = <88>;
|
|
};
|
|
|
|
&usdhc0 {
|
|
pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
|
|
pinctrl-0 = <&pinctrl_usdhc0>;
|
|
pinctrl-1 = <&pinctrl_usdhc0>;
|
|
pinctrl-2 = <&pinctrl_usdhc0>;
|
|
pinctrl-3 = <&pinctrl_usdhc0>;
|
|
cd-gpios = <&gpio_ptc 10 GPIO_ACTIVE_LOW>;
|
|
vmmc-supply = <®_vsd_3v3>;
|
|
vqmmc-supply = <&vldo2_reg>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usdhc1 {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&pinctrl_usdhc1>;
|
|
pinctrl-1 = <&pinctrl_usdhc1>;
|
|
bus-width = <4>;
|
|
no-1-8-v;
|
|
vmmc-supply = <®_sd1_vmmc>;
|
|
pm-ignore-notify;
|
|
keep-power-in-suspend;
|
|
non-removable;
|
|
status = "okay";
|
|
};
|