1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later 2*724ba675SRob Herring/* SPDX-FileCopyrightText: Alexander Shiyan, <shc_work@mail.ru> */ 3*724ba675SRob Herring 4*724ba675SRob Herring/* Based on code by myc_c335x.dts, MYiRtech.com */ 5*724ba675SRob Herring/* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ */ 6*724ba675SRob Herring 7*724ba675SRob Herring/dts-v1/; 8*724ba675SRob Herring 9*724ba675SRob Herring#include "am33xx.dtsi" 10*724ba675SRob Herring 11*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 12*724ba675SRob Herring#include <dt-bindings/leds/common.h> 13*724ba675SRob Herring 14*724ba675SRob Herring/ { 15*724ba675SRob Herring model = "MYIR MYC-AM335X"; 16*724ba675SRob Herring compatible = "myir,myc-am335x", "ti,am33xx"; 17*724ba675SRob Herring 18*724ba675SRob Herring cpus { 19*724ba675SRob Herring cpu@0 { 20*724ba675SRob Herring cpu0-supply = <&vdd_core>; 21*724ba675SRob Herring voltage-tolerance = <2>; 22*724ba675SRob Herring }; 23*724ba675SRob Herring }; 24*724ba675SRob Herring 25*724ba675SRob Herring memory@80000000 { 26*724ba675SRob Herring device_type = "memory"; 27*724ba675SRob Herring reg = <0x80000000 0x10000000>; 28*724ba675SRob Herring }; 29*724ba675SRob Herring 30*724ba675SRob Herring clk32k: clk32k { 31*724ba675SRob Herring compatible = "fixed-clock"; 32*724ba675SRob Herring clock-frequency = <32768>; 33*724ba675SRob Herring 34*724ba675SRob Herring #clock-cells = <0>; 35*724ba675SRob Herring }; 36*724ba675SRob Herring 37*724ba675SRob Herring vdd_mod: vdd_mod_reg { 38*724ba675SRob Herring compatible = "regulator-fixed"; 39*724ba675SRob Herring regulator-name = "vdd-mod"; 40*724ba675SRob Herring regulator-always-on; 41*724ba675SRob Herring regulator-boot-on; 42*724ba675SRob Herring }; 43*724ba675SRob Herring 44*724ba675SRob Herring vdd_core: vdd_core_reg { 45*724ba675SRob Herring compatible = "regulator-fixed"; 46*724ba675SRob Herring regulator-name = "vdd-core"; 47*724ba675SRob Herring regulator-always-on; 48*724ba675SRob Herring regulator-boot-on; 49*724ba675SRob Herring vin-supply = <&vdd_mod>; 50*724ba675SRob Herring }; 51*724ba675SRob Herring 52*724ba675SRob Herring leds: leds { 53*724ba675SRob Herring compatible = "gpio-leds"; 54*724ba675SRob Herring pinctrl-names = "default"; 55*724ba675SRob Herring pinctrl-0 = <&led_mod_pins>; 56*724ba675SRob Herring 57*724ba675SRob Herring led_mod: led_mod { 58*724ba675SRob Herring label = "module:user"; 59*724ba675SRob Herring gpios = <&gpio3 18 GPIO_ACTIVE_LOW>; 60*724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 61*724ba675SRob Herring default-state = "off"; 62*724ba675SRob Herring panic-indicator; 63*724ba675SRob Herring }; 64*724ba675SRob Herring }; 65*724ba675SRob Herring}; 66*724ba675SRob Herring 67*724ba675SRob Herring&mac_sw { 68*724ba675SRob Herring pinctrl-names = "default", "sleep"; 69*724ba675SRob Herring pinctrl-0 = <ð_slave1_pins_default>; 70*724ba675SRob Herring pinctrl-1 = <ð_slave1_pins_sleep>; 71*724ba675SRob Herring status = "okay"; 72*724ba675SRob Herring}; 73*724ba675SRob Herring 74*724ba675SRob Herring&cpsw_port1 { 75*724ba675SRob Herring phy-handle = <&phy0>; 76*724ba675SRob Herring phy-mode = "rgmii-id"; 77*724ba675SRob Herring ti,dual-emac-pvid = <1>; 78*724ba675SRob Herring}; 79*724ba675SRob Herring 80*724ba675SRob Herring&cpsw_port2 { 81*724ba675SRob Herring status = "disabled"; 82*724ba675SRob Herring}; 83*724ba675SRob Herring 84*724ba675SRob Herring&davinci_mdio_sw { 85*724ba675SRob Herring pinctrl-names = "default", "sleep"; 86*724ba675SRob Herring pinctrl-0 = <&mdio_pins_default>; 87*724ba675SRob Herring pinctrl-1 = <&mdio_pins_sleep>; 88*724ba675SRob Herring 89*724ba675SRob Herring phy0: ethernet-phy@4 { 90*724ba675SRob Herring reg = <4>; 91*724ba675SRob Herring }; 92*724ba675SRob Herring}; 93*724ba675SRob Herring 94*724ba675SRob Herring&elm { 95*724ba675SRob Herring status = "okay"; 96*724ba675SRob Herring}; 97*724ba675SRob Herring 98*724ba675SRob Herring&gpmc { 99*724ba675SRob Herring pinctrl-names = "default", "sleep"; 100*724ba675SRob Herring pinctrl-0 = <&nand_pins_default>; 101*724ba675SRob Herring pinctrl-1 = <&nand_pins_sleep>; 102*724ba675SRob Herring ranges = <0 0 0x8000000 0x1000000>; 103*724ba675SRob Herring status = "okay"; 104*724ba675SRob Herring 105*724ba675SRob Herring nand0: nand@0,0 { 106*724ba675SRob Herring compatible = "ti,omap2-nand"; 107*724ba675SRob Herring reg = <0 0 4>; 108*724ba675SRob Herring interrupt-parent = <&gpmc>; 109*724ba675SRob Herring interrupts = <0 IRQ_TYPE_NONE>, <1 IRQ_TYPE_NONE>; 110*724ba675SRob Herring nand-bus-width = <8>; 111*724ba675SRob Herring rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; 112*724ba675SRob Herring gpmc,device-width = <1>; 113*724ba675SRob Herring gpmc,sync-clk-ps = <0>; 114*724ba675SRob Herring gpmc,cs-on-ns = <0>; 115*724ba675SRob Herring gpmc,cs-rd-off-ns = <44>; 116*724ba675SRob Herring gpmc,cs-wr-off-ns = <44>; 117*724ba675SRob Herring gpmc,adv-on-ns = <6>; 118*724ba675SRob Herring gpmc,adv-rd-off-ns = <34>; 119*724ba675SRob Herring gpmc,adv-wr-off-ns = <44>; 120*724ba675SRob Herring gpmc,we-on-ns = <0>; 121*724ba675SRob Herring gpmc,we-off-ns = <40>; 122*724ba675SRob Herring gpmc,oe-on-ns = <0>; 123*724ba675SRob Herring gpmc,oe-off-ns = <54>; 124*724ba675SRob Herring gpmc,access-ns = <64>; 125*724ba675SRob Herring gpmc,rd-cycle-ns = <82>; 126*724ba675SRob Herring gpmc,wr-cycle-ns = <82>; 127*724ba675SRob Herring gpmc,bus-turnaround-ns = <0>; 128*724ba675SRob Herring gpmc,cycle2cycle-delay-ns = <0>; 129*724ba675SRob Herring gpmc,clk-activation-ns = <0>; 130*724ba675SRob Herring gpmc,wait-pin = <0>; 131*724ba675SRob Herring gpmc,wr-access-ns = <40>; 132*724ba675SRob Herring gpmc,wr-data-mux-bus-ns = <0>; 133*724ba675SRob Herring ti,elm-id = <&elm>; 134*724ba675SRob Herring ti,nand-ecc-opt = "bch8"; 135*724ba675SRob Herring }; 136*724ba675SRob Herring}; 137*724ba675SRob Herring 138*724ba675SRob Herring&i2c0 { 139*724ba675SRob Herring pinctrl-names = "default", "gpio", "sleep"; 140*724ba675SRob Herring pinctrl-0 = <&i2c0_pins_default>; 141*724ba675SRob Herring pinctrl-1 = <&i2c0_pins_gpio>; 142*724ba675SRob Herring pinctrl-2 = <&i2c0_pins_sleep>; 143*724ba675SRob Herring clock-frequency = <400000>; 144*724ba675SRob Herring scl-gpios = <&gpio3 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 145*724ba675SRob Herring sda-gpios = <&gpio3 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 146*724ba675SRob Herring status = "okay"; 147*724ba675SRob Herring 148*724ba675SRob Herring eeprom: eeprom@50 { 149*724ba675SRob Herring compatible = "atmel,24c32"; 150*724ba675SRob Herring reg = <0x50>; 151*724ba675SRob Herring pagesize = <32>; 152*724ba675SRob Herring vcc-supply = <&vdd_mod>; 153*724ba675SRob Herring }; 154*724ba675SRob Herring}; 155*724ba675SRob Herring 156*724ba675SRob Herring&rtc { 157*724ba675SRob Herring clocks = <&clk32k>; 158*724ba675SRob Herring clock-names = "ext-clk"; 159*724ba675SRob Herring system-power-controller; 160*724ba675SRob Herring}; 161*724ba675SRob Herring 162*724ba675SRob Herring&am33xx_pinmux { 163*724ba675SRob Herring mdio_pins_default: mdio-default-pins { 164*724ba675SRob Herring pinctrl-single,pins = < 165*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0) /* mdio_data */ 166*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0) /* mdio_clk */ 167*724ba675SRob Herring >; 168*724ba675SRob Herring }; 169*724ba675SRob Herring 170*724ba675SRob Herring mdio_pins_sleep: mdio-sleep-pins { 171*724ba675SRob Herring pinctrl-single,pins = < 172*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLDOWN, MUX_MODE7) 173*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MDC, PIN_INPUT_PULLDOWN, MUX_MODE7) 174*724ba675SRob Herring >; 175*724ba675SRob Herring }; 176*724ba675SRob Herring 177*724ba675SRob Herring eth_slave1_pins_default: eth-slave1-default-pins { 178*724ba675SRob Herring pinctrl-single,pins = < 179*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_tctl */ 180*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rctl */ 181*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_td3 */ 182*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_td2 */ 183*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_td1 */ 184*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_td0 */ 185*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* rgmii1_tclk */ 186*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rclk */ 187*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rd3 */ 188*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rd2 */ 189*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rd1 */ 190*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE2) /* rgmii1_rd0 */ 191*724ba675SRob Herring >; 192*724ba675SRob Herring }; 193*724ba675SRob Herring 194*724ba675SRob Herring eth_slave1_pins_sleep: eth-slave1-sleep-pins { 195*724ba675SRob Herring pinctrl-single,pins = < 196*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLDOWN, MUX_MODE7) 197*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE7) 198*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_INPUT_PULLDOWN, MUX_MODE7) 199*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_INPUT_PULLDOWN, MUX_MODE7) 200*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_INPUT_PULLDOWN, MUX_MODE7) 201*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_INPUT_PULLDOWN, MUX_MODE7) 202*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7) 203*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7) 204*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE7) 205*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE7) 206*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE7) 207*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE7) 208*724ba675SRob Herring >; 209*724ba675SRob Herring }; 210*724ba675SRob Herring 211*724ba675SRob Herring i2c0_pins_default: i2c0-default-pins { 212*724ba675SRob Herring pinctrl-single,pins = < 213*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT | SLEWCTRL_FAST, MUX_MODE0) /* I2C0_SDA */ 214*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT | SLEWCTRL_FAST, MUX_MODE0) /* I2C0_SCL */ 215*724ba675SRob Herring >; 216*724ba675SRob Herring }; 217*724ba675SRob Herring 218*724ba675SRob Herring i2c0_pins_gpio: i2c0-gpio-pins { 219*724ba675SRob Herring pinctrl-single,pins = < 220*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT, MUX_MODE7) /* gpio3[5] */ 221*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT, MUX_MODE7) /* gpio3[6] */ 222*724ba675SRob Herring >; 223*724ba675SRob Herring }; 224*724ba675SRob Herring 225*724ba675SRob Herring i2c0_pins_sleep: i2c0-sleep-pins { 226*724ba675SRob Herring pinctrl-single,pins = < 227*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLDOWN, MUX_MODE7) 228*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLDOWN, MUX_MODE7) 229*724ba675SRob Herring >; 230*724ba675SRob Herring }; 231*724ba675SRob Herring 232*724ba675SRob Herring led_mod_pins: led-mod-pins { 233*724ba675SRob Herring pinctrl-single,pins = < 234*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_MCASP0_ACLKR, PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* gpio3[18] */ 235*724ba675SRob Herring >; 236*724ba675SRob Herring }; 237*724ba675SRob Herring 238*724ba675SRob Herring nand_pins_default: nand-default-pins { 239*724ba675SRob Herring pinctrl-single,pins = < 240*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad0 */ 241*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad1 */ 242*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad2 */ 243*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad3 */ 244*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad4 */ 245*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad5 */ 246*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad6 */ 247*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_ad7 */ 248*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLUP, MUX_MODE0) /* gpmc_wait0 */ 249*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLUP, MUX_MODE7) /* gpio0[31] */ 250*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_OUTPUT, MUX_MODE0) /* gpmc_csn0 */ 251*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_OUTPUT, MUX_MODE0) /* gpmc_advn_ale */ 252*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_OUTPUT, MUX_MODE0) /* gpmc_oen_ren */ 253*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_OUTPUT, MUX_MODE0) /* gpmc_wen */ 254*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_OUTPUT, MUX_MODE0) /* gpmc_be0n_cle */ 255*724ba675SRob Herring >; 256*724ba675SRob Herring }; 257*724ba675SRob Herring 258*724ba675SRob Herring nand_pins_sleep: nand-sleep-pins { 259*724ba675SRob Herring pinctrl-single,pins = < 260*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLDOWN, MUX_MODE7) 261*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLDOWN, MUX_MODE7) 262*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLDOWN, MUX_MODE7) 263*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLDOWN, MUX_MODE7) 264*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLDOWN, MUX_MODE7) 265*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLDOWN, MUX_MODE7) 266*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLDOWN, MUX_MODE7) 267*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLDOWN, MUX_MODE7) 268*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_WAIT0, PIN_INPUT_PULLDOWN, MUX_MODE7) 269*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_WPN, PIN_INPUT_PULLDOWN, MUX_MODE7) 270*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_CSN0, PIN_INPUT_PULLDOWN, MUX_MODE7) 271*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_ADVN_ALE, PIN_INPUT_PULLDOWN, MUX_MODE7) 272*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_OEN_REN, PIN_INPUT_PULLDOWN, MUX_MODE7) 273*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_WEN, PIN_INPUT_PULLDOWN, MUX_MODE7) 274*724ba675SRob Herring AM33XX_PADCONF(AM335X_PIN_GPMC_BEN0_CLE, PIN_INPUT_PULLDOWN, MUX_MODE7) 275*724ba675SRob Herring >; 276*724ba675SRob Herring }; 277*724ba675SRob Herring}; 278