// SPDX-License-Identifier: GPL-2.0-only
// Copyright (C) 2013 Broadcom Corporation

/dts-v1/;

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

#include "bcm11351.dtsi"

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

	memory@80000000 {
		device_type = "memory";
		reg = <0x80000000 0x40000000>; /* 1 GB */
	};
};

&bsc1 {
	clock-frequency = <400000>;
	status = "okay";
};

&bsc2 {
	clock-frequency = <400000>;
	status = "okay";
};

&bsc3 {
	clock-frequency = <400000>;
	status = "okay";
};

&pmu_bsc {
	clock-frequency = <100000>;
	status = "okay";

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

&pwm {
	status = "okay";
};

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

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

&uartb {
	status = "okay";
};

&usbotg {
	vusb_d-supply = <&usbldo_reg>;
	vusb_a-supply = <&iosr1_reg>;
	status = "okay";
};

&usbphy {
	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;
		};
	};
};