#include "armada-388-clearfog-base.dts"

&w25q32 {
	status = "okay";
	/* The chip itself is rated up to 50MHz for regular reads, 60MHz for
	 * all other transactions, but somehow the mere presence of the
	 * MAX14830 EV board breaks these transfers. Changing the speed all the
	 * way down to 100kHz doesn't help. */
};

/ {
	clocks {
		spi_uart_clk: osc_max14830 {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <3686400>;
		};
	};

	soc {
		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
			MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
			MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
			MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
			MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000
			/* all above is from the upstream DTS */

			/* maybe-default mappings for SPI1 CS0 from the datasheet */
			MBUS_ID(0x01, 0x1a) 0 0xd4000000 0x4000000
			/* SPI1 CS1 */
			MBUS_ID(0x01, 0x5a) 0 0xd8000000 0x4000000
			/* SPI1 CS2 */
			MBUS_ID(0x01, 0x9a) 0 0xd0000000 0x4000000
			>;

		internal-regs {
			sdhci@d8000 {
				/delete-property/ cd-gpios;
				broken-cd;
			};
		};
	};

	gpio_i2c {
		compatible = "i2c-gpio";
		sda-gpios = <&gpio0 25 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		scl-gpios = <&gpio0 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		i2c-gpio.delay-us = <1>;
		#address-cells = <1>;
		#size-cells = <0>;
	};
};

&uart1_pins {
	status = "disabled";
};

&uart1 {
	status = "disabled";
};

&gpio1 {
	mikrobus_pwm {
		/* MPP54: this needs an external pull-up */
		gpio-hog;
		gpios = <22 GPIO_ACTIVE_HIGH>;
		input;
		line-name = "MAX14830-MCP23S17-int";
	};
};

&gpio0 {
	gpio_cs {
		gpio-hog;
		gpios = <22 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "MCP23S17-CS";
	};
};

&spi1 {
	reg = <MBUS_ID(0xf0, 0x01) 0x10680 0x50> /* control */
		, <MBUS_ID(0x01, 0x1a) 0 0xffffffff> /* CS0 */
		, <0>
		/* <MBUS_ID(0x01, 0x5a) 0 0xffffffff>
		We're using CS GPIO which doesn't play well with the direct mode at all */
		, <MBUS_ID(0x01, 0x9a) 0 0xffffffff> /* CS2 */
		, <MBUS_ID(0x01, 0xda) 0 0xffffffff> /* CS3 */
		;

	cs-gpios = <0>, <&gpio0 22 GPIO_ACTIVE_HIGH>, <0>;

	max14830: max14830@2 {
		compatible = "maxim,max14830";
		reg = <2>;
		clocks = <&spi_uart_clk>;
		clock-names = "xtal";
		interrupt-parent = <&gpio1>;
		interrupts = <22 IRQ_TYPE_LEVEL_LOW>;
		gpio-controller;
		#gpio-cells = <2>;
		spi-max-frequency = <26000000>;
	};

	gpio_spi_chips: gpio@1 {
		compatible = "microchip,mcp23s17";
		reg = <1>;
		interrupt-parent = <&gpio1>;
		interrupts = <22 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;
		#interrupt-cells = <2>;
		gpio-controller;
		#gpio-cells = <2>;
		microchip,spi-present-mask = <0x06>; /* extra addresses 1 and 2 */
		microchip,irq-mirror;
		microchip,irq-open-drain;
		spi-max-frequency = <10000000>;
	};
};
