0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Common support for CompuLab CM-T3x30 CoMs
0004 */
0005
0006 #include "omap3-cm-t3x.dtsi"
0007
0008 / {
0009 cpus {
0010 cpu@0 {
0011 cpu0-supply = <&vcc>;
0012 };
0013 };
0014
0015 sound {
0016 compatible = "ti,omap-twl4030";
0017 ti,model = "cm-t35";
0018
0019 ti,mcbsp = <&mcbsp2>;
0020 };
0021 };
0022
0023 &omap3_pmx_core {
0024
0025 smsc1_pins: pinmux_smsc1_pins {
0026 pinctrl-single,pins = <
0027 OMAP3_CORE1_IOPAD(0x20b8, PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs5.gpmc_ncs5 */
0028 OMAP3_CORE1_IOPAD(0x219a, PIN_INPUT_PULLUP | MUX_MODE4) /* uart3_cts_rctx.gpio_163 */
0029 >;
0030 };
0031
0032 hsusb0_pins: pinmux_hsusb0_pins {
0033 pinctrl-single,pins = <
0034 OMAP3_CORE1_IOPAD(0x21a2, PIN_OUTPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */
0035 OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */
0036 OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */
0037 OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */
0038 OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data0.hsusb2_data0 */
0039 OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */
0040 OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */
0041 OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data3 */
0042 OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data4 */
0043 OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data5 */
0044 OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data6 */
0045 OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */
0046 >;
0047 };
0048 };
0049
0050 #include "omap-gpmc-smsc911x.dtsi"
0051
0052 &gpmc {
0053 ranges = <5 0 0x2c000000 0x01000000>, /* CM-T3x30 SMSC9x Eth */
0054 <0 0 0x00000000 0x01000000>; /* CM-T3x NAND */
0055
0056 smsc1: ethernet@gpmc {
0057 compatible = "smsc,lan9221", "smsc,lan9115";
0058 pinctrl-names = "default";
0059 pinctrl-0 = <&smsc1_pins>;
0060 interrupt-parent = <&gpio6>;
0061 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
0062 reg = <5 0 0xff>;
0063 };
0064 };
0065
0066 &i2c1 {
0067 twl: twl@48 {
0068 reg = <0x48>;
0069 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
0070 interrupt-parent = <&intc>;
0071
0072 twl_audio: audio {
0073 compatible = "ti,twl4030-audio";
0074 codec {
0075 };
0076 };
0077 };
0078 };
0079
0080 #include "twl4030.dtsi"
0081 #include "twl4030_omap3.dtsi"
0082 #include <dt-bindings/input/input.h>
0083
0084 &venc {
0085 vdda-supply = <&vdac>;
0086 };
0087
0088 &mmc1 {
0089 vmmc-supply = <&vmmc1>;
0090 };
0091
0092 &twl_gpio {
0093 ti,use-leds;
0094 /* pullups: BIT(0) */
0095 ti,pullups = <0x000001>;
0096 };
0097
0098 &twl_keypad {
0099 linux,keymap = <
0100 MATRIX_KEY(0x00, 0x01, KEY_A)
0101 MATRIX_KEY(0x00, 0x02, KEY_B)
0102 MATRIX_KEY(0x00, 0x03, KEY_LEFT)
0103
0104 MATRIX_KEY(0x01, 0x01, KEY_UP)
0105 MATRIX_KEY(0x01, 0x02, KEY_ENTER)
0106 MATRIX_KEY(0x01, 0x03, KEY_DOWN)
0107
0108 MATRIX_KEY(0x02, 0x01, KEY_RIGHT)
0109 MATRIX_KEY(0x02, 0x02, KEY_C)
0110 MATRIX_KEY(0x02, 0x03, KEY_D)
0111 >;
0112 };
0113
0114 &hsusb1_phy {
0115 reset-gpios = <&twl_gpio 6 GPIO_ACTIVE_LOW>;
0116 };
0117
0118 &hsusb2_phy {
0119 reset-gpios = <&twl_gpio 7 GPIO_ACTIVE_LOW>;
0120 };
0121
0122 &usb_otg_hs {
0123 pinctrl-names = "default";
0124 pinctrl-0 = <&hsusb0_pins>;
0125 interface-type = <0>;
0126 usb-phy = <&usb2_phy>;
0127 phys = <&usb2_phy>;
0128 phy-names = "usb2-phy";
0129 mode = <3>;
0130 power = <50>;
0131 };