summaryrefslogblamecommitdiffstats
path: root/arch/arm/boot/dts/am335x-evm.dts
blob: 93027736b20b75438afe53067c617ba2e058dd46 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                                         
                      




                                                  





                                                  



                                                           
 

                                          
                                                                             









                                                                                      






                                                                                      













                                                                                                    






                                                                                                      





                                                                                                                 



















                                                                                                   

          
             
                                        


                                                  

                                        
 
                                    


                                                  


                                                   

                                             

                          
 
                                    


                                                  
                                        
                                                   



























                                                                            
 




                                                            



                                                         
                  




















































































                                                                               








                                                    





                                               





                                                  


                                                                  
 

                                                                  







                                                           









                                            
                                             





                                              
                                             


                                        

  
                        








































































                                                                                       
          
  







                                      
/*
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
/dts-v1/;

#include "am33xx.dtsi"

/ {
	model = "TI AM335x EVM";
	compatible = "ti,am335x-evm", "ti,am33xx";

	cpus {
		cpu@0 {
			cpu0-supply = <&vdd1_reg>;
		};
	};

	memory {
		device_type = "memory";
		reg = <0x80000000 0x10000000>; /* 256 MB */
	};

	am33xx_pinmux: pinmux@44e10800 {
		pinctrl-names = "default";
		pinctrl-0 = <&matrix_keypad_s0 &volume_keys_s0 &clkout2_pin>;

		matrix_keypad_s0: matrix_keypad_s0 {
			pinctrl-single,pins = <
				0x54 0x7	/* gpmc_a5.gpio1_21, OUTPUT | MODE7 */
				0x58 0x7	/* gpmc_a6.gpio1_22, OUTPUT | MODE7 */
				0x64 0x27	/* gpmc_a9.gpio1_25, INPUT | MODE7 */
				0x68 0x27	/* gpmc_a10.gpio1_26, INPUT | MODE7 */
				0x6c 0x27	/* gpmc_a11.gpio1_27, INPUT | MODE7 */
			>;
		};

		volume_keys_s0: volume_keys_s0 {
			pinctrl-single,pins = <
				0x150 0x27	/* spi0_sclk.gpio0_2, INPUT | MODE7 */
				0x154 0x27	/* spi0_d0.gpio0_3, INPUT | MODE7 */
			>;
		};

		i2c0_pins: pinmux_i2c0_pins {
			pinctrl-single,pins = <
				0x188 0x30	/* i2c0_sda.i2c0_sda PULLUP | INPUTENABLE | MODE0 */
				0x18c 0x30	/* i2c0_scl.i2c0_scl PULLUP | INPUTENABLE | MODE0 */
			>;
		};

		i2c1_pins: pinmux_i2c1_pins {
			pinctrl-single,pins = <
				0x158 0x32	/* spi0_d1.i2c1_sda PULLUP | INPUTENABLE | MODE2 */
				0x15c 0x32	/* spi0_cs0.i2c1_scl PULLUP | INPUTENABLE | MODE2 */
			>;
		};

		uart0_pins: pinmux_uart0_pins {
			pinctrl-single,pins = <
				0x170 0x30	/* uart0_rxd.uart0_rxd PULLUP | INPUTENABLE | MODE0 */
				0x174 0x00	/* uart0_txd.uart0_txd PULLDOWN | MODE0 */
			>;
		};

		clkout2_pin: pinmux_clkout2_pin {
			pinctrl-single,pins = <
				0x1b4 0x03	/* xdma_event_intr1.clkout2 OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
			>;
		};

		nandflash_pins_s0: nandflash_pins_s0 {
			pinctrl-single,pins = <
				0x0 0x30	/* gpmc_ad0.gpmc_ad0, INPUT | PULLUP | MODE0 */
				0x4 0x30	/* gpmc_ad1.gpmc_ad1, INPUT | PULLUP | MODE0 */
				0x8 0x30	/* gpmc_ad2.gpmc_ad2, INPUT | PULLUP | MODE0 */
				0xc 0x30	/* gpmc_ad3.gpmc_ad3, INPUT | PULLUP | MODE0 */
				0x10 0x30	/* gpmc_ad4.gpmc_ad4, INPUT | PULLUP | MODE0 */
				0x14 0x30	/* gpmc_ad5.gpmc_ad5, INPUT | PULLUP | MODE0 */
				0x18 0x30	/* gpmc_ad6.gpmc_ad6, INPUT | PULLUP | MODE0 */
				0x1c 0x30	/* gpmc_ad7.gpmc_ad7, INPUT | PULLUP | MODE0 */
				0x70 0x30	/* gpmc_wait0.gpmc_wait0, INPUT | PULLUP | MODE0 */
				0x74 0x37	/* gpmc_wpn.gpio0_30, INPUT | PULLUP | MODE7 */
				0x7c 0x8	/* gpmc_csn0.gpmc_csn0,  PULL DISA */
				0x90 0x8	/* gpmc_advn_ale.gpmc_advn_ale, PULL DISA */
				0x94 0x8	/* gpmc_oen_ren.gpmc_oen_ren, PULL DISA */
				0x98 0x8	/* gpmc_wen.gpmc_wen, PULL DISA */
				0x9c 0x8	/* gpmc_be0n_cle.gpmc_be0n_cle, PULL DISA */
			>;
		};
	};

	ocp {
		uart0: serial@44e09000 {
			pinctrl-names = "default";
			pinctrl-0 = <&uart0_pins>;

			status = "okay";
		};

		i2c0: i2c@44e0b000 {
			pinctrl-names = "default";
			pinctrl-0 = <&i2c0_pins>;

			status = "okay";
			clock-frequency = <400000>;

			tps: tps@2d {
				reg = <0x2d>;
			};
		};

		i2c1: i2c@4802a000 {
			pinctrl-names = "default";
			pinctrl-0 = <&i2c1_pins>;

			status = "okay";
			clock-frequency = <100000>;

			lis331dlh: lis331dlh@18 {
				compatible = "st,lis331dlh", "st,lis3lv02d";
				reg = <0x18>;
				Vdd-supply = <&lis3_reg>;
				Vdd_IO-supply = <&lis3_reg>;

				st,click-single-x;
				st,click-single-y;
				st,click-single-z;
				st,click-thresh-x = <10>;
				st,click-thresh-y = <10>;
				st,click-thresh-z = <10>;
				st,irq1-click;
				st,irq2-click;
				st,wakeup-x-lo;
				st,wakeup-x-hi;
				st,wakeup-y-lo;
				st,wakeup-y-hi;
				st,wakeup-z-lo;
				st,wakeup-z-hi;
				st,min-limit-x = <120>;
				st,min-limit-y = <120>;
				st,min-limit-z = <140>;
				st,max-limit-x = <550>;
				st,max-limit-y = <550>;
				st,max-limit-z = <750>;
			};

			tsl2550: tsl2550@39 {
				compatible = "taos,tsl2550";
				reg = <0x39>;
			};

			tmp275: tmp275@48 {
				compatible = "ti,tmp275";
				reg = <0x48>;
			};
		};

		elm: elm@48080000 {
			status = "okay";
		};

		gpmc: gpmc@50000000 {
			status = "okay";
			pinctrl-names = "default";
			pinctrl-0 = <&nandflash_pins_s0>;
			ranges = <0 0 0x08000000 0x10000000>;	/* CS0: NAND */
			nand@0,0 {
				reg = <0 0 0>; /* CS0, offset 0 */
				nand-bus-width = <8>;
				ti,nand-ecc-opt = "bch8";
				gpmc,device-nand = "true";
				gpmc,device-width = <1>;
				gpmc,sync-clk-ps = <0>;
				gpmc,cs-on-ns = <0>;
				gpmc,cs-rd-off-ns = <44>;
				gpmc,cs-wr-off-ns = <44>;
				gpmc,adv-on-ns = <6>;
				gpmc,adv-rd-off-ns = <34>;
				gpmc,adv-wr-off-ns = <44>;
				gpmc,we-on-ns = <0>;
				gpmc,we-off-ns = <40>;
				gpmc,oe-on-ns = <0>;
				gpmc,oe-off-ns = <54>;
				gpmc,access-ns = <64>;
				gpmc,rd-cycle-ns = <82>;
				gpmc,wr-cycle-ns = <82>;
				gpmc,wait-on-read = "true";
				gpmc,wait-on-write = "true";
				gpmc,bus-turnaround-ns = <0>;
				gpmc,cycle2cycle-delay-ns = <0>;
				gpmc,clk-activation-ns = <0>;
				gpmc,wait-monitoring-ns = <0>;
				gpmc,wr-access-ns = <40>;
				gpmc,wr-data-mux-bus-ns = <0>;

				#address-cells = <1>;
				#size-cells = <1>;
				elm_id = <&elm>;

				/* MTD partition table */
				partition@0 {
					label = "SPL1";
					reg = <0x00000000 0x000020000>;
				};

				partition@1 {
					label = "SPL2";
					reg = <0x00020000 0x00020000>;
				};

				partition@2 {
					label = "SPL3";
					reg = <0x00040000 0x00020000>;
				};

				partition@3 {
					label = "SPL4";
					reg = <0x00060000 0x00020000>;
				};

				partition@4 {
					label = "U-boot";
					reg = <0x00080000 0x001e0000>;
				};

				partition@5 {
					label = "environment";
					reg = <0x00260000 0x00020000>;
				};

				partition@6 {
					label = "Kernel";
					reg = <0x00280000 0x00500000>;
				};

				partition@7 {
					label = "File-System";
					reg = <0x00780000 0x0F880000>;
				};
			};
		};
	};

	vbat: fixedregulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "vbat";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-boot-on;
	};

	lis3_reg: fixedregulator@1 {
		compatible = "regulator-fixed";
		regulator-name = "lis3_reg";
		regulator-boot-on;
	};

	matrix_keypad: matrix_keypad@0 {
		compatible = "gpio-matrix-keypad";
		debounce-delay-ms = <5>;
		col-scan-delay-us = <2>;

		row-gpios = <&gpio1 25 0	/* Bank1, pin25 */
			     &gpio1 26 0	/* Bank1, pin26 */
			     &gpio1 27 0>;	/* Bank1, pin27 */

		col-gpios = <&gpio1 21 0	/* Bank1, pin21 */
			     &gpio1 22 0>;	/* Bank1, pin22 */

		linux,keymap = <0x0000008b	/* MENU */
				0x0100009e	/* BACK */
				0x02000069	/* LEFT */
				0x0001006a	/* RIGHT */
				0x0101001c	/* ENTER */
				0x0201006c>;	/* DOWN */
	};

	gpio_keys: volume_keys@0 {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;
		autorepeat;

		switch@9 {
			label = "volume-up";
			linux,code = <115>;
			gpios = <&gpio0 2 1>;
			gpio-key,wakeup;
		};

		switch@10 {
			label = "volume-down";
			linux,code = <114>;
			gpios = <&gpio0 3 1>;
			gpio-key,wakeup;
		};
	};
};

#include "tps65910.dtsi"

&tps {
	vcc1-supply = <&vbat>;
	vcc2-supply = <&vbat>;
	vcc3-supply = <&vbat>;
	vcc4-supply = <&vbat>;
	vcc5-supply = <&vbat>;
	vcc6-supply = <&vbat>;
	vcc7-supply = <&vbat>;
	vccio-supply = <&vbat>;

	regulators {
		vrtc_reg: regulator@0 {
			regulator-always-on;
		};

		vio_reg: regulator@1 {
			regulator-always-on;
		};

		vdd1_reg: regulator@2 {
			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
			regulator-name = "vdd_mpu";
			regulator-min-microvolt = <912500>;
			regulator-max-microvolt = <1312500>;
			regulator-boot-on;
			regulator-always-on;
		};

		vdd2_reg: regulator@3 {
			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
			regulator-name = "vdd_core";
			regulator-min-microvolt = <912500>;
			regulator-max-microvolt = <1150000>;
			regulator-boot-on;
			regulator-always-on;
		};

		vdd3_reg: regulator@4 {
			regulator-always-on;
		};

		vdig1_reg: regulator@5 {
			regulator-always-on;
		};

		vdig2_reg: regulator@6 {
			regulator-always-on;
		};

		vpll_reg: regulator@7 {
			regulator-always-on;
		};

		vdac_reg: regulator@8 {
			regulator-always-on;
		};

		vaux1_reg: regulator@9 {
			regulator-always-on;
		};

		vaux2_reg: regulator@10 {
			regulator-always-on;
		};

		vaux33_reg: regulator@11 {
			regulator-always-on;
		};

		vmmc_reg: regulator@12 {
			regulator-always-on;
		};
	};
};

&cpsw_emac0 {
	phy_id = <&davinci_mdio>, <0>;
};

&cpsw_emac1 {
	phy_id = <&davinci_mdio>, <1>;
};