/*
 * Device Tree Source for the Lager board
 *
 * Copyright (C) 2013 Renesas Solutions Corp.
 *
 * This file is licensed under the terms of the GNU General Public License
 * version 2.  This program is licensed "as is" without any warranty of any
 * kind, whether express or implied.
 */

/dts-v1/;
/include/ "r8a7790.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Lager";
	compatible = "renesas,lager-reference", "renesas,r8a7790";

	chosen {
		bootargs = "console=ttySC6,115200 ignore_loglevel rw";
	};

	memory@40000000 {
		device_type = "memory";
		reg = <0 0x40000000 0 0x80000000>;
	};

	lbsc {
		#address-cells = <1>;
		#size-cells = <1>;
	};

	leds {
		compatible = "gpio-leds";
		led6 {
			gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
		};
		led7 {
			gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>;
		};
		led8 {
			gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>;
		};
	};

	fixedregulator3v3: fixedregulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "fixed-3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};
};

&pfc {
	pinctrl-0 = <&scif0_pins &scif1_pins>;
	pinctrl-names = "default";

	scif0_pins: serial0 {
		renesas,groups = "scif0_data";
		renesas,function = "scif0";
	};

	scif1_pins: serial1 {
		renesas,groups = "scif1_data";
		renesas,function = "scif1";
	};

	mmc1_pins: mmc1 {
		renesas,groups = "mmc1_data8", "mmc1_ctrl";
		renesas,function = "mmc1";
	};
};

&mmcif1 {
	pinctrl-0 = <&mmc1_pins>;
	pinctrl-names = "default";

	vmmc-supply = <&fixedregulator3v3>;
	bus-width = <8>;
	non-removable;
	status = "okay";
};
