/*
 * Copyright (C) 2013 Broadcom Corporation
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation version 2.
 *
 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
 * kind, whether express or implied; without even the implied warranty
 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/dts-v1/;

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

#include "bcm11351.dtsi"

/ {
	model = "BCM28155 AP board";
	compatible = "brcm,bcm28155-ap", "brcm,bcm11351";

	memory {
		reg = <0x80000000 0x40000000>; /* 1 GB */
	};

	uart@3e000000 {
		status = "okay";
	};

	i2c@3e016000 {
		status="okay";
		clock-frequency = <400000>;
	};

	i2c@3e017000 {
		status="okay";
		clock-frequency = <400000>;
	};

	i2c@3e018000 {
		status="okay";
		clock-frequency = <400000>;
	};

	i2c@3500d000 {
		status="okay";
		clock-frequency = <100000>;

		pmu: pmu@8 {
			reg = <0x08>;
		};
	};

	sdio2: sdio@3f190000 {
		non-removable;
		max-frequency = <48000000>;
		vmmc-supply = <&camldo1_reg>;
		vqmmc-supply = <&iosr1_reg>;
		status = "okay";
	};

	sdio4: sdio@3f1b0000 {
		max-frequency = <48000000>;
		cd-gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
		vmmc-supply = <&sdldo_reg>;
		vqmmc-supply = <&sdxldo_reg>;
		status = "okay";
	};

	usbotg: usb@3f120000 {
		vusb_d-supply = <&usbldo_reg>;
		vusb_a-supply = <&iosr1_reg>;
		status = "okay";
	};

	usbphy: usb-phy@3f130000 {
		status = "okay";
	};
};

#include "bcm59056.dtsi"

&pmu {
	compatible = "brcm,bcm59056";
	interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
	regulators {
		camldo1_reg: camldo1 {
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};

		sdldo_reg: sdldo {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
		};

		sdxldo_reg: sdxldo {
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <3300000>;
		};

		usbldo_reg: usbldo {
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};

		iosr1_reg: iosr1 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on;
		};
	};
};
