// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Broadcom BCM470X / BCM5301X ARM platform code.
 * DTS for Buffalo WZR-1750DHP
 *
 * Copyright (C) 2014 Rafał Miłecki <zajec5@gmail.com>
 */

/dts-v1/;

#include "bcm4708.dtsi"
#include "bcm5301x-nand-cs0-bch8.dtsi"

/ {
	compatible = "buffalo,wzr-1750dhp", "brcm,bcm4708";
	model = "Buffalo WZR-1750DHP (BCM4708)";

	chosen {
		bootargs = "console=ttyS0,115200 earlycon";
	};

	memory@0 {
		device_type = "memory";
		reg = <0x00000000 0x08000000>,
		      <0x88000000 0x18000000>;
	};

	spi {
		compatible = "spi-gpio";
		num-chipselects = <1>;
		gpio-sck = <&chipcommon 7 0>;
		gpio-mosi = <&chipcommon 4 0>;
		cs-gpios = <&chipcommon 6 0>;
		#address-cells = <1>;
		#size-cells = <0>;

		hc595: gpio_spi@0 {
			compatible = "fairchild,74hc595";
			reg = <0>;
			registers-number = <1>;
			spi-max-frequency = <100000>;

			gpio-controller;
			#gpio-cells = <2>;

		};
	};

	leds {
		compatible = "gpio-leds";

		usb {
			label = "bcm53xx:blue:usb";
			gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
			trigger-sources = <&ohci_port1>, <&ehci_port1>,
					  <&xhci_port1>, <&ohci_port2>,
					  <&ehci_port2>;
			linux,default-trigger = "usbport";
		};

		power0 {
			label = "bcm53xx:red:power";
			gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
		};

		power1 {
			label = "bcm53xx:white:power";
			gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "default-on";
		};

		router0 {
			label = "bcm53xx:blue:router";
			gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "default-on";
		};

		router1 {
			label = "bcm53xx:amber:router";
			gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
		};

		wan {
			label = "bcm53xx:blue:wan";
			gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "default-on";
		};

		wireless0 {
			label = "bcm53xx:blue:wireless";
			gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
		};

		wireless1 {
			label = "bcm53xx:amber:wireless";
			gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		button-restart {
			label = "Reset";
			linux,code = <KEY_RESTART>;
			gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
		};

		button-aoss {
			label = "AOSS";
			linux,code = <KEY_WPS_BUTTON>;
			gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
		};

		/* Commit mode set by switch? */
		button-mode {
			label = "Mode";
			linux,code = <KEY_SETUP>;
			gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
		};

		/* Switch: AP mode */
		button-sw-ap {
			label = "AP";
			linux,code = <BTN_0>;
			gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
		};

		button-eject {
			label = "USB eject";
			linux,code = <KEY_EJECTCD>;
			gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
		};
	};
};

&usb2 {
	vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
};

&usb3 {
	vcc-gpio = <&chipcommon 10 GPIO_ACTIVE_LOW>;
};

&spi_nor {
	status = "okay";
};

&usb3_phy {
	status = "okay";
};
