1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (C) 2019 Phytec Messtechnik GmbH 4*4882a593Smuzhiyun * Author: Teresa Remmet <t.remmet@phytec.de> 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/ { 9*4882a593Smuzhiyun model = "Phytec AM335x phyBOARD-REGOR"; 10*4882a593Smuzhiyun compatible = "phytec,am335x-regor", "phytec,am335x-phycore-som", "ti,am33xx"; 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun vcc3v3: fixedregulator@1 { 13*4882a593Smuzhiyun compatible = "regulator-fixed"; 14*4882a593Smuzhiyun regulator-name = "vcc3v3"; 15*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 16*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 17*4882a593Smuzhiyun regulator-boot-on; 18*4882a593Smuzhiyun }; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun /* User IO */ 21*4882a593Smuzhiyun user_leds: user_leds { 22*4882a593Smuzhiyun compatible = "gpio-leds"; 23*4882a593Smuzhiyun pinctrl-names = "default"; 24*4882a593Smuzhiyun pinctrl-0 = <&user_leds_pins>; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun run_stop-led { 27*4882a593Smuzhiyun gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; 28*4882a593Smuzhiyun linux,default-trigger = "gpio"; 29*4882a593Smuzhiyun default-state = "off"; 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun error-led { 33*4882a593Smuzhiyun gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; 34*4882a593Smuzhiyun linux,default-trigger = "gpio"; 35*4882a593Smuzhiyun default-state = "off"; 36*4882a593Smuzhiyun }; 37*4882a593Smuzhiyun }; 38*4882a593Smuzhiyun}; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun/* User Leds */ 41*4882a593Smuzhiyun&am33xx_pinmux { 42*4882a593Smuzhiyun user_leds_pins: pinmux_user_leds { 43*4882a593Smuzhiyun pinctrl-single,pins = < 44*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* lcd_hsync.gpio2_22 */ 45*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_MCASP0_FSX, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* mcasp0_fsx.gpio3_15 */ 46*4882a593Smuzhiyun >; 47*4882a593Smuzhiyun }; 48*4882a593Smuzhiyun}; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun/* CAN Busses */ 51*4882a593Smuzhiyun&am33xx_pinmux { 52*4882a593Smuzhiyun dcan1_pins: pinmux_dcan1 { 53*4882a593Smuzhiyun pinctrl-single,pins = < 54*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_UART0_CTSN, PIN_OUTPUT_PULLUP, MUX_MODE2) /* uart0_ctsn.d_can1_tx */ 55*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_UART0_RTSN, PIN_INPUT_PULLUP, MUX_MODE2) /* uart0_rtsn.d_can1_rx */ 56*4882a593Smuzhiyun >; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun}; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun&dcan1 { 61*4882a593Smuzhiyun pinctrl-names = "default"; 62*4882a593Smuzhiyun pinctrl-0 = <&dcan1_pins>; 63*4882a593Smuzhiyun status = "okay"; 64*4882a593Smuzhiyun}; 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun/* Ethernet */ 67*4882a593Smuzhiyun&am33xx_pinmux { 68*4882a593Smuzhiyun ethernet1_pins: pinmux_ethernet1 { 69*4882a593Smuzhiyun pinctrl-single,pins = < 70*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_OUTPUT, MUX_MODE1) /* gpmc_a0.mii2_txen */ 71*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a1.mii2_rxdv */ 72*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_OUTPUT, MUX_MODE1) /* gpmc_a2.mii2_txd3 */ 73*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A3, PIN_OUTPUT, MUX_MODE1) /* gpmc_a3.mii2_txd2 */ 74*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A4, PIN_OUTPUT, MUX_MODE1) /* gpmc_a4.mii2_txd1 */ 75*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT, MUX_MODE1) /* gpmc_a5.mii2_txd0 */ 76*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a6.mii2_txclk */ 77*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a7.mii2_rxclk */ 78*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a8.mii2_rxd3 */ 79*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A9, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a9.mii2_rxd2 */ 80*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A10, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a10.mii2_rxd1 */ 81*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_a11.mii2_rxd0 */ 82*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_wpn.mii2_rxerr */ 83*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_BEN1, PIN_INPUT_PULLDOWN, MUX_MODE1) /* gpmc_ben1.mii2_col */ 84*4882a593Smuzhiyun >; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun}; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun&cpsw_emac1 { 89*4882a593Smuzhiyun phy-handle = <&phy1>; 90*4882a593Smuzhiyun phy-mode = "mii"; 91*4882a593Smuzhiyun dual_emac_res_vlan = <2>; 92*4882a593Smuzhiyun}; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun&davinci_mdio { 95*4882a593Smuzhiyun phy1: ethernet-phy@1 { 96*4882a593Smuzhiyun reg = <1>; 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun}; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun&mac { 101*4882a593Smuzhiyun slaves = <2>; 102*4882a593Smuzhiyun pinctrl-names = "default"; 103*4882a593Smuzhiyun pinctrl-0 = <ðernet0_pins ðernet1_pins>; 104*4882a593Smuzhiyun dual_emac = <1>; 105*4882a593Smuzhiyun}; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun/* GPIOs */ 108*4882a593Smuzhiyun&am33xx_pinmux { 109*4882a593Smuzhiyun pinctrl-names = "default"; 110*4882a593Smuzhiyun pinctrl-0 = <&user_gpios_pins>; 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun user_gpios_pins: pinmux_user_gpios { 113*4882a593Smuzhiyun pinctrl-single,pins = < 114*4882a593Smuzhiyun /* DIGIN 1-4 */ 115*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_AD11, PIN_INPUT, MUX_MODE7) /* gpmc_ad11.gpio0_27 */ 116*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_AD10, PIN_INPUT, MUX_MODE7) /* gpmc_ad10.gpio0_26 */ 117*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_AD9, PIN_INPUT, MUX_MODE7) /* gpmc_ad9.gpio0_23 */ 118*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_AD8, PIN_INPUT, MUX_MODE7) /* gpmc_ad8.gpio0_22 */ 119*4882a593Smuzhiyun /* DIGOUT 1-4 */ 120*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_OUTPUT, MUX_MODE7) /* gpmc_ad15.gpio1_15 */ 121*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_OUTPUT, MUX_MODE7) /* gpmc_ad14.gpio1_14 */ 122*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_AD13, PIN_OUTPUT, MUX_MODE7) /* gpmc_ad13.gpio1_13 */ 123*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_GPMC_AD12, PIN_OUTPUT, MUX_MODE7) /* gpmc_ad12.gpio1_12 */ 124*4882a593Smuzhiyun >; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun}; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun/* MMC */ 129*4882a593Smuzhiyun&am33xx_pinmux { 130*4882a593Smuzhiyun mmc1_pins: pinmux_mmc1 { 131*4882a593Smuzhiyun pinctrl-single,pins = < 132*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0) 133*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0) 134*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0) 135*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0) 136*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0) 137*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0) 138*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT_PULLUP, MUX_MODE7) /* spi0_cs1.mmc0_sdcd */ 139*4882a593Smuzhiyun >; 140*4882a593Smuzhiyun }; 141*4882a593Smuzhiyun}; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun&mmc1 { 144*4882a593Smuzhiyun vmmc-supply = <&vcc3v3>; 145*4882a593Smuzhiyun bus-width = <4>; 146*4882a593Smuzhiyun pinctrl-names = "default"; 147*4882a593Smuzhiyun pinctrl-0 = <&mmc1_pins>; 148*4882a593Smuzhiyun cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; 149*4882a593Smuzhiyun status = "okay"; 150*4882a593Smuzhiyun}; 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun/* RTC */ 153*4882a593Smuzhiyun&i2c_rtc { 154*4882a593Smuzhiyun status = "okay"; 155*4882a593Smuzhiyun}; 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun/* UARTs */ 158*4882a593Smuzhiyun&am33xx_pinmux { 159*4882a593Smuzhiyun uart0_pins: pinmux_uart0 { 160*4882a593Smuzhiyun pinctrl-single,pins = < 161*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0) 162*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0) 163*4882a593Smuzhiyun >; 164*4882a593Smuzhiyun }; 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun uart2_pins: pinmux_uart2 { 167*4882a593Smuzhiyun pinctrl-single,pins = < 168*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLUP, MUX_MODE1) /* mii1_tx_clk.uart2_rxd */ 169*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE1) /* mii1_rx_clk.uart2_txd */ 170*4882a593Smuzhiyun >; 171*4882a593Smuzhiyun }; 172*4882a593Smuzhiyun}; 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun&uart0 { 175*4882a593Smuzhiyun pinctrl-names = "default"; 176*4882a593Smuzhiyun pinctrl-0 = <&uart0_pins>; 177*4882a593Smuzhiyun status = "okay"; 178*4882a593Smuzhiyun}; 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun&uart2 { 181*4882a593Smuzhiyun pinctrl-names = "default"; 182*4882a593Smuzhiyun pinctrl-0 = <&uart2_pins>; 183*4882a593Smuzhiyun status = "okay"; 184*4882a593Smuzhiyun}; 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun/* RS485 - UART1 */ 187*4882a593Smuzhiyun&am33xx_pinmux { 188*4882a593Smuzhiyun uart1_rs485_pins: pinmux_uart1_rs485_pins { 189*4882a593Smuzhiyun pinctrl-single,pins = < 190*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_INPUT_PULLUP, MUX_MODE0) 191*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0) 192*4882a593Smuzhiyun AM33XX_PADCONF(AM335X_PIN_UART1_RTSN, PIN_OUTPUT_PULLUP, MUX_MODE0) 193*4882a593Smuzhiyun >; 194*4882a593Smuzhiyun }; 195*4882a593Smuzhiyun}; 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun&uart1 { 198*4882a593Smuzhiyun pinctrl-names = "default"; 199*4882a593Smuzhiyun pinctrl-0 = <&uart1_rs485_pins>; 200*4882a593Smuzhiyun status = "okay"; 201*4882a593Smuzhiyun linux,rs485-enabled-at-boot-time; 202*4882a593Smuzhiyun}; 203