// SPDX-License-Identifier: GPL-2.0
/*
 * support for the bosch am335x based shc c3 board
 *
 * Copyright, C) 2015 Heiko Schocher <hs@denx.de>
 *
 */
/dts-v1/;

#include "am33xx.dtsi"
#include <dt-bindings/input/input.h>

/ {
	model = "Bosch SHC";
	compatible = "ti,am335x-shc", "ti,am335x-bone", "ti,am33xx";

	aliases {
		mmcblk0 = &mmc1;
		mmcblk1 = &mmc2;
	};

	cpus {
		cpu@0 {
			/*
			 * To consider voltage drop between PMIC and SoC,
			 * tolerance value is reduced to 2% from 4% and
			 * voltage value is increased as a precaution.
			 */
			operating-points = <
				/* kHz    uV */
				594000  1225000
				294000  1125000
			>;
			voltage-tolerance = <2>; /* 2 percentage */
			cpu0-supply = <&dcdc2_reg>;
		};
	};

	gpio_keys {
		compatible = "gpio-keys";

		back_button {
			label = "Back Button";
			gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>;
			linux,code = <KEY_BACK>;
			debounce-interval = <1000>;
			wakeup-source;
		};

		front_button {
			label = "Front Button";
			gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>;
			linux,code = <KEY_FRONT>;
			debounce-interval = <1000>;
			wakeup-source;
		};
	};

	leds {
		pinctrl-names = "default";
		pinctrl-0 = <&user_leds_s0>;

		compatible = "gpio-leds";

		led1 {
			label = "shc:power:red";
			gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		led2 {
			label = "shc:power:bl";
			gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "timer";
			default-state = "on";
		};

		led3 {
			label = "shc:lan:red";
			gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		led4 {
			label = "shc:lan:bl";
			gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		led5 {
			label = "shc:cloud:red";
			gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		led6 {
			label = "shc:cloud:bl";
			gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x80000000 0x20000000>; /* 512 MB */
	};

	vmmcsd_fixed: fixedregulator0 {
		compatible = "regulator-fixed";
		regulator-name = "vmmcsd_fixed";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
};

&aes {
	status = "okay";
};

&cppi41dma  {
	status = "okay";
};

&davinci_mdio {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&davinci_mdio_default>;
	pinctrl-1 = <&davinci_mdio_sleep>;
	status = "okay";

	ethernetphy0: ethernet-phy@0 {
		reg = <0>;
		smsc,disable-energy-detect;
	};
};

&epwmss1 {
	status = "okay";

	ehrpwm1: pwm@200 {
		pinctrl-names = "default";
		pinctrl-0 = <&ehrpwm1_pins>;
		status = "okay";
	};
};

&gpio1 {
	hmtc_rst {
		gpio-hog;
		gpios = <24 GPIO_ACTIVE_LOW>;
		output-high;
		line-name = "homematic_reset";
	};

	hmtc_prog {
		gpio-hog;
		gpios = <27 GPIO_ACTIVE_LOW>;
		output-high;
		line-name = "homematic_program";
	};
};

&gpio3 {
	zgb_rst {
		gpio-hog;
		gpios = <18 GPIO_ACTIVE_LOW>;
		output-low;
		line-name = "zigbee_reset";
	};

	zgb_boot {
		gpio-hog;
		gpios = <19 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "zigbee_boot";
	};
};

&i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&i2c0_pins>;
	status = "okay";
	clock-frequency = <400000>;

	tps: tps@24 {
		reg = <0x24>;
	};

	at24@50 {
		compatible = "atmel,24c32";
		pagesize = <32>;
		reg = <0x50>;
	};

	pcf8563@51 {
		compatible = "nxp,pcf8563";
		reg = <0x51>;
	};
};

&mac {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&cpsw_default>;
	pinctrl-1 = <&cpsw_sleep>;
	status = "okay";
	slaves = <1>;
	cpsw_emac0: slave@200 {
		phy-mode = "mii";
		phy-handle = <&ethernetphy0>;
	};
};

&mmc1 {
	pinctrl-names = "default";
	pinctrl-0 = <&mmc1_pins>;
	bus-width = <0x4>;
	cd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
	cd-inverted;
	max-frequency = <26000000>;
	vmmc-supply = <&vmmcsd_fixed>;
	status = "okay";
};

&mmc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&emmc_pins>;
	bus-width = <8>;
	max-frequency = <26000000>;
	sd-uhs-sdr25;
	vmmc-supply = <&vmmcsd_fixed>;
	status = "okay";
};

&mmc3 {
	pinctrl-names = "default";
	pinctrl-0 = <&mmc3_pins>;
	bus-width = <4>;
	cap-power-off-card;
	max-frequency = <26000000>;
	sd-uhs-sdr25;
	vmmc-supply = <&vmmcsd_fixed>;
	status = "okay";
};

&rtc {
	ti,no-init;
};

&sham {
	status = "okay";
};

&tps {
	compatible = "ti,tps65217";
	ti,pmic-shutdown-controller;

	regulators {
		#address-cells = <1>;
		#size-cells = <0>;

		dcdc1_reg: regulator@0 {
			reg = <0>;
			regulator-name = "vdds_dpr";
			regulator-compatible = "dcdc1";
			regulator-min-microvolt = <1300000>;
			regulator-max-microvolt = <1450000>;
			regulator-boot-on;
			regulator-always-on;
		};

		dcdc2_reg: regulator@1 {
			reg = <1>;
			/*
			 * VDD_MPU voltage limits 0.95V - 1.26V with
			 * +/-4% tolerance
			 */
			regulator-compatible = "dcdc2";
			regulator-name = "vdd_mpu";
			regulator-min-microvolt = <925000>;
			regulator-max-microvolt = <1375000>;
			regulator-boot-on;
			regulator-always-on;
			regulator-ramp-delay = <70000>;
		};

		dcdc3_reg: regulator@2 {
			reg = <2>;
			/*
			 * VDD_CORE voltage limits 0.95V - 1.1V with
			 * +/-4% tolerance
			 */
			regulator-name = "vdd_core";
			regulator-compatible = "dcdc3";
			regulator-min-microvolt = <925000>;
			regulator-max-microvolt = <1125000>;
			regulator-boot-on;
			regulator-always-on;
		};

		ldo1_reg: regulator@3 {
			reg = <3>;
			regulator-name = "vio,vrtc,vdds";
			regulator-compatible = "ldo1";
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on;
		};

		ldo2_reg: regulator@4 {
			reg = <4>;
			regulator-name = "vdd_3v3aux";
			regulator-compatible = "ldo2";
			regulator-min-microvolt = <900000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};

		ldo3_reg: regulator@5 {
			reg = <5>;
			regulator-name = "vdd_1v8";
			regulator-compatible = "ldo3";
			regulator-min-microvolt = <900000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on;
		};

		ldo4_reg: regulator@6 {
			reg = <6>;
			regulator-name = "vdd_3v3a";
			regulator-compatible = "ldo4";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};
	};
};

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_pins>;
	status = "okay";
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart1_pins>;
	status = "okay";
};

&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart2_pins>;
	status = "okay";
};

&uart4 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart4_pins>;
	status = "okay";
};

&usb {
	status = "okay";
};

&usb_ctrl_mod {
	status = "okay";
};

&usb1_phy {
	status = "okay";
};

&usb1 {
	status = "okay";
	dr_mode = "host";
};

&am33xx_pinmux {
	pinctrl-names = "default";
	pinctrl-0 = <&clkout2_pin>;

	clkout2_pin: pinmux_clkout2_pin {
		pinctrl-single,pins = <
			/* xdma_event_intr1.clkout2 */
			AM33XX_IOPAD(0x9b4, PIN_INPUT | MUX_MODE6)
		>;
	};

	cpsw_default: cpsw_default {
		pinctrl-single,pins = <
			/* Slave 1 */
			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE0)
			AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE0)
		>;
	};

	cpsw_sleep: cpsw_sleep {
		pinctrl-single,pins = <
			/* Slave 1 reset value */
			AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x92c, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7)
		>;
	};

	davinci_mdio_default: davinci_mdio_default {
		pinctrl-single,pins = <
			/* mdio_data.mdio_data */
			AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)
			/* mdio_clk.mdio_clk */
			AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)
		>;
	};

	davinci_mdio_sleep: davinci_mdio_sleep {
		pinctrl-single,pins = <
			/* MDIO reset value */
			AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
		>;
	};

	ehrpwm1_pins: pinmux_ehrpwm1 {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x84c, PIN_OUTPUT | MUX_MODE6) /* gpmc_a3.gpio1_19 */
		>;
	};

	emmc_pins: pinmux_emmc_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x880, PIN_INPUT | MUX_MODE2)
			AM33XX_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2)
			AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1)
			AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1)
			AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1)
			AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1)
			AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE1)
			AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE1)
			AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE1)
			AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE1)
		>;
	};

	i2c0_pins: pinmux_i2c0_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x988, PIN_INPUT | MUX_MODE0)
			AM33XX_IOPAD(0x98c, PIN_INPUT | MUX_MODE0)
		>;
	};

	mmc1_pins: pinmux_mmc1_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x960, PIN_INPUT | MUX_MODE5)
		>;
	};

	mmc3_pins: pinmux_mmc3_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x830, PIN_INPUT | MUX_MODE3)
			AM33XX_IOPAD(0x834, PIN_INPUT | MUX_MODE3)
			AM33XX_IOPAD(0x838, PIN_INPUT | MUX_MODE3)
			AM33XX_IOPAD(0x83c, PIN_INPUT | MUX_MODE3)
			AM33XX_IOPAD(0x888, PIN_INPUT | MUX_MODE3)
			AM33XX_IOPAD(0x88c, PIN_INPUT | MUX_MODE3)
		>;
	};

	uart0_pins: pinmux_uart0_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x968, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x96c, PIN_OUTPUT | MUX_MODE0)
			AM33XX_IOPAD(0x970, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x974, PIN_OUTPUT | MUX_MODE0)
		>;
	};

	uart1_pins: pinmux_uart1 {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x978, PIN_INPUT_PULLDOWN | MUX_MODE0)
			AM33XX_IOPAD(0x97C, PIN_OUTPUT | MUX_MODE0)
			AM33XX_IOPAD(0x980, PIN_INPUT | MUX_MODE0)
			AM33XX_IOPAD(0x984, PIN_OUTPUT | MUX_MODE0)
		>;
	};

	uart2_pins: pinmux_uart2_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x950, PIN_INPUT | MUX_MODE1)
			AM33XX_IOPAD(0x954, PIN_OUTPUT | MUX_MODE1)
		>;
	};

	uart4_pins: pinmux_uart4_pins {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE6)
			AM33XX_IOPAD(0x874, PIN_OUTPUT_PULLUP | MUX_MODE6)
		>;
	};

	user_leds_s0: user_leds_s0 {
		pinctrl-single,pins = <
			AM33XX_IOPAD(0x820, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x824, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x828, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x840, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x844, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x848, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x854, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x858, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x85c, PIN_OUTPUT_PULLUP | MUX_MODE7)
			AM33XX_IOPAD(0x860, PIN_INPUT | MUX_MODE7)
			AM33XX_IOPAD(0x864, PIN_INPUT | MUX_MODE7)
			AM33XX_IOPAD(0x868, PIN_INPUT | MUX_MODE7)
			AM33XX_IOPAD(0x86c, PIN_INPUT | MUX_MODE7)
			AM33XX_IOPAD(0x878, PIN_OUTPUT_PULLUP | MUX_MODE7)
			AM33XX_IOPAD(0x87c, PIN_INPUT | MUX_MODE7)
			AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x894, PIN_INPUT | MUX_MODE7)
			AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x958, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x95c, PIN_OUTPUT | MUX_MODE7)
			AM33XX_IOPAD(0x964, PIN_OUTPUT_PULLUP | MUX_MODE7)
			AM33XX_IOPAD(0x9a0, PIN_OUTPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x9a4, PIN_OUTPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x9a8, PIN_INPUT_PULLDOWN | MUX_MODE7)
			AM33XX_IOPAD(0x9ac, PIN_INPUT_PULLUP | MUX_MODE7)
		>;
	};
};
