1279377Simp/* 2279377Simp * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.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 9279377Simp/dts-v1/; 10279377Simp 11279377Simp#include "am4372.dtsi" 12279377Simp#include <dt-bindings/pinctrl/am43xx.h> 13279377Simp#include <dt-bindings/pwm/pwm.h> 14279377Simp#include <dt-bindings/gpio/gpio.h> 15279377Simp#include <dt-bindings/input/input.h> 16279377Simp 17279377Simp/ { 18279377Simp model = "TI AM437x Industrial Development Kit"; 19279377Simp compatible = "ti,am437x-idk-evm","ti,am4372","ti,am43"; 20279377Simp 21279377Simp v24_0d: fixed-regulator-v24_0d { 22279377Simp compatible = "regulator-fixed"; 23279377Simp regulator-name = "V24_0D"; 24279377Simp regulator-min-microvolt = <24000000>; 25279377Simp regulator-max-microvolt = <24000000>; 26279377Simp regulator-always-on; 27279377Simp regulator-boot-on; 28279377Simp }; 29279377Simp 30279377Simp v3_3d: fixed-regulator-v3_3d { 31279377Simp compatible = "regulator-fixed"; 32279377Simp regulator-name = "V3_3D"; 33279377Simp regulator-min-microvolt = <3300000>; 34279377Simp regulator-max-microvolt = <3300000>; 35279377Simp regulator-always-on; 36279377Simp regulator-boot-on; 37279377Simp vin-supply = <&v24_0d>; 38279377Simp }; 39279377Simp 40279377Simp vdd_corereg: fixed-regulator-vdd_corereg { 41279377Simp compatible = "regulator-fixed"; 42279377Simp regulator-name = "VDD_COREREG"; 43279377Simp regulator-min-microvolt = <1100000>; 44279377Simp regulator-max-microvolt = <1100000>; 45279377Simp regulator-always-on; 46279377Simp regulator-boot-on; 47279377Simp vin-supply = <&v24_0d>; 48279377Simp }; 49279377Simp 50279377Simp vdd_core: fixed-regulator-vdd_core { 51279377Simp compatible = "regulator-fixed"; 52279377Simp regulator-name = "VDD_CORE"; 53279377Simp regulator-min-microvolt = <1100000>; 54279377Simp regulator-max-microvolt = <1100000>; 55279377Simp regulator-always-on; 56279377Simp regulator-boot-on; 57279377Simp vin-supply = <&vdd_corereg>; 58279377Simp }; 59279377Simp 60279377Simp v1_8dreg: fixed-regulator-v1_8dreg{ 61279377Simp compatible = "regulator-fixed"; 62279377Simp regulator-name = "V1_8DREG"; 63279377Simp regulator-min-microvolt = <1800000>; 64279377Simp regulator-max-microvolt = <1800000>; 65279377Simp regulator-always-on; 66279377Simp regulator-boot-on; 67279377Simp vin-supply = <&v24_0d>; 68279377Simp }; 69279377Simp 70279377Simp v1_8d: fixed-regulator-v1_8d{ 71279377Simp compatible = "regulator-fixed"; 72279377Simp regulator-name = "V1_8D"; 73279377Simp regulator-min-microvolt = <1800000>; 74279377Simp regulator-max-microvolt = <1800000>; 75279377Simp regulator-always-on; 76279377Simp regulator-boot-on; 77279377Simp vin-supply = <&v1_8dreg>; 78279377Simp }; 79279377Simp 80279377Simp v1_5dreg: fixed-regulator-v1_5dreg{ 81279377Simp compatible = "regulator-fixed"; 82279377Simp regulator-name = "V1_5DREG"; 83279377Simp regulator-min-microvolt = <1500000>; 84279377Simp regulator-max-microvolt = <1500000>; 85279377Simp regulator-always-on; 86279377Simp regulator-boot-on; 87279377Simp vin-supply = <&v24_0d>; 88279377Simp }; 89279377Simp 90279377Simp v1_5d: fixed-regulator-v1_5d{ 91279377Simp compatible = "regulator-fixed"; 92279377Simp regulator-name = "V1_5D"; 93279377Simp regulator-min-microvolt = <1500000>; 94279377Simp regulator-max-microvolt = <1500000>; 95279377Simp regulator-always-on; 96279377Simp regulator-boot-on; 97279377Simp vin-supply = <&v1_5dreg>; 98279377Simp }; 99279377Simp 100279377Simp gpio_keys: gpio_keys { 101279377Simp compatible = "gpio-keys"; 102279377Simp pinctrl-names = "default"; 103279377Simp pinctrl-0 = <&gpio_keys_pins_default>; 104279377Simp #address-cells = <1>; 105279377Simp #size-cells = <0>; 106279377Simp 107279377Simp switch@0 { 108279377Simp label = "power-button"; 109279377Simp linux,code = <KEY_POWER>; 110279377Simp gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 111279377Simp }; 112279377Simp }; 113279377Simp}; 114279377Simp 115279377Simp&am43xx_pinmux { 116279377Simp gpio_keys_pins_default: gpio_keys_pins_default { 117279377Simp pinctrl-single,pins = < 118279377Simp 0x1b8 (PIN_INPUT | MUX_MODE7) /* cam0_field.gpio4_2 */ 119279377Simp >; 120279377Simp }; 121279377Simp 122279377Simp i2c0_pins_default: i2c0_pins_default { 123279377Simp pinctrl-single,pins = < 124279377Simp 0x188 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */ 125279377Simp 0x18c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */ 126279377Simp >; 127279377Simp }; 128279377Simp 129279377Simp i2c0_pins_sleep: i2c0_pins_sleep { 130279377Simp pinctrl-single,pins = < 131279377Simp 0x188 (PIN_INPUT_PULLDOWN | MUX_MODE7) 132279377Simp 0x18c (PIN_INPUT_PULLDOWN | MUX_MODE7) 133279377Simp >; 134279377Simp }; 135279377Simp 136279377Simp i2c1_pins_default: i2c1_pins_default { 137279377Simp pinctrl-single,pins = < 138279377Simp 0x15c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */ 139279377Simp 0x158 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */ 140279377Simp >; 141279377Simp }; 142279377Simp 143279377Simp i2c1_pins_sleep: i2c1_pins_sleep { 144279377Simp pinctrl-single,pins = < 145279377Simp 0x15c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_cs0.i2c1_scl */ 146279377Simp 0x158 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_d1.i2c1_sda */ 147279377Simp >; 148279377Simp }; 149279377Simp 150279377Simp mmc1_pins_default: pinmux_mmc1_pins_default { 151279377Simp pinctrl-single,pins = < 152279377Simp 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */ 153279377Simp 0x104 (PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */ 154279377Simp 0x1f0 (PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */ 155279377Simp 0x1f4 (PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */ 156279377Simp 0x1f8 (PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */ 157279377Simp 0x1fc (PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */ 158279377Simp 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */ 159279377Simp >; 160279377Simp }; 161279377Simp 162279377Simp mmc1_pins_sleep: pinmux_mmc1_pins_sleep { 163279377Simp pinctrl-single,pins = < 164279377Simp 0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7) 165279377Simp 0x104 (PIN_INPUT_PULLDOWN | MUX_MODE7) 166279377Simp 0x1f0 (PIN_INPUT_PULLDOWN | MUX_MODE7) 167279377Simp 0x1f4 (PIN_INPUT_PULLDOWN | MUX_MODE7) 168279377Simp 0x1f8 (PIN_INPUT_PULLDOWN | MUX_MODE7) 169279377Simp 0x1fc (PIN_INPUT_PULLDOWN | MUX_MODE7) 170279377Simp 0x160 (PIN_INPUT_PULLDOWN | MUX_MODE7) 171279377Simp >; 172279377Simp }; 173279377Simp 174279377Simp ecap0_pins_default: backlight_pins_default { 175279377Simp pinctrl-single,pins = < 176279377Simp 0x164 (PIN_OUTPUT | MUX_MODE0) /* ecap0_in_pwm0_out.ecap0_in_pwm0_out */ 177279377Simp >; 178279377Simp }; 179279377Simp 180279377Simp cpsw_default: cpsw_default { 181279377Simp pinctrl-single,pins = < 182279377Simp 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */ 183279377Simp 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */ 184279377Simp 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */ 185279377Simp 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */ 186279377Simp 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td2 */ 187279377Simp 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td3 */ 188279377Simp 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */ 189279377Simp 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */ 190279377Simp 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */ 191279377Simp 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */ 192279377Simp 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd2 */ 193279377Simp 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd3 */ 194279377Simp >; 195279377Simp }; 196279377Simp 197279377Simp cpsw_sleep: cpsw_sleep { 198279377Simp pinctrl-single,pins = < 199279377Simp 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7) 200279377Simp 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) 201279377Simp 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) 202279377Simp 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) 203279377Simp 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7) 204279377Simp 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7) 205279377Simp 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7) 206279377Simp 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7) 207279377Simp 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) 208279377Simp 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) 209279377Simp 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7) 210279377Simp 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7) 211279377Simp >; 212279377Simp }; 213279377Simp 214279377Simp davinci_mdio_default: davinci_mdio_default { 215279377Simp pinctrl-single,pins = < 216279377Simp /* MDIO */ 217279377Simp 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ 218279377Simp 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ 219279377Simp >; 220279377Simp }; 221279377Simp 222279377Simp davinci_mdio_sleep: davinci_mdio_sleep { 223279377Simp pinctrl-single,pins = < 224279377Simp /* MDIO reset value */ 225279377Simp 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7) 226279377Simp 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) 227279377Simp >; 228279377Simp }; 229279377Simp 230279377Simp qspi_pins_default: qspi_pins_default { 231279377Simp pinctrl-single,pins = < 232279377Simp 0x7c (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_csn0.qspi_csn */ 233279377Simp 0x88 (PIN_OUTPUT | MUX_MODE2) /* gpmc_csn3.qspi_clk */ 234279377Simp 0x90 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_advn_ale.qspi_d0 */ 235279377Simp 0x94 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_oen_ren.qspi_d1 */ 236279377Simp 0x98 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_wen.qspi_d2 */ 237279377Simp 0x9c (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_be0n_cle.qspi_d3 */ 238279377Simp >; 239279377Simp }; 240279377Simp 241279377Simp qspi_pins_sleep: qspi_pins_sleep{ 242279377Simp pinctrl-single,pins = < 243279377Simp 0x7c (PIN_INPUT_PULLDOWN | MUX_MODE7) 244279377Simp 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7) 245279377Simp 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE7) 246279377Simp 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE7) 247279377Simp 0x98 (PIN_INPUT_PULLDOWN | MUX_MODE7) 248279377Simp 0x9c (PIN_INPUT_PULLDOWN | MUX_MODE7) 249279377Simp >; 250279377Simp }; 251279377Simp}; 252279377Simp 253279377Simp&i2c0 { 254279377Simp status = "okay"; 255279377Simp pinctrl-names = "default", "sleep"; 256279377Simp pinctrl-0 = <&i2c0_pins_default>; 257279377Simp pinctrl-1 = <&i2c0_pins_default>; 258279377Simp clock-frequency = <400000>; 259279377Simp 260279377Simp at24@50 { 261279377Simp compatible = "at24,24c256"; 262279377Simp pagesize = <64>; 263279377Simp reg = <0x50>; 264279377Simp }; 265279377Simp}; 266279377Simp 267279377Simp&i2c1 { 268279377Simp status = "okay"; 269279377Simp pinctrl-names = "default", "sleep"; 270279377Simp pinctrl-0 = <&i2c1_pins_default>; 271279377Simp pinctrl-1 = <&i2c1_pins_default>; 272279377Simp clock-frequency = <400000>; 273279377Simp 274279377Simp tps: tps62362@60 { 275279377Simp compatible = "ti,tps62362"; 276279377Simp regulator-name = "VDD_MPU"; 277279377Simp regulator-min-microvolt = <950000>; 278279377Simp regulator-max-microvolt = <1330000>; 279279377Simp regulator-boot-on; 280279377Simp regulator-always-on; 281279377Simp ti,vsel0-state-high; 282279377Simp ti,vsel1-state-high; 283279377Simp vin-supply = <&v3_3d>; 284279377Simp }; 285279377Simp}; 286279377Simp 287279377Simp&epwmss0 { 288279377Simp status = "okay"; 289279377Simp}; 290279377Simp 291279377Simp&ecap0 { 292279377Simp status = "okay"; 293279377Simp pinctrl-names = "default"; 294279377Simp pinctrl-0 = <&ecap0_pins_default>; 295279377Simp}; 296279377Simp 297279377Simp&gpio0 { 298279377Simp status = "okay"; 299279377Simp}; 300279377Simp 301279377Simp&gpio1 { 302279377Simp status = "okay"; 303279377Simp}; 304279377Simp 305279377Simp&gpio4 { 306279377Simp status = "okay"; 307279377Simp}; 308279377Simp 309279377Simp&gpio5 { 310279377Simp status = "okay"; 311279377Simp}; 312279377Simp 313279377Simp&mmc1 { 314279377Simp status = "okay"; 315279377Simp pinctrl-names = "default", "sleep"; 316279377Simp pinctrl-0 = <&mmc1_pins_default>; 317279377Simp pinctrl-1 = <&mmc1_pins_sleep>; 318279377Simp vmmc-supply = <&v3_3d>; 319279377Simp bus-width = <4>; 320279377Simp cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; 321279377Simp}; 322279377Simp 323279377Simp&qspi { 324279377Simp status = "okay"; 325279377Simp pinctrl-names = "default", "sleep"; 326279377Simp pinctrl-0 = <&qspi_pins_default>; 327279377Simp pinctrl-1 = <&qspi_pins_sleep>; 328279377Simp 329279377Simp spi-max-frequency = <48000000>; 330279377Simp m25p80@0 { 331279377Simp compatible = "mx66l51235l"; 332279377Simp spi-max-frequency = <48000000>; 333279377Simp reg = <0>; 334279377Simp spi-cpol; 335279377Simp spi-cpha; 336279377Simp spi-tx-bus-width = <1>; 337279377Simp spi-rx-bus-width = <4>; 338279377Simp #address-cells = <1>; 339279377Simp #size-cells = <1>; 340279377Simp 341279377Simp /* 342279377Simp * MTD partition table. The ROM checks the first 512KiB for a 343279377Simp * valid file to boot(XIP). 344279377Simp */ 345279377Simp partition@0 { 346279377Simp label = "QSPI.U_BOOT"; 347279377Simp reg = <0x00000000 0x000080000>; 348279377Simp }; 349279377Simp partition@1 { 350279377Simp label = "QSPI.U_BOOT.backup"; 351279377Simp reg = <0x00080000 0x00080000>; 352279377Simp }; 353279377Simp partition@2 { 354279377Simp label = "QSPI.U-BOOT-SPL_OS"; 355279377Simp reg = <0x00100000 0x00010000>; 356279377Simp }; 357279377Simp partition@3 { 358279377Simp label = "QSPI.U_BOOT_ENV"; 359279377Simp reg = <0x00110000 0x00010000>; 360279377Simp }; 361279377Simp partition@4 { 362279377Simp label = "QSPI.U-BOOT-ENV.backup"; 363279377Simp reg = <0x00120000 0x00010000>; 364279377Simp }; 365279377Simp partition@5 { 366279377Simp label = "QSPI.KERNEL"; 367279377Simp reg = <0x00130000 0x0800000>; 368279377Simp }; 369279377Simp partition@6 { 370279377Simp label = "QSPI.FILESYSTEM"; 371279377Simp reg = <0x00930000 0x36D0000>; 372279377Simp }; 373279377Simp }; 374279377Simp}; 375279377Simp 376279377Simp&mac { 377279377Simp pinctrl-names = "default", "sleep"; 378279377Simp pinctrl-0 = <&cpsw_default>; 379279377Simp pinctrl-1 = <&cpsw_sleep>; 380279377Simp status = "okay"; 381279377Simp}; 382279377Simp 383279377Simp&davinci_mdio { 384279377Simp pinctrl-names = "default", "sleep"; 385279377Simp pinctrl-0 = <&davinci_mdio_default>; 386279377Simp pinctrl-1 = <&davinci_mdio_sleep>; 387279377Simp status = "okay"; 388279377Simp}; 389279377Simp 390279377Simp&cpsw_emac0 { 391279377Simp phy_id = <&davinci_mdio>, <0>; 392279377Simp phy-mode = "rgmii"; 393279377Simp}; 394279377Simp 395279377Simp&rtc { 396279377Simp status = "okay"; 397279377Simp}; 398279377Simp 399279377Simp&wdt { 400279377Simp status = "okay"; 401279377Simp}; 402279377Simp 403279377Simp&cpu { 404279377Simp cpu0-supply = <&tps>; 405279377Simp}; 406