Newer
Older
barebox / dts / src / arm / omap4-duovero-parlor.dts
/*
 * Copyright (C) 2014 Florian Vaussard, EPFL Mobots group
 *
 * 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 "omap4-duovero.dtsi"

#include <dt-bindings/input/input.h>

/ {
	model = "OMAP4430 Gumstix Duovero on Parlor";
	compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";

	leds {
		compatible = "gpio-leds";
		led0 {
			label = "duovero:blue:led0";
			gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>;	/* gpio_122 */
			linux,default-trigger = "heartbeat";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		#address-cells = <1>;
		#size-cells = <0>;
		button0@121 {
			label = "button0";
			linux,code = <BTN_0>;
			gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;	/* gpio_121 */
			gpio-key,wakeup;
		};
	};
};

&omap4_pmx_core {
	pinctrl-0 = <
			&led_pins
			&button_pins
			&smsc_pins
	>;

	led_pins: pinmux_led_pins {
		pinctrl-single,pins = <
			0xd6 (PIN_OUTPUT | MUX_MODE3)		/* abe_dmic_din3.gpio_122 */
		>;
	};

	button_pins: pinmux_button_pins {
		pinctrl-single,pins = <
			0xd4 (PIN_INPUT_PULLUP | MUX_MODE3)	/* abe_dmic_din2.gpio_121 */
		>;
	};

	i2c2_pins: pinmux_i2c2_pins {
		pinctrl-single,pins = <
			0xe6 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_scl */
			0xe8 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda */
		>;
	};

	i2c3_pins: pinmux_i2c3_pins {
		pinctrl-single,pins = <
			0xea (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_scl */
			0xec (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_sda */
		>;
	};

	smsc_pins: pinmux_smsc_pins {
		pinctrl-single,pins = <
			0x28 (PIN_INPUT | MUX_MODE3)		/* gpmc_a20.gpio_44: IRQ */
			0x2a (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a21.gpio_45: nReset */
			0x30 (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a24.gpio_48: amdix enabled */
		>;
	};
};

&i2c2 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c2_pins>;

	clock-frequency = <400000>;
};

&i2c3 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c3_pins>;

	clock-frequency = <100000>;

	/* optional 1K EEPROM with revision information */
	eeprom@51 {
		compatible = "atmel,24c01";
		reg = <0x51>;
		pagesize = <8>;
	};
};

&mmc3 {
	status = "disabled";
};

#include "omap-gpmc-smsc911x.dtsi"

&gpmc {
	ranges = <5 0 0x2c000000 0x1000000>;			/* CS5 */

	ethernet@gpmc {
		reg = <5 0 0xff>;
		interrupt-parent = <&gpio2>;
		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;		/* gpio_44 */

		phy-mode = "mii";

		gpmc,cs-on-ns = <10>;
		gpmc,cs-rd-off-ns = <50>;
		gpmc,cs-wr-off-ns = <50>;
		gpmc,adv-on-ns = <0>;
		gpmc,adv-rd-off-ns = <10>;
		gpmc,adv-wr-off-ns = <10>;
		gpmc,oe-on-ns = <15>;
		gpmc,oe-off-ns = <50>;
		gpmc,we-on-ns = <15>;
		gpmc,we-off-ns = <50>;
		gpmc,rd-cycle-ns = <50>;
		gpmc,wr-cycle-ns = <50>;
		gpmc,access-ns = <50>;
		gpmc,page-burst-access-ns = <0>;
		gpmc,bus-turnaround-ns = <35>;
		gpmc,cycle2cycle-delay-ns = <35>;
		gpmc,wr-data-mux-bus-ns = <35>;
		gpmc,wr-access-ns = <50>;

		gpmc,mux-add-data = <2>;
		gpmc,sync-read;
		gpmc,sync-write;
		gpmc,clk-activation-ns = <5>;
		gpmc,sync-clk-ps = <20000>;
	};
};