Markus Koch
237cd1ffb4
For some reason, the ecspi SS1 line appears on the output when selecting GPIO in the pinmux. Also, the x-axis is inverted, and pressure values upon press hover around 250.
358 lines
7.7 KiB
Plaintext
358 lines
7.7 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
/*
|
|
* Copyright (C) 2024 Markus Koch <markus@notsyncing.net>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "imx53.dtsi"
|
|
|
|
/ {
|
|
model = "AMX MST701";
|
|
compatible = "amx,mst701", "fsl,imx53";
|
|
|
|
memory@70000000 {
|
|
device_type = "memory";
|
|
reg = <
|
|
0x70000000 0x10000000
|
|
0xb0000000 0x10000000
|
|
>;
|
|
};
|
|
|
|
reserved-memory {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
gpu_reserved_mem: gpu_mem@76000000 {
|
|
reg = <0x76000000 0x08000000>;
|
|
};
|
|
mxc_sdc_fb_0_legacy: gpu_fbmem@7e000000 {
|
|
reg = <0x7e000000 0x02000000>;
|
|
};
|
|
gpu_graphics_mem_sram: gpu_graphics_mem@1 {
|
|
reg = <0xf8020000 0x40000>;
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
display = &lvds0;
|
|
lvds0 = &lvds0;
|
|
};
|
|
|
|
sgtlsound: sound {
|
|
compatible = "fsl,imx53-amxtablet-sgtl5000",
|
|
"fsl,imx-audio-sgtl5000";
|
|
model = "imx53-amxtablet-sgtl5000";
|
|
simple-audio-card,aux-devs = <&speaker_amp>;
|
|
simple-audio-card,routing =
|
|
"Headphone Jack", "Speaker Amp OUTR",
|
|
"Speaker Amp INR", "HP_OUT";
|
|
ssi-controller = <&ssi2>;
|
|
audio-codec = <&sgtl5000>;
|
|
audio-routing =
|
|
"Headphone Jack", "HP_OUT"
|
|
;
|
|
mux-int-port = <2>;
|
|
mux-ext-port = <5>;
|
|
};
|
|
|
|
speaker_amp: speaker-amp {
|
|
compatible = "simple-audio-amplifier";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_spkamp>;
|
|
sound-name-prefix = "Speaker Amp";
|
|
/* enable-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; */ // TODO: I don't know how to link my "imx-audio-sgtl5000" to this amp node (see above)
|
|
};
|
|
|
|
reg_3p2v: regulator-3p2v {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "3P2V";
|
|
regulator-min-microvolt = <3200000>;
|
|
regulator-max-microvolt = <3200000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
reg_usbotg_vbus: regulator-usbotg-vbus {
|
|
compatible = "regulator-fixed";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_usbotg_reg>;
|
|
regulator-name = "VCC_USB";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
reg_usbh1_vbus: regulator-usbh1-vbus {
|
|
compatible = "regulator-fixed";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_usbh1_reg>;
|
|
regulator-name = "VCC_USB_INT";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
gpio = <&gpio2 26 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
gpio-poweroff { /* In case you didn't see it, there's power button on the top left of the device. */
|
|
compatible = "gpio-poweroff";
|
|
gpios = <&gpio2 15 GPIO_ACTIVE_LOW>;
|
|
timeout-ms = <3000>;
|
|
// TODO: pinctrl
|
|
};
|
|
|
|
gpio-leds {
|
|
compatible = "gpio-leds";
|
|
|
|
system-status {
|
|
label = "Status";
|
|
linux,default-trigger = "heartbeat";
|
|
gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
|
|
// TODO: pinctrl
|
|
};
|
|
};
|
|
};
|
|
|
|
&ecspi1 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_ecspi1>;
|
|
|
|
touchscreen0: tsc2046@1 {
|
|
reg = <1>;
|
|
|
|
compatible = "ti,tsc2046";
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <8 0>;
|
|
pendown-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
|
|
|
|
spi-max-frequency = <1000000>;
|
|
|
|
touchscreen-min-pressure = <128>;
|
|
touchscreen-max-pressure = <512>;
|
|
touchscreen-inverted-x;
|
|
|
|
wakeup-source;
|
|
};
|
|
};
|
|
|
|
&ldb {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_lvds0>;
|
|
status = "okay";
|
|
|
|
lvds0: lvds-channel@0 {
|
|
fsl,data-mapping = "spwg";
|
|
fsl,data-width = <24>;
|
|
status = "okay";
|
|
|
|
display-timings {
|
|
native-mode = <&lvds0_timing0>;
|
|
|
|
lvds0_timing0: timing-mst701disp {
|
|
clock-frequency = <48960000>;
|
|
hactive = <1024>;
|
|
vactive = <600>;
|
|
hback-porch = <144>;
|
|
hsync-len = <104>;
|
|
hfront-porch = <40>;
|
|
vback-porch = <18>;
|
|
vsync-len = <3>;
|
|
vfront-porch = <1>;
|
|
hsync-active = <0>;
|
|
vsync-active = <0>;
|
|
de-active = <1>;
|
|
pixelclk-active = <1>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&ssi2 {
|
|
fsl,mode = "i2s-master";
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_i2c1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_i2c2>;
|
|
status = "okay";
|
|
sgtl5000: codec@a {
|
|
compatible = "fsl,sgtl5000";
|
|
reg = <0x0a>;
|
|
#sound-dai-cells = <0>;
|
|
clocks = <&clks IMX5_CLK_SSI_EXT1_GATE>;
|
|
VDDA-supply = <®_3p2v>;
|
|
VDDIO-supply = <®_3p2v>;
|
|
};
|
|
};
|
|
|
|
&i2c3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_i2c3>;
|
|
status = "okay";
|
|
};
|
|
|
|
&cpu0 {
|
|
operating-points = <
|
|
/* kHz */
|
|
166666 850000
|
|
400000 900000
|
|
800000 1050000
|
|
1000000 1200000
|
|
// 1200000 1300000 // SKU does not support 1.2 GHz
|
|
>;
|
|
};
|
|
|
|
&audmux {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_audmux>;
|
|
status = "okay";
|
|
};
|
|
|
|
&iomuxc {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_hog>;
|
|
|
|
pinctrl_hog: hoggrp {
|
|
fsl,pins = <
|
|
MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000 /* SSI_MCLK */
|
|
// MX53_PAD_DISP0_DAT8__WDOG1_WDOG_B TODO
|
|
// MX53_PAD_GPIO_1__PWM2_PWMO
|
|
// MX53_PAD_GPIO_9__PWM1_PWMO
|
|
>;
|
|
};
|
|
|
|
pinctrl_usbotg_reg: usbotgreggrp {
|
|
fsl,pins = <
|
|
MX53_PAD_EIM_DA15__GPIO3_15 0x0 /* VBUS_EN */
|
|
>;
|
|
};
|
|
|
|
pinctrl_usbh1_reg: usbh1reggrp {
|
|
fsl,pins = <
|
|
MX53_PAD_EIM_RW__GPIO2_26 0x0 /* VBUS_EN (ETH) */
|
|
>;
|
|
};
|
|
|
|
pinctrl_ecspi1: ecspi1grp {
|
|
fsl,pins = <
|
|
MX53_PAD_EIM_D16__ECSPI1_SCLK 0x80000000
|
|
MX53_PAD_EIM_D17__ECSPI1_MISO 0x80000000
|
|
MX53_PAD_EIM_D18__ECSPI1_MOSI 0x80000000
|
|
MX53_PAD_EIM_D19__GPIO3_19 0x80000000 /* Should normally be MX53_PAD_EIM_D19__ECSPI1_SS1, but for some reason ecspi controls the SS via GPIO. */
|
|
>;
|
|
};
|
|
|
|
pinctrl_audmux: audmuxgrp {
|
|
fsl,pins = <
|
|
MX53_PAD_KEY_COL0__AUDMUX_AUD5_TXC 0x80000000
|
|
MX53_PAD_KEY_ROW0__AUDMUX_AUD5_TXD 0x80000000
|
|
MX53_PAD_KEY_COL1__AUDMUX_AUD5_TXFS 0x80000000
|
|
MX53_PAD_KEY_ROW1__AUDMUX_AUD5_RXD 0x80000000
|
|
>;
|
|
};
|
|
|
|
pinctrl_spkamp: spkampgrp {
|
|
fsl,pins = <
|
|
MX53_PAD_GPIO_12__GPIO4_2 0x0
|
|
>;
|
|
};
|
|
|
|
pinctrl_uart1: uart1grp {
|
|
fsl,pins = <
|
|
MX53_PAD_PATA_DIOW__UART1_TXD_MUX 0x1e4
|
|
MX53_PAD_PATA_DMACK__UART1_RXD_MUX 0x1e4
|
|
>;
|
|
};
|
|
|
|
pinctrl_esdhc1: esdhc1grp {
|
|
fsl,pins = <
|
|
MX53_PAD_SD1_DATA0__ESDHC1_DAT0 0x1d5
|
|
MX53_PAD_SD1_DATA1__ESDHC1_DAT1 0x1d5
|
|
MX53_PAD_SD1_DATA2__ESDHC1_DAT2 0x1d5
|
|
MX53_PAD_SD1_DATA3__ESDHC1_DAT3 0x1d5
|
|
MX53_PAD_SD1_CMD__ESDHC1_CMD 0x1d5
|
|
MX53_PAD_SD1_CLK__ESDHC1_CLK 0x1d5
|
|
>;
|
|
};
|
|
|
|
pinctrl_fec: fecgrp {
|
|
fsl,pins = <
|
|
MX53_PAD_FEC_MDC__FEC_MDC 0x80000000
|
|
MX53_PAD_FEC_MDIO__FEC_MDIO 0x80000000
|
|
MX53_PAD_FEC_REF_CLK__FEC_TX_CLK 0x80000000
|
|
MX53_PAD_FEC_RX_ER__FEC_RX_ER 0x80000000
|
|
MX53_PAD_FEC_CRS_DV__FEC_RX_DV 0x80000000
|
|
MX53_PAD_FEC_RXD1__FEC_RDATA_1 0x80000000
|
|
MX53_PAD_FEC_RXD0__FEC_RDATA_0 0x80000000
|
|
MX53_PAD_FEC_TX_EN__FEC_TX_EN 0x80000000
|
|
MX53_PAD_FEC_TXD1__FEC_TDATA_1 0x80000000
|
|
MX53_PAD_FEC_TXD0__FEC_TDATA_0 0x80000000
|
|
>;
|
|
};
|
|
|
|
pinctrl_i2c2: i2c2grp {
|
|
fsl,pins = <
|
|
MX53_PAD_KEY_ROW3__I2C2_SDA 0x400001e4
|
|
MX53_PAD_KEY_COL3__I2C2_SCL 0x400001e4
|
|
>;
|
|
};
|
|
|
|
pinctrl_i2c1: i2c1grp {
|
|
fsl,pins = <
|
|
MX53_PAD_EIM_D21__I2C1_SCL 0x400001e4
|
|
MX53_PAD_EIM_D28__I2C1_SDA 0x400001e4
|
|
>;
|
|
};
|
|
|
|
pinctrl_i2c3: i2c3grp {
|
|
fsl,pins = <
|
|
MX53_PAD_GPIO_6__I2C3_SDA 0x400001e4
|
|
MX53_PAD_GPIO_5__I2C3_SCL 0x400001e4
|
|
>;
|
|
};
|
|
|
|
pinctrl_lvds0: lvds0grp {
|
|
fsl,pins = <
|
|
MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000
|
|
MX53_PAD_LVDS0_CLK_P__LDB_LVDS0_CLK 0x80000000
|
|
MX53_PAD_LVDS0_TX2_P__LDB_LVDS0_TX2 0x80000000
|
|
MX53_PAD_LVDS0_TX1_P__LDB_LVDS0_TX1 0x80000000
|
|
MX53_PAD_LVDS0_TX0_P__LDB_LVDS0_TX0 0x80000000
|
|
>;
|
|
};
|
|
};
|
|
|
|
&esdhc1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_esdhc1>;
|
|
status = "okay";
|
|
//max-frequency = <25000000>;
|
|
};
|
|
|
|
&uart1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_uart1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usbotg { /* External USB port */
|
|
dr_mode = "host";
|
|
status = "okay";
|
|
vbus-supply = <®_usbotg_vbus>;
|
|
};
|
|
|
|
&usbh1 { /* USB Ethernet controller */
|
|
phy_type = "utmi";
|
|
dr_mode = "host";
|
|
vbus-supply = <®_usbh1_vbus>;
|
|
status = "okay";
|
|
};
|