1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Common support for CompuLab CM-T3x30 CoMs 4 */ 5 6#include "omap3-cm-t3x.dtsi" 7 8/ { 9 cpus { 10 cpu@0 { 11 cpu0-supply = <&vcc>; 12 }; 13 }; 14 15 sound { 16 compatible = "ti,omap-twl4030"; 17 ti,model = "cm-t35"; 18 19 ti,mcbsp = <&mcbsp2>; 20 }; 21}; 22 23&omap3_pmx_core { 24 25 smsc1_pins: smsc1-pins { 26 pinctrl-single,pins = < 27 OMAP3_CORE1_IOPAD(0x20b8, PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs5.gpmc_ncs5 */ 28 OMAP3_CORE1_IOPAD(0x219a, PIN_INPUT_PULLUP | MUX_MODE4) /* uart3_cts_rctx.gpio_163 */ 29 >; 30 }; 31 32 hsusb0_pins: hsusb0-pins { 33 pinctrl-single,pins = < 34 OMAP3_CORE1_IOPAD(0x21a2, PIN_OUTPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */ 35 OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */ 36 OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */ 37 OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */ 38 OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data0.hsusb2_data0 */ 39 OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */ 40 OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */ 41 OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data3 */ 42 OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data4 */ 43 OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data5 */ 44 OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data6 */ 45 OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */ 46 >; 47 }; 48}; 49 50#include "omap-gpmc-smsc911x.dtsi" 51 52&gpmc { 53 ranges = <5 0 0x2c000000 0x01000000>, /* CM-T3x30 SMSC9x Eth */ 54 <0 0 0x00000000 0x01000000>; /* CM-T3x NAND */ 55 56 smsc1: ethernet@gpmc { 57 compatible = "smsc,lan9221", "smsc,lan9115"; 58 pinctrl-names = "default"; 59 pinctrl-0 = <&smsc1_pins>; 60 interrupt-parent = <&gpio6>; 61 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 62 reg = <5 0 0xff>; 63 }; 64}; 65 66&i2c1 { 67 twl: twl@48 { 68 reg = <0x48>; 69 interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 70 interrupt-parent = <&intc>; 71 72 twl_audio: audio { 73 compatible = "ti,twl4030-audio"; 74 codec { 75 }; 76 }; 77 }; 78}; 79 80#include "twl4030.dtsi" 81#include "twl4030_omap3.dtsi" 82#include <dt-bindings/input/input.h> 83 84&venc { 85 vdda-supply = <&vdac>; 86}; 87 88&mmc1 { 89 vmmc-supply = <&vmmc1>; 90}; 91 92&twl_gpio { 93 ti,use-leds; 94 /* pullups: BIT(0) */ 95 ti,pullups = <0x000001>; 96}; 97 98&twl_keypad { 99 linux,keymap = < 100 MATRIX_KEY(0x00, 0x01, KEY_A) 101 MATRIX_KEY(0x00, 0x02, KEY_B) 102 MATRIX_KEY(0x00, 0x03, KEY_LEFT) 103 104 MATRIX_KEY(0x01, 0x01, KEY_UP) 105 MATRIX_KEY(0x01, 0x02, KEY_ENTER) 106 MATRIX_KEY(0x01, 0x03, KEY_DOWN) 107 108 MATRIX_KEY(0x02, 0x01, KEY_RIGHT) 109 MATRIX_KEY(0x02, 0x02, KEY_C) 110 MATRIX_KEY(0x02, 0x03, KEY_D) 111 >; 112}; 113 114&hsusb1_phy { 115 reset-gpios = <&twl_gpio 6 GPIO_ACTIVE_LOW>; 116}; 117 118&hsusb2_phy { 119 reset-gpios = <&twl_gpio 7 GPIO_ACTIVE_LOW>; 120}; 121 122&usb_otg_hs { 123 pinctrl-names = "default"; 124 pinctrl-0 = <&hsusb0_pins>; 125 interface-type = <0>; 126 usb-phy = <&usb2_phy>; 127 phys = <&usb2_phy>; 128 phy-names = "usb2-phy"; 129 mode = <3>; 130 power = <50>; 131}; 132