413 lines
9.5 KiB
Plaintext
413 lines
9.5 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0+
|
|
//
|
|
// Copyright 2012 Freescale Semiconductor, Inc.
|
|
|
|
/dts-v1/;
|
|
#include "imx28.dtsi"
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
/ {
|
|
model = "SHARP Brain PW-SH1";
|
|
compatible = "sharp,pw-sh1", "fsl,imx28";
|
|
|
|
memory@40000000 {
|
|
device_type = "memory";
|
|
reg = <0x40000000 0x08000000>;
|
|
};
|
|
|
|
|
|
reg_3p3v: regulator-3p3v {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "3P3V";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
reg_vddio_sd0: regulator-vddio-sd0 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vddio-sd0";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&gpio3 28 0>;
|
|
};
|
|
|
|
reg_fec_3v3: regulator-fec-3v3 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "fec-3v3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&gpio2 15 0>;
|
|
};
|
|
|
|
reg_usb0_vbus: regulator-usb0-vbus {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "usb0_vbus";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
gpio = <&gpio3 9 0>;
|
|
enable-active-high;
|
|
};
|
|
|
|
reg_lcd_3v3: regulator-lcd-3v3 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "lcd-3v3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&gpio3 30 0>;
|
|
enable-active-high;
|
|
};
|
|
|
|
reg_can_3v3: regulator-can-3v3 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "can-3v3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&gpio2 13 0>;
|
|
enable-active-high;
|
|
};
|
|
|
|
reg_lcd_5v: regulator-lcd-5v {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "lcd-5v";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
};
|
|
|
|
apb@80000000 {
|
|
apbh@80000000 {
|
|
ssp0: spi@80010000 {
|
|
compatible = "fsl,imx28-mmc";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc0_8bit_pins_a
|
|
&mmc0_cd_cfg &mmc0_sck_cfg>;
|
|
bus-width = <8>;
|
|
wp-gpios = <&gpio2 12 0>;
|
|
vmmc-supply = <®_vddio_sd0>;
|
|
status = "okay";
|
|
};
|
|
|
|
ssp1: spi@80012000 {
|
|
compatible = "fsl,imx28-mmc";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc1_4bit_pins_a
|
|
&mmc1_cd_cfg &mmc1_sck_cfg>;
|
|
bus-width = <4>;
|
|
status = "okay";
|
|
};
|
|
|
|
ssp2: spi@80014000 {
|
|
compatible = "fsl,imx28-spi";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&slcd_pins>;
|
|
clock-frequency = <16000000>;
|
|
status = "disabled";
|
|
|
|
slcd: slcd@0 {
|
|
reg = <0>;
|
|
status = "okay";
|
|
compatible = "brain,st7586";
|
|
spi-max-frequency = <16000000>;
|
|
reset-gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
|
|
rotation = <180>;
|
|
};
|
|
};
|
|
|
|
pinctrl@80018000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&hog_pins_3v3_pullup &hog_pins_3v3_nopull &hog_pins_1v8_nopull>;
|
|
|
|
hog_pins_3v3_pullup: hog@0 {
|
|
reg = <0>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_GPMI_CLE__GPIO_0_27
|
|
>;
|
|
fsl,drive-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_HIGH>;
|
|
fsl,pull-up = <MXS_PULL_ENABLE>;
|
|
};
|
|
|
|
hog_pins_3v3_nopull: hog@1 {
|
|
reg = <1>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_SSP1_CMD__GPIO_2_13
|
|
MX28_PAD_SSP1_DATA3__GPIO_2_15
|
|
MX28_PAD_ENET0_RX_CLK__GPIO_4_13
|
|
MX28_PAD_SSP1_SCK__GPIO_2_12
|
|
MX28_PAD_PWM3__GPIO_3_28
|
|
MX28_PAD_AUART2_RX__GPIO_3_8
|
|
MX28_PAD_AUART2_TX__GPIO_3_9
|
|
>;
|
|
fsl,drive-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_HIGH>;
|
|
fsl,pull-up = <MXS_PULL_DISABLE>;
|
|
};
|
|
|
|
hog_pins_1v8_nopull: hog@2 {
|
|
reg = <2>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_GPMI_ALE__GPIO_0_26
|
|
>;
|
|
fsl,drive-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_LOW>;
|
|
fsl,pull-up = <MXS_PULL_DISABLE>;
|
|
};
|
|
|
|
lcd_backlight_pins: pwm@0 {
|
|
reg = <0>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_AUART1_RX__PWM_0
|
|
MX28_PAD_AUART1_TX__PWM_1
|
|
>;
|
|
fsl,drive-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_HIGH>;
|
|
fsl,pull-up = <MXS_PULL_DISABLE>;
|
|
};
|
|
|
|
slcd_backlight_pin: pwm@1 {
|
|
reg = <1>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_PWM2__PWM_2
|
|
>;
|
|
fsl,drive-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_HIGH>;
|
|
fsl,pull-up = <MXS_PULL_DISABLE>;
|
|
};
|
|
|
|
buzzer_pins: pwm@2 {
|
|
reg = <2>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_PWM4__PWM_4
|
|
MX28_PAD_SAIF1_SDATA0__GPIO_3_26
|
|
>;
|
|
fsl,drive-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_HIGH>;
|
|
fsl,pull-up = <MXS_PULL_DISABLE>;
|
|
};
|
|
|
|
lcdif_pins: lcdif@0 {
|
|
reg = <0>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_LCD_D00__LCD_D0
|
|
MX28_PAD_LCD_D01__LCD_D1
|
|
MX28_PAD_LCD_D02__LCD_D2
|
|
MX28_PAD_LCD_D03__LCD_D3
|
|
MX28_PAD_LCD_D04__LCD_D4
|
|
MX28_PAD_LCD_D05__LCD_D5
|
|
MX28_PAD_LCD_D06__LCD_D6
|
|
MX28_PAD_LCD_D07__LCD_D7
|
|
MX28_PAD_LCD_D08__LCD_D8
|
|
MX28_PAD_LCD_D09__LCD_D9
|
|
MX28_PAD_LCD_D10__LCD_D10
|
|
MX28_PAD_LCD_D11__LCD_D11
|
|
MX28_PAD_LCD_D12__LCD_D12
|
|
MX28_PAD_LCD_D13__LCD_D13
|
|
MX28_PAD_LCD_D14__LCD_D14
|
|
MX28_PAD_LCD_D15__LCD_D15
|
|
MX28_PAD_LCD_RD_E__LCD_RD_E
|
|
MX28_PAD_LCD_WR_RWN__LCD_WR_RWN
|
|
MX28_PAD_LCD_RS__LCD_RS
|
|
MX28_PAD_LCD_CS__LCD_CS
|
|
>;
|
|
fsl,drive-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_LOW>;
|
|
fsl,pull-up = <MXS_PULL_DISABLE>;
|
|
};
|
|
|
|
lcdif_vsync_pin: lcdif@1 {
|
|
reg = <1>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_LCD_RESET__LCD_VSYNC
|
|
>;
|
|
fsl,driver-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_LOW>;
|
|
fsl,pull-up = <MXS_PULL_DISABLE>;
|
|
};
|
|
|
|
lcdif_reset_pin: lcdif@2 {
|
|
reg = <2>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_LCD_RESET__LCD_RESET
|
|
>;
|
|
fsl,driver-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_LOW>;
|
|
fsl,pull-up = <MXS_PULL_DISABLE>;
|
|
};
|
|
|
|
slcd_pins: spi2@0 {
|
|
reg = <0>;
|
|
fsl,pinmux-ids = <
|
|
MX28_PAD_SSP2_SCK__SSP2_SCK
|
|
MX28_PAD_SSP2_MOSI__SSP2_CMD
|
|
MX28_PAD_SSP2_MISO__GPIO_2_18
|
|
MX28_PAD_SSP2_SS0__SSP2_D3
|
|
>;
|
|
fsl,drive-strength = <MXS_DRIVE_4mA>;
|
|
fsl,voltage = <MXS_VOLTAGE_HIGH>;
|
|
fsl,pull-up = <MXS_PULL_DISABLE>;
|
|
};
|
|
};
|
|
|
|
brainlcd: lcdif@80030000 {
|
|
compatible = "sharp,brainlcd";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&lcdif_pins &lcdif_vsync_pin>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
apbx@80040000 {
|
|
saif0: saif@80042000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&saif0_pins_a>;
|
|
status = "okay";
|
|
};
|
|
|
|
power: power@80044000 {
|
|
poweroff: poweroff {
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
saif1: saif@80046000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&saif1_pins_a>;
|
|
fsl,saif-master = <&saif0>;
|
|
status = "okay";
|
|
};
|
|
|
|
lradc@80050000 {
|
|
status = "okay";
|
|
fsl,lradc-touchscreen-wires = <4>;
|
|
fsl,ave-ctrl = <4>;
|
|
fsl,ave-delay = <2>;
|
|
fsl,settling = <10>;
|
|
};
|
|
|
|
mxs_rtc: rtc@80056000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c0: i2c@80058000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c0_pins_a>;
|
|
status = "okay";
|
|
|
|
sgtl5000: codec@a {
|
|
compatible = "fsl,sgtl5000";
|
|
reg = <0x0a>;
|
|
#sound-dai-cells = <0>;
|
|
VDDA-supply = <®_3p3v>;
|
|
VDDIO-supply = <®_3p3v>;
|
|
clocks = <&saif0>;
|
|
};
|
|
|
|
keyboard_i2c_2g: keyboard_i2c_2g@28 {
|
|
status = "disabled";
|
|
compatible = "sharp,brain-kbd-i2c";
|
|
reg = <0x28>;
|
|
interrupt-parent = <&gpio4>;
|
|
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
lcd_touchscreen_i2c: sx8650@48 {
|
|
status = "disabled";
|
|
compatible = "semtech,sx8650";
|
|
reg = <0x48>;
|
|
interrupt-parent = <&gpio3>;
|
|
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
|
|
};
|
|
};
|
|
|
|
i2c1: i2c@8005a000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c1_pins_a>;
|
|
status = "okay";
|
|
|
|
keyboard_i2c: keyboard_i2c@28 {
|
|
status = "disabled";
|
|
compatible = "sharp,brain-kbd-i2c";
|
|
reg = <0x28>;
|
|
interrupt-parent = <&gpio4>;
|
|
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
};
|
|
|
|
pwm: pwm@80064000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&lcd_backlight_pins>;
|
|
status = "okay";
|
|
};
|
|
|
|
duart: serial@80074000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&duart_pins_b>;
|
|
status = "okay";
|
|
};
|
|
|
|
usbphy0: usbphy@8007c000 {
|
|
status = "okay";
|
|
};
|
|
|
|
usbphy1: usbphy@8007e000 {
|
|
status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
ahb@80080000 {
|
|
usb0: usb@80080000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&usb0_id_pins_a>;
|
|
vbus-supply = <®_usb0_vbus>;
|
|
dr_mode = "host";
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
sound {
|
|
compatible = "fsl,imx28-evk-sgtl5000",
|
|
"fsl,mxs-audio-sgtl5000";
|
|
model = "imx28-evk-sgtl5000";
|
|
saif-controllers = <&saif0 &saif1>;
|
|
audio-codec = <&sgtl5000>;
|
|
};
|
|
|
|
backlight_display: backlight@0 {
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm 0 50000>, <&pwm 1 50000>;
|
|
brightness-levels = <0 4 8 16 32 64 128 255>;
|
|
default-brightness-level = <7>;
|
|
};
|
|
|
|
slcd_backlight: backlight@1 {
|
|
status = "disabled";
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm 2 50000>;
|
|
brightness-levels = <0 63 127 255>;
|
|
default-brightness-level = <3>;
|
|
};
|
|
|
|
keyboard_gpio: keyboard_gpio {
|
|
status = "disabled";
|
|
compatible = "sharp,brain-kbd-gpio";
|
|
};
|
|
|
|
buzzer_cold: buzzer_cold {
|
|
status = "disabled";
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "fixed-supply";
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-min-microvolt = <3300000>;
|
|
gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
buzzer: buzzer {
|
|
status = "disabled";
|
|
compatible = "pwm-beeper";
|
|
pwms = <&pwm 4 50000>;
|
|
amp-supply = <&buzzer_cold>;
|
|
};
|
|
};
|