0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * Support for CompuLab SBC-AM57x single board computer
0004 *
0005 * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
0006 * Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
0007 */
0008
0009 #include "am57xx-cl-som-am57x.dts"
0010 #include "compulab-sb-som.dtsi"
0011
0012 / {
0013 model = "CompuLab CL-SOM-AM57x on SB-SOM-AM57x";
0014 compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
0015
0016 aliases {
0017 display0 = &lcd0;
0018 display1 = &hdmi;
0019 };
0020 };
0021
0022 &dra7_pmx_core {
0023 uart3_pins_default: uart3_pins_default {
0024 pinctrl-single,pins = <
0025 DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
0026 DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
0027 >;
0028 };
0029
0030 mmc1_pins_default: mmc1_pins_default {
0031 pinctrl-single,pins = <
0032 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
0033 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
0034 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
0035 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
0036 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
0037 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
0038 DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1_sdcd.gpio6_27 */
0039 DRA7XX_CORE_IOPAD(0x377c, PIN_INPUT | MUX_MODE14) /* mmc1_sdwp.gpio6_28 */
0040 >;
0041 };
0042
0043 usb1_pins: pinmux_usb1_pins {
0044 pinctrl-single,pins = <
0045 DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
0046 >;
0047 };
0048
0049 i2c5_pins_default: i2c5_pins_default {
0050 pinctrl-single,pins = <
0051 DRA7XX_CORE_IOPAD(0x36b4, PIN_INPUT| MUX_MODE10) /* mcasp1_axr0.i2c5_sda */
0052 DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT| MUX_MODE10) /* mcasp1_axr1.i2c5_scl */
0053 >;
0054 };
0055
0056 lcd_pins_default: lcd_pins_default {
0057 pinctrl-single,pins = <
0058 DRA7XX_CORE_IOPAD(0x3564, PIN_OUTPUT | MUX_MODE14) /* vin2a_vsync0.gpio4_0 */
0059 >;
0060 };
0061
0062 hdmi_pins: pinmux_hdmi_pins {
0063 pinctrl-single,pins = <
0064 DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE1) /* i2c2_sda.hdmi1_ddc_scl */
0065 DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */
0066 >;
0067 };
0068
0069 hdmi_conn_pins: pinmux_hdmi_conn_pins {
0070 pinctrl-single,pins = <
0071 DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT | MUX_MODE14) /* spi1_cs2.gpio7_12 */
0072 >;
0073 };
0074 };
0075
0076 &uart3 {
0077 status = "okay";
0078 interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
0079 <&dra7_pmx_core 0x3f8>;
0080
0081 pinctrl-names = "default";
0082 pinctrl-0 = <&uart3_pins_default>;
0083 };
0084
0085 &mmc1 {
0086 status = "okay";
0087
0088 pinctrl-names = "default";
0089 pinctrl-0 = <&mmc1_pins_default>;
0090
0091 vmmc-supply = <&ldo1_reg>;
0092 bus-width = <4>;
0093 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
0094 wp-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>;
0095 };
0096
0097 &usb1 {
0098 pinctrl-names = "default";
0099 pinctrl-0 = <&usb1_pins>;
0100 };
0101
0102 &i2c5 {
0103 status = "okay";
0104 pinctrl-names = "default";
0105 pinctrl-0 = <&i2c5_pins_default>;
0106 clock-frequency = <400000>;
0107
0108 eeprom_base: atmel@54 {
0109 compatible = "atmel,24c08";
0110 reg = <0x54>;
0111 pagesize = <16>;
0112 };
0113
0114 pca9555: pca9555@20 {
0115 compatible = "nxp,pca9555";
0116 reg = <0x20>;
0117 gpio-controller;
0118 #gpio-cells = <2>;
0119 };
0120 };
0121
0122 &dss {
0123 status = "okay";
0124
0125 vdda_video-supply = <&ldoln_reg>;
0126
0127 port {
0128 dpi_lcd_out: endpoint {
0129 remote-endpoint = <&lcd_in>;
0130 data-lines = <24>;
0131 };
0132 };
0133 };
0134
0135 &lcd0 {
0136 pinctrl-names = "default";
0137 pinctrl-0 = <&lcd_pins_default>;
0138
0139 enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH
0140 &gpio4 0 GPIO_ACTIVE_HIGH>;
0141
0142 port {
0143 lcd_in: endpoint {
0144 remote-endpoint = <&dpi_lcd_out>;
0145 data-lines = <24>;
0146 };
0147 };
0148 };
0149
0150 &hdmi {
0151 status = "okay";
0152 vdda-supply = <&ldo4_reg>;
0153
0154 pinctrl-names = "default";
0155 pinctrl-0 = <&hdmi_pins>;
0156
0157 port {
0158 hdmi_out: endpoint {
0159 remote-endpoint = <&hdmi_connector_in>;
0160 lanes = <1 0 3 2 5 4 7 6>;
0161 };
0162 };
0163 };
0164
0165 &hdmi_conn {
0166 pinctrl-names = "default";
0167 pinctrl-0 = <&hdmi_conn_pins>;
0168
0169 hpd-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>;
0170
0171 port {
0172 hdmi_connector_in: endpoint {
0173 remote-endpoint = <&hdmi_out>;
0174 };
0175 };
0176 };