// SPDX-License-Identifier: GPL-2.0-only
/*
 *  Copyright (C) 2012 Marvell Technology Group Ltd.
 *  Author: Haojian Zhuang <haojian.zhuang@marvell.com>
 */

/dts-v1/;
#include "mmp2.dtsi"

/ {
	model = "Marvell MMP2 Brownstone Development Board";
	compatible = "mrvl,mmp2-brownstone", "mrvl,mmp2";

	chosen {
		bootargs = "console=ttyS2,38400 root=/dev/nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on";
	};

	memory {
		device_type = "memory";
		reg = <0x00000000 0x08000000>;
	};

	soc {
		apb@d4000000 {
			uart3: uart@d4018000 {
				status = "okay";
			};
			twsi1: i2c@d4011000 {
				status = "okay";
				pmic: max8925@3c {
					compatible = "maxium,max8925";
					reg = <0x3c>;
					interrupts = <1>;
					interrupt-parent = <&intcmux4>;
					interrupt-controller;
					#interrupt-cells = <1>;
					maxim,tsc-irq = <0>;

					regulators {
						SDV1 {
							regulator-min-microvolt = <637500>;
							regulator-max-microvolt = <1425000>;
							regulator-boot-on;
							regulator-always-on;
						};
						SDV2 {
							regulator-min-microvolt = <650000>;
							regulator-max-microvolt = <2225000>;
							regulator-boot-on;
							regulator-always-on;
						};
						SDV3 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO1 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO2 {
							regulator-min-microvolt = <650000>;
							regulator-max-microvolt = <2250000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO3 {
							regulator-min-microvolt = <650000>;
							regulator-max-microvolt = <2250000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO4 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO5 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO6 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO7 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO8 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO9 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO10 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
						};
						LDO11 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO12 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO13 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO14 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO15 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO16 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO17 {
							regulator-min-microvolt = <650000>;
							regulator-max-microvolt = <2250000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO18 {
							regulator-min-microvolt = <650000>;
							regulator-max-microvolt = <2250000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO19 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
						LDO20 {
							regulator-min-microvolt = <750000>;
							regulator-max-microvolt = <3900000>;
							regulator-boot-on;
							regulator-always-on;
						};
					};
					backlight {
						maxim,max8925-dual-string = <0>;
					};
					charger {
						batt-detect = <0>;
						topoff-threshold = <1>;
						fast-charge = <7>;
						no-temp-support = <0>;
						no-insert-detect = <0>;
					};
				};
			};
			rtc: rtc@d4010000 {
				status = "okay";
			};
		};
	};
};
