162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2014-2017 Phytec Messtechnik GmbH 462306a36Sopenharmony_ci * Author: Wadim Egorov <w.egorov@phytec.de> 562306a36Sopenharmony_ci * Teresa Remmet <t.remmet@phytec.de> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/ { 1162306a36Sopenharmony_ci model = "Phytec AM335x PCM-953"; 1262306a36Sopenharmony_ci compatible = "phytec,am335x-pcm-953", "phytec,am335x-phycore-som", "ti,am33xx"; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci /* Power */ 1562306a36Sopenharmony_ci vcc3v3: fixedregulator1 { 1662306a36Sopenharmony_ci compatible = "regulator-fixed"; 1762306a36Sopenharmony_ci regulator-name = "vcc3v3"; 1862306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 1962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 2062306a36Sopenharmony_ci regulator-boot-on; 2162306a36Sopenharmony_ci }; 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci vcc1v8: fixedregulator2 { 2462306a36Sopenharmony_ci compatible = "regulator-fixed"; 2562306a36Sopenharmony_ci regulator-name = "vcc1v8"; 2662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 2762306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 2862306a36Sopenharmony_ci regulator-boot-on; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci /* User IO */ 3262306a36Sopenharmony_ci user_leds: user-leds { 3362306a36Sopenharmony_ci compatible = "gpio-leds"; 3462306a36Sopenharmony_ci pinctrl-names = "default"; 3562306a36Sopenharmony_ci pinctrl-0 = <&user_leds_pins>; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci user-led0 { 3862306a36Sopenharmony_ci gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; 3962306a36Sopenharmony_ci default-state = "on"; 4062306a36Sopenharmony_ci }; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci user-led1 { 4362306a36Sopenharmony_ci gpios = <&gpio1 31 GPIO_ACTIVE_LOW>; 4462306a36Sopenharmony_ci default-state = "on"; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci user_buttons: user-buttons { 4962306a36Sopenharmony_ci compatible = "gpio-keys"; 5062306a36Sopenharmony_ci pinctrl-names = "default"; 5162306a36Sopenharmony_ci pinctrl-0 = <&user_buttons_pins>; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci button-0 { 5462306a36Sopenharmony_ci label = "home"; 5562306a36Sopenharmony_ci linux,code = <KEY_HOME>; 5662306a36Sopenharmony_ci gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>; 5762306a36Sopenharmony_ci wakeup-source; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci button-1 { 6162306a36Sopenharmony_ci label = "menu"; 6262306a36Sopenharmony_ci linux,code = <KEY_MENU>; 6362306a36Sopenharmony_ci gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>; 6462306a36Sopenharmony_ci wakeup-source; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci }; 6862306a36Sopenharmony_ci}; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci&am33xx_pinmux { 7162306a36Sopenharmony_ci user_buttons_pins: pinmux-user-buttons-pins { 7262306a36Sopenharmony_ci pinctrl-single,pins = < 7362306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_EMU0, PIN_INPUT_PULLDOWN, MUX_MODE7) /* emu0.gpio3_7 */ 7462306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_EMU1, PIN_INPUT_PULLDOWN, MUX_MODE7) /* emu1.gpio3_8 */ 7562306a36Sopenharmony_ci >; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci user_leds_pins: pinmux-user-leds-pins { 7962306a36Sopenharmony_ci pinctrl-single,pins = < 8062306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_CSN1, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_csn1.gpio1_30 */ 8162306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_CSN2, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpmc_csn2.gpio1_31 */ 8262306a36Sopenharmony_ci >; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci}; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci/* CAN */ 8762306a36Sopenharmony_ci&am33xx_pinmux { 8862306a36Sopenharmony_ci dcan1_pins: pinmux-dcan1-pins { 8962306a36Sopenharmony_ci pinctrl-single,pins = < 9062306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_OUTPUT_PULLUP, MUX_MODE2) /* uart1_rxd.dcan1_tx_mux2 */ 9162306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_INPUT_PULLUP, MUX_MODE2) /* uart1_txd.dcan1_rx_mux2 */ 9262306a36Sopenharmony_ci >; 9362306a36Sopenharmony_ci }; 9462306a36Sopenharmony_ci}; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci&dcan1 { 9762306a36Sopenharmony_ci pinctrl-names = "default"; 9862306a36Sopenharmony_ci pinctrl-0 = <&dcan1_pins>; 9962306a36Sopenharmony_ci status = "okay"; 10062306a36Sopenharmony_ci}; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci/* Ethernet */ 10362306a36Sopenharmony_ci&am33xx_pinmux { 10462306a36Sopenharmony_ci ethernet1_pins: ethernet1-pins { 10562306a36Sopenharmony_ci pinctrl-single,pins = < 10662306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* gpmc_a0.rgmii2_tctl */ 10762306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLDOWN, MUX_MODE2) /* gpmc_a1.rgmii2_rctl */ 10862306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A2, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* gpmc_a2.rgmii2_td3 */ 10962306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A3, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* gpmc_a3.rgmii2_td2 */ 11062306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A4, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* gpmc_a4.rgmii2_td1 */ 11162306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A5, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* gpmc_a5.rgmii2_td0 */ 11262306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A6, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* gpmc_a6.rgmii2_tclk */ 11362306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A7, PIN_INPUT_PULLDOWN, MUX_MODE2) /* gpmc_a7.rgmii2_rclk */ 11462306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A8, PIN_INPUT_PULLDOWN, MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */ 11562306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A9, PIN_INPUT_PULLDOWN, MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */ 11662306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A10, PIN_INPUT_PULLDOWN, MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */ 11762306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_GPMC_A11, PIN_INPUT_PULLDOWN, MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */ 11862306a36Sopenharmony_ci >; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci}; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci&cpsw_port2 { 12362306a36Sopenharmony_ci phy-handle = <&phy1>; 12462306a36Sopenharmony_ci phy-mode = "rgmii-id"; 12562306a36Sopenharmony_ci ti,dual-emac-pvid = <2>; 12662306a36Sopenharmony_ci status = "okay"; 12762306a36Sopenharmony_ci}; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci&davinci_mdio_sw { 13062306a36Sopenharmony_ci phy1: ethernet-phy@2 { 13162306a36Sopenharmony_ci reg = <2>; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci}; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci&mac_sw { 13662306a36Sopenharmony_ci pinctrl-names = "default"; 13762306a36Sopenharmony_ci pinctrl-0 = <ðernet0_pins ðernet1_pins>; 13862306a36Sopenharmony_ci}; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci/* Misc */ 14162306a36Sopenharmony_ci&am33xx_pinmux { 14262306a36Sopenharmony_ci pinctrl-names = "default"; 14362306a36Sopenharmony_ci pinctrl-0 = <&cb_gpio_pins>; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci cb_gpio_pins: pinmux-cb-gpio-pins { 14662306a36Sopenharmony_ci pinctrl-single,pins = < 14762306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART0_CTSN, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* uart0_ctsn.gpio1_8 */ 14862306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART0_RTSN, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* uart0_rtsn.gpio1_9 */ 14962306a36Sopenharmony_ci >; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci}; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci/* MMC */ 15462306a36Sopenharmony_ci&am33xx_pinmux { 15562306a36Sopenharmony_ci mmc1_pins: pinmux-mmc1-pins { 15662306a36Sopenharmony_ci pinctrl-single,pins = < 15762306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT_PULLUP, MUX_MODE0) 15862306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT_PULLUP, MUX_MODE0) 15962306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT_PULLUP, MUX_MODE0) 16062306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT_PULLUP, MUX_MODE0) 16162306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT_PULLUP, MUX_MODE0) 16262306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT_PULLUP, MUX_MODE0) 16362306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT_PULLUP, MUX_MODE7) /* spi0_cs1.mmc0_sdcd */ 16462306a36Sopenharmony_ci >; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci}; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci&mmc1 { 16962306a36Sopenharmony_ci vmmc-supply = <&vcc3v3>; 17062306a36Sopenharmony_ci bus-width = <4>; 17162306a36Sopenharmony_ci pinctrl-names = "default"; 17262306a36Sopenharmony_ci pinctrl-0 = <&mmc1_pins>; 17362306a36Sopenharmony_ci cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; 17462306a36Sopenharmony_ci status = "okay"; 17562306a36Sopenharmony_ci}; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci/* UARTs */ 17862306a36Sopenharmony_ci&am33xx_pinmux { 17962306a36Sopenharmony_ci uart0_pins: pinmux-uart0-pins { 18062306a36Sopenharmony_ci pinctrl-single,pins = < 18162306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0) 18262306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0) 18362306a36Sopenharmony_ci >; 18462306a36Sopenharmony_ci }; 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci uart1_pins: pinmux-uart1-pins { 18762306a36Sopenharmony_ci pinctrl-single,pins = < 18862306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART1_RXD, PIN_INPUT_PULLUP, MUX_MODE0) 18962306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART1_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0) 19062306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART1_CTSN, PIN_INPUT, MUX_MODE0) 19162306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_UART1_RTSN, PIN_OUTPUT_PULLDOWN, MUX_MODE0) 19262306a36Sopenharmony_ci >; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci uart2_pins: pinmux-uart2-pins { 19662306a36Sopenharmony_ci pinctrl-single,pins = < 19762306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLUP, MUX_MODE1) /* mii1_tx_clk.uart2_rxd */ 19862306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE1) /* mii1_rx_clk.uart2_txd */ 19962306a36Sopenharmony_ci >; 20062306a36Sopenharmony_ci }; 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci uart3_pins: pinmux-uart3-pins { 20362306a36Sopenharmony_ci pinctrl-single,pins = < 20462306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLUP, MUX_MODE1) /* mii1_rxd3.uart3_rxd */ 20562306a36Sopenharmony_ci AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE1) /* mii1_rxd2.uart3_txd */ 20662306a36Sopenharmony_ci >; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci}; 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ci&uart0 { 21162306a36Sopenharmony_ci pinctrl-names = "default"; 21262306a36Sopenharmony_ci pinctrl-0 = <&uart0_pins>; 21362306a36Sopenharmony_ci status = "okay"; 21462306a36Sopenharmony_ci}; 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci&uart1 { 21762306a36Sopenharmony_ci pinctrl-names = "default"; 21862306a36Sopenharmony_ci pinctrl-0 = <&uart1_pins>; 21962306a36Sopenharmony_ci}; 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci&uart2 { 22262306a36Sopenharmony_ci pinctrl-names = "default"; 22362306a36Sopenharmony_ci pinctrl-0 = <&uart2_pins>; 22462306a36Sopenharmony_ci status = "okay"; 22562306a36Sopenharmony_ci}; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci&uart3 { 22862306a36Sopenharmony_ci pinctrl-names = "default"; 22962306a36Sopenharmony_ci pinctrl-0 = <&uart3_pins>; 23062306a36Sopenharmony_ci status = "okay"; 23162306a36Sopenharmony_ci}; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci/* USB */ 23462306a36Sopenharmony_ci&usb1 { 23562306a36Sopenharmony_ci dr_mode = "host"; 23662306a36Sopenharmony_ci}; 237