1279377Simp/* 2279377Simp * Copyright (C) 2014 NovaTech LLC - http://www.novatechweb.com 3279377Simp * 4279377Simp * This program is free software; you can redistribute it and/or modify 5279377Simp * it under the terms of the GNU General Public License version 2 as 6279377Simp * published by the Free Software Foundation. 7279377Simp */ 8279377Simp/dts-v1/; 9279377Simp 10279377Simp#include "am33xx.dtsi" 11279377Simp 12279377Simp/ { 13279377Simp model = "NovaTech OrionLXm"; 14279377Simp compatible = "novatech,am335x-lxm", "ti,am33xx"; 15279377Simp 16279377Simp cpus { 17279377Simp cpu@0 { 18279377Simp cpu0-supply = <&vdd1_reg>; 19279377Simp }; 20279377Simp }; 21279377Simp 22279377Simp memory { 23279377Simp device_type = "memory"; 24279377Simp reg = <0x80000000 0x20000000>; /* 512 MB */ 25279377Simp }; 26279377Simp 27279377Simp /* Power supply provides a fixed 5V @2A */ 28279377Simp vbat: fixedregulator@0 { 29279377Simp compatible = "regulator-fixed"; 30279377Simp regulator-name = "vbat"; 31279377Simp regulator-min-microvolt = <5000000>; 32279377Simp regulator-max-microvolt = <5000000>; 33279377Simp regulator-boot-on; 34279377Simp }; 35279377Simp 36279377Simp /* Power supply provides a fixed 3.3V @3A */ 37279377Simp vmmcsd_fixed: fixedregulator@1 { 38279377Simp compatible = "regulator-fixed"; 39279377Simp regulator-name = "vmmcsd_fixed"; 40279377Simp regulator-min-microvolt = <3300000>; 41279377Simp regulator-max-microvolt = <3300000>; 42279377Simp regulator-boot-on; 43279377Simp }; 44279377Simp}; 45279377Simp 46279377Simp&am33xx_pinmux { 47279377Simp mmc1_pins: pinmux_mmc1_pins { 48279377Simp pinctrl-single,pins = < 49279377Simp 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3 */ 50279377Simp 0xf4 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2 */ 51279377Simp 0xf8 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1 */ 52279377Simp 0xfc (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0 */ 53279377Simp 0x100 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk */ 54279377Simp 0x104 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd */ 55279377Simp >; 56279377Simp }; 57279377Simp 58279377Simp i2c0_pins: pinmux_i2c0_pins { 59279377Simp pinctrl-single,pins = < 60279377Simp 0x188 (PIN_INPUT | MUX_MODE0) /* i2c0_sda.i2c0_sda */ 61279377Simp 0x18c (PIN_INPUT | MUX_MODE0) /* i2c0_scl.i2c0_scl */ 62279377Simp >; 63279377Simp }; 64279377Simp 65279377Simp cpsw_default: cpsw_default { 66279377Simp pinctrl-single,pins = < 67279377Simp /* Slave 1 */ 68279377Simp 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */ 69279377Simp 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_crs_dv */ 70279377Simp 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rxer */ 71279377Simp 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_txen */ 72279377Simp 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td1 */ 73279377Simp 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td0 */ 74279377Simp 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd1 */ 75279377Simp 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd0 */ 76279377Simp 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_refclk */ 77279377Simp 78279377Simp /* Slave 2 */ 79279377Simp 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_txen */ 80279377Simp 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td1 */ 81279377Simp 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td0 */ 82279377Simp 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd1 */ 83279377Simp 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd0 */ 84279377Simp 0x70 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_crs_dv */ 85279377Simp 0x74 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rxer */ 86279377Simp 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */ 87279377Simp 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii2_refclk */ 88279377Simp >; 89279377Simp }; 90279377Simp 91279377Simp cpsw_sleep: cpsw_sleep { 92279377Simp pinctrl-single,pins = < 93279377Simp /* Slave 1 reset value */ 94279377Simp 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */ 95279377Simp 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_crs_dv */ 96279377Simp 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rxer */ 97279377Simp 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_txen */ 98279377Simp 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td1 */ 99279377Simp 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td0 */ 100279377Simp 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd1 */ 101279377Simp 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd0 */ 102279377Simp 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_refclk */ 103279377Simp 104279377Simp /* Slave 2 reset value*/ 105279377Simp 0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_txen */ 106279377Simp 0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td1 */ 107279377Simp 0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td0 */ 108279377Simp 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd1 */ 109279377Simp 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd0 */ 110279377Simp 0x70 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_crs_dv */ 111279377Simp 0x74 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rxer */ 112279377Simp 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */ 113279377Simp 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_refclk */ 114279377Simp >; 115279377Simp }; 116279377Simp 117279377Simp davinci_mdio_default: davinci_mdio_default { 118279377Simp pinctrl-single,pins = < 119279377Simp /* MDIO */ 120279377Simp 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ 121279377Simp 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ 122279377Simp >; 123279377Simp }; 124279377Simp 125279377Simp davinci_mdio_sleep: davinci_mdio_sleep { 126279377Simp pinctrl-single,pins = < 127279377Simp /* MDIO reset value */ 128279377Simp 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7) 129279377Simp 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) 130279377Simp >; 131279377Simp }; 132279377Simp 133279377Simp emmc_pins: pinmux_emmc_pins { 134279377Simp pinctrl-single,pins = < 135279377Simp 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */ 136279377Simp 0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */ 137279377Simp 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */ 138279377Simp 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */ 139279377Simp 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */ 140279377Simp 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */ 141279377Simp 0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */ 142279377Simp 0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */ 143279377Simp 0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */ 144279377Simp 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */ 145279377Simp >; 146279377Simp }; 147279377Simp 148279377Simp uart0_pins: pinmux_uart0_pins { 149279377Simp pinctrl-single,pins = < 150279377Simp 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */ 151279377Simp 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */ 152279377Simp >; 153279377Simp }; 154279377Simp}; 155279377Simp 156279377Simp&i2c0 { 157279377Simp pinctrl-names = "default"; 158279377Simp pinctrl-0 = <&i2c0_pins>; 159279377Simp 160279377Simp status = "okay"; 161279377Simp clock-frequency = <400000>; 162279377Simp 163279377Simp serial_config1: serial_config1@20 { 164279377Simp compatible = "nxp,pca9539"; 165279377Simp reg = <0x20>; 166279377Simp }; 167279377Simp 168279377Simp serial_config2: serial_config2@21 { 169279377Simp compatible = "nxp,pca9539"; 170279377Simp reg = <0x21>; 171279377Simp }; 172279377Simp 173279377Simp tps: tps@2d { 174279377Simp compatible = "ti,tps65910"; 175279377Simp reg = <0x2d>; 176279377Simp }; 177279377Simp}; 178279377Simp 179279377Simp/include/ "tps65910.dtsi" 180279377Simp 181279377Simp&tps { 182279377Simp vcc1-supply = <&vbat>; 183279377Simp vcc2-supply = <&vbat>; 184279377Simp vcc3-supply = <&vbat>; 185279377Simp vcc4-supply = <&vbat>; 186279377Simp vcc5-supply = <&vbat>; 187279377Simp vcc6-supply = <&vbat>; 188279377Simp vcc7-supply = <&vbat>; 189279377Simp vccio-supply = <&vbat>; 190279377Simp 191279377Simp regulators { 192279377Simp /* vrtc - unused */ 193279377Simp 194279377Simp vio_reg: regulator@1 { 195279377Simp regulator-name = "vio_1v5,ddr"; 196279377Simp regulator-min-microvolt = <1500000>; 197279377Simp regulator-max-microvolt = <1500000>; 198279377Simp regulator-boot-on; 199279377Simp regulator-always-on; 200279377Simp }; 201279377Simp 202279377Simp vdd1_reg: regulator@2 { 203279377Simp regulator-name = "vdd1,mpu"; 204279377Simp regulator-min-microvolt = <600000>; 205279377Simp regulator-max-microvolt = <1500000>; 206279377Simp regulator-boot-on; 207279377Simp regulator-always-on; 208279377Simp }; 209279377Simp 210279377Simp vdd2_reg: regulator@3 { 211279377Simp regulator-name = "vdd2_1v1,core"; 212279377Simp regulator-min-microvolt = <1100000>; 213279377Simp regulator-max-microvolt = <1100000>; 214279377Simp regulator-boot-on; 215279377Simp regulator-always-on; 216279377Simp }; 217279377Simp 218279377Simp /* vdd3 - unused */ 219279377Simp 220279377Simp /* vdig1 - unused */ 221279377Simp 222279377Simp vdig2_reg: regulator@6 { 223279377Simp regulator-name = "vdig2_1v8,vdds_pll"; 224279377Simp regulator-min-microvolt = <1800000>; 225279377Simp regulator-max-microvolt = <1800000>; 226279377Simp regulator-boot-on; 227279377Simp regulator-always-on; 228279377Simp }; 229279377Simp 230279377Simp /* vpll - unused */ 231279377Simp 232279377Simp vdac_reg: regulator@8 { 233279377Simp regulator-name = "vdac_1v8,vdds"; 234279377Simp regulator-min-microvolt = <1800000>; 235279377Simp regulator-max-microvolt = <1800000>; 236279377Simp regulator-boot-on; 237279377Simp regulator-always-on; 238279377Simp }; 239279377Simp 240279377Simp vaux1_reg: regulator@9 { 241279377Simp regulator-name = "vaux1_1v8,usb"; 242279377Simp regulator-min-microvolt = <1800000>; 243279377Simp regulator-max-microvolt = <1800000>; 244279377Simp regulator-boot-on; 245279377Simp regulator-always-on; 246279377Simp }; 247279377Simp 248279377Simp vaux2_reg: regulator@10 { 249279377Simp regulator-name = "vaux2_3v3,io"; 250279377Simp regulator-min-microvolt = <3300000>; 251279377Simp regulator-max-microvolt = <3300000>; 252279377Simp regulator-boot-on; 253279377Simp regulator-always-on; 254279377Simp }; 255279377Simp 256279377Simp vaux33_reg: regulator@11 { 257279377Simp regulator-name = "vaux33_3v3,usb"; 258279377Simp regulator-min-microvolt = <3300000>; 259279377Simp regulator-max-microvolt = <3300000>; 260279377Simp regulator-boot-on; 261279377Simp regulator-always-on; 262279377Simp }; 263279377Simp 264279377Simp vmmc_reg: regulator@12 { 265279377Simp regulator-name = "vmmc_3v3,io"; 266279377Simp regulator-min-microvolt = <3300000>; 267279377Simp regulator-max-microvolt = <3300000>; 268279377Simp regulator-boot-on; 269279377Simp regulator-always-on; 270279377Simp }; 271279377Simp }; 272279377Simp}; 273279377Simp 274279377Simp&sham { 275279377Simp status = "okay"; 276279377Simp}; 277279377Simp 278279377Simp&aes { 279279377Simp status = "okay"; 280279377Simp}; 281279377Simp 282279377Simp&uart0 { 283279377Simp pinctrl-names = "default"; 284279377Simp pinctrl-0 = <&uart0_pins>; 285279377Simp 286279377Simp status = "okay"; 287279377Simp}; 288279377Simp 289279377Simp&usb { 290279377Simp status = "okay"; 291279377Simp}; 292279377Simp 293279377Simp&usb_ctrl_mod { 294279377Simp status = "okay"; 295279377Simp}; 296279377Simp 297279377Simp&usb0_phy { 298279377Simp status = "okay"; 299279377Simp}; 300279377Simp 301279377Simp&usb1_phy { 302279377Simp status = "okay"; 303279377Simp}; 304279377Simp 305279377Simp&usb0 { 306279377Simp status = "okay"; 307279377Simp dr_mode = "host"; 308279377Simp}; 309279377Simp 310279377Simp&usb1 { 311279377Simp status = "okay"; 312279377Simp dr_mode = "host"; 313279377Simp}; 314279377Simp 315279377Simp&cppi41dma { 316279377Simp status = "okay"; 317279377Simp}; 318279377Simp 319279377Simp&cpsw_emac0 { 320279377Simp phy_id = <&davinci_mdio>, <5>; 321279377Simp phy-mode = "rmii"; 322279377Simp dual_emac_res_vlan = <2>; 323279377Simp}; 324279377Simp 325279377Simp&cpsw_emac1 { 326279377Simp phy_id = <&davinci_mdio>, <4>; 327279377Simp phy-mode = "rmii"; 328279377Simp dual_emac_res_vlan = <3>; 329279377Simp}; 330279377Simp 331279377Simp&mac { 332279377Simp pinctrl-names = "default", "sleep"; 333279377Simp pinctrl-0 = <&cpsw_default>; 334279377Simp pinctrl-1 = <&cpsw_sleep>; 335279377Simp dual_emac = <1>; 336279377Simp status = "okay"; 337279377Simp}; 338279377Simp 339279377Simp&davinci_mdio { 340279377Simp pinctrl-names = "default", "sleep"; 341279377Simp pinctrl-0 = <&davinci_mdio_default>; 342279377Simp pinctrl-1 = <&davinci_mdio_sleep>; 343279377Simp status = "okay"; 344279377Simp}; 345279377Simp 346279377Simp&mmc1 { 347279377Simp pinctrl-names = "default"; 348279377Simp pinctrl-0 = <&mmc1_pins>; 349279377Simp vmmc-supply = <&vmmcsd_fixed>; 350279377Simp bus-width = <4>; 351279377Simp status = "okay"; 352279377Simp}; 353279377Simp 354279377Simp&mmc2 { 355279377Simp pinctrl-names = "default"; 356279377Simp pinctrl-0 = <&emmc_pins>; 357279377Simp vmmc-supply = <&vmmcsd_fixed>; 358279377Simp bus-width = <8>; 359279377Simp ti,non-removable; 360279377Simp status = "okay"; 361279377Simp}; 362279377Simp 363