// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (C) 2013 Marek Belisko <marek@goldelico.com>
*
* Based on omap3-beagle-xm.dts
*/
/dts-v1/;
#include "omap36xx.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "OMAP3 GTA04";
compatible = "ti,omap3-gta04", "ti,omap36xx", "ti,omap3";
cpus {
cpu@0 {
cpu0-supply = <&vcc>;
};
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x20000000>; /* 512 MB */
};
chosen {
stdout-path = &uart3;
};
aliases {
display0 = &lcd;
display1 = &tv0;
};
ldo_3v3: fixedregulator {
compatible = "regulator-fixed";
regulator-name = "ldo_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
/* fixed 26MHz oscillator */
hfclk_26m: oscillator {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <26000000>;
};
gpio-keys {
compatible = "gpio-keys";
aux-button {
label = "aux";
linux,code = <KEY_PHONE>;
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
wakeup-source;
};
};
antenna-detect {
compatible = "gpio-keys";
gps_antenna_button: gps-antenna-button {
label = "GPS_EXT_ANT";
linux,input-type = <EV_SW>;
linux,code = <SW_LINEIN_INSERT>;
gpios = <&gpio5 16 GPIO_ACTIVE_HIGH>; /* GPIO144 */
interrupt-parent = <&gpio5>;
interrupts = <16 IRQ_TYPE_EDGE_BOTH>;
debounce-interval = <10>;
wakeup-source;
};
};
sound {
compatible = "ti,omap-twl4030";
ti,model = "gta04";
ti,mcbsp = <&mcbsp2>;
};
/* GSM audio */
sound_telephony {
compatible = "simple-audio-card";
simple-audio-card,name = "GTA04 voice";
simple-audio-card,bitclock-master = <&telephony_link_master>;
simple-audio-card,frame-master = <&telephony_link_master>;
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-inversion;
simple-audio-card,frame-inversion;
simple-audio-card,cpu {
sound-dai = <&mcbsp4>;
};
telephony_link_master: simple-audio-card,codec {
sound-dai = <>m601_codec>;
};
};
gtm601_codec: gsm_codec {
compatible = "option,gtm601";
#sound-dai-cells = <0>;
};
spi_lcd: spi_lcd {
compatible = "spi-gpio";
#address-cells = <0x1>;
#size-cells = <0x0>;
pinctrl-names = "default";
pinctrl-0 = <&spi_gpio_pins>;
gpio-sck = <&gpio1 12 GPIO_ACTIVE_HIGH>;
gpio-miso = <&gpio1 18 GPIO_ACTIVE_HIGH>;
gpio-mosi = <&gpio1 20 GPIO_ACTIVE_HIGH>;
cs-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
/* lcd panel */
lcd: td028ttec1@0 {
compatible = "tpo,td028ttec1";
reg = <0>;
spi-max-frequency = <100000>;
spi-cpol;
spi-cpha;
spi-cs-high;
backlight= <&backlight>;
label = "lcd";
port {
lcd_in: endpoint {
remote-endpoint = <&dpi_out>;
};
};
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm11 0 12000000 0>;
pwm-names = "backlight";
brightness-levels = <0 11 20 30 40 50 60 70 80 90 100>;
default-brightness-level = <9>; /* => 90 */
pinctrl-names = "default";
pinctrl-0 = <&backlight_pins>;
};
pwm11: dmtimer-pwm {
compatible = "ti,omap-dmtimer-pwm";
ti,timers = <&timer11>;
#pwm-cells = <3>;
};
hsusb2_phy: hsusb2_phy {
compatible = "usb-nop-xceiv";
reset-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
#phy-cells = <0>;
};
tv0: connector {
compatible = "composite-video-connector";
label = "tv";
port {
tv_connector_in: endpoint {
remote-endpoint = <&opa_out>;
};
};
};
tv_amp: opa362 {
compatible = "ti,opa362";
enable-gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; /* GPIO_23 to enable video out amplifier */
ports {
#address-cells = <1>;
#size-cells = <0>;
po