blob: 988e99632d49953d012b72e674f8fa040883a1c4 [file] [log] [blame]
Dmitry Lifshitze1fdd062015-12-01 20:03:13 +02001/*
2 * Support for CompuLab SBC-AM57x single board computer
3 *
4 * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
5 * Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License version 2 as published by
9 * the Free Software Foundation.
10 */
11
12#include "am57xx-cl-som-am57x.dts"
13#include "compulab-sb-som.dtsi"
14
15/ {
16 model = "CompuLab CL-SOM-AM57x on SB-SOM-AM57x";
17 compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
Dmitry Lifshitz85f99c72015-12-01 20:03:18 +020018
19 aliases {
20 display0 = &lcd0;
Dmitry Lifshitz2e0788d2015-12-01 20:03:20 +020021 display1 = &hdmi;
Dmitry Lifshitz85f99c72015-12-01 20:03:18 +020022 };
Dmitry Lifshitze1fdd062015-12-01 20:03:13 +020023};
24
25&dra7_pmx_core {
26 uart3_pins_default: uart3_pins_default {
27 pinctrl-single,pins = <
Dmitry Lifshitz5ddfc9f2015-12-30 15:39:03 +020028 DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
29 DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
Dmitry Lifshitze1fdd062015-12-01 20:03:13 +020030 >;
31 };
Dmitry Lifshitz00d0e462015-12-01 20:03:14 +020032
33 mmc1_pins_default: mmc1_pins_default {
34 pinctrl-single,pins = <
35 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
36 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
37 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
38 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
39 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
40 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
41 DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1_sdcd.gpio6_27 */
42 DRA7XX_CORE_IOPAD(0x377c, PIN_INPUT | MUX_MODE14) /* mmc1_sdwp.gpio6_28 */
43 >;
44 };
Dmitry Lifshitzed7ce762015-12-01 20:03:15 +020045
46 usb1_pins: pinmux_usb1_pins {
47 pinctrl-single,pins = <
48 DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
49 >;
50 };
Dmitry Lifshitz6042f622015-12-01 20:03:16 +020051
52 i2c5_pins_default: i2c5_pins_default {
53 pinctrl-single,pins = <
54 DRA7XX_CORE_IOPAD(0x36b4, PIN_INPUT| MUX_MODE10) /* mcasp1_axr0.i2c5_sda */
55 DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT| MUX_MODE10) /* mcasp1_axr1.i2c5_scl */
56 >;
57 };
Dmitry Lifshitz85f99c72015-12-01 20:03:18 +020058
59 lcd_pins_default: lcd_pins_default {
60 pinctrl-single,pins = <
61 DRA7XX_CORE_IOPAD(0x3564, PIN_OUTPUT | MUX_MODE14) /* vin2a_vsync0.gpio4_0 */
62 >;
63 };
Dmitry Lifshitz2e0788d2015-12-01 20:03:20 +020064
65 hdmi_pins: pinmux_hdmi_pins {
66 pinctrl-single,pins = <
67 DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE1) /* i2c2_sda.hdmi1_ddc_scl */
68 DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */
69 >;
70 };
71
72 hdmi_conn_pins: pinmux_hdmi_conn_pins {
73 pinctrl-single,pins = <
74 DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT | MUX_MODE14) /* spi1_cs2.gpio7_12 */
75 >;
76 };
Dmitry Lifshitze1fdd062015-12-01 20:03:13 +020077};
78
79&uart3 {
80 status = "okay";
81 interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
82 <&dra7_pmx_core 0x3f8>;
83
84 pinctrl-names = "default";
85 pinctrl-0 = <&uart3_pins_default>;
86};
Dmitry Lifshitz00d0e462015-12-01 20:03:14 +020087
88&mmc1 {
89 status = "okay";
90
91 pinctrl-names = "default";
92 pinctrl-0 = <&mmc1_pins_default>;
93
94 vmmc-supply = <&ldo1_reg>;
95 bus-width = <4>;
96 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
97 wp-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>;
98};
Dmitry Lifshitzed7ce762015-12-01 20:03:15 +020099
100&usb1 {
101 pinctrl-names = "default";
102 pinctrl-0 = <&usb1_pins>;
103};
Dmitry Lifshitz6042f622015-12-01 20:03:16 +0200104
105&i2c5 {
106 status = "okay";
107 pinctrl-names = "default";
108 pinctrl-0 = <&i2c5_pins_default>;
109 clock-frequency = <400000>;
110
Dmitry Lifshitzbd73da82015-12-30 15:39:00 +0200111 eeprom_base: atmel@54 {
Dmitry Lifshitz6042f622015-12-01 20:03:16 +0200112 compatible = "atmel,24c08";
Dmitry Lifshitzbd73da82015-12-30 15:39:00 +0200113 reg = <0x54>;
Dmitry Lifshitz6042f622015-12-01 20:03:16 +0200114 pagesize = <16>;
115 };
Dmitry Lifshitz74421732015-12-01 20:03:17 +0200116
117 pca9555: pca9555@20 {
118 compatible = "nxp,pca9555";
119 reg = <0x20>;
120 gpio-controller;
121 #gpio-cells = <2>;
122 };
Dmitry Lifshitz6042f622015-12-01 20:03:16 +0200123};
Dmitry Lifshitz85f99c72015-12-01 20:03:18 +0200124
125&dss {
126 status = "ok";
127
128 vdda_video-supply = <&ldoln_reg>;
129
130 port {
131 dpi_lcd_out: endpoint@0 {
132 remote-endpoint = <&lcd_in>;
133 data-lines = <24>;
134 };
135 };
136};
137
138&lcd0 {
139 pinctrl-names = "default";
140 pinctrl-0 = <&lcd_pins_default>;
141
142 enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH
143 &gpio4 0 GPIO_ACTIVE_HIGH>;
144
145 port {
146 lcd_in: endpoint {
147 remote-endpoint = <&dpi_lcd_out>;
148 data-lines = <24>;
149 };
150 };
151};
Dmitry Lifshitz2e0788d2015-12-01 20:03:20 +0200152
153&hdmi {
154 status = "ok";
155 vdda-supply = <&ldo4_reg>;
156
157 pinctrl-names = "default";
158 pinctrl-0 = <&hdmi_pins>;
159
160 port {
161 hdmi_out: endpoint {
162 remote-endpoint = <&hdmi_connector_in>;
163 lanes = <1 0 3 2 5 4 7 6>;
164 };
165 };
166};
167
168&hdmi_conn {
169 pinctrl-names = "default";
170 pinctrl-0 = <&hdmi_conn_pins>;
171
172 hpd-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>;
173
174 port {
175 hdmi_connector_in: endpoint {
176 remote-endpoint = <&hdmi_out>;
177 };
178 };
179};