// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2014 The ChromiumOS Authors
 */

#include "qcom-ipq8064-onhub.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/soc/qcom,gsbi.h>

/ {
	model = "ASUS OnHub";
	compatible = "asus,onhub", "google,arkham", "qcom,ipq8064";
};

&qcom_pinmux {
	ap3223_pins: ap3223_pinmux {
		pins = "gpio22";
		function = "gpio";
		bias-none;
	};

	i2c7_pins: i2c7_pinmux {
		mux {
			pins = "gpio8", "gpio9";
			function = "gsbi7";
		};
		data {
			pins = "gpio8";
			bias-disable;
		};
		clk {
			pins = "gpio9";
			bias-disable;
		};
	};
};

&gsbi7 {
	status = "okay";
	qcom,mode = <GSBI_PROT_I2C_UART>;
};

&gsbi7_i2c {
	status = "okay";
	clock-frequency = <100000>;
	pinctrl-0 = <&i2c7_pins>;
	pinctrl-names = "default";

	ap3223@1c {
		compatible = "dynaimage,ap3223";
		reg = <0x1c>;

		pinctrl-0 = <&ap3223_pins>;
		pinctrl-names = "default";

		int-gpio = <&qcom_pinmux 22 GPIO_ACTIVE_LOW>;
	};

	led-controller@32 {
		compatible = "national,lp5523";
		reg = <0x32>;
		clock-mode = /bits/ 8 <1>;
		#address-cells = <1>;
		#size-cells = <0>;

		led@4 {
			reg = <4>;
			color = <LED_COLOR_ID_GREEN>;
			chan-name = "green:status";
			linux,default-trigger = "default-on";
			led-cur = /bits/ 8 <0xfa>;
			max-cur = /bits/ 8 <0xff>;
		};

		led@5 {
			reg = <5>;
			color = <LED_COLOR_ID_BLUE>;
			chan-name = "blue:status";
			led-cur = /bits/ 8 <0xfa>;
			max-cur = /bits/ 8 <0xff>;
		};

		led@8 {
			reg = <8>;
			color = <LED_COLOR_ID_RED>;
			chan-name = "red:status";
			led-cur = /bits/ 8 <0xfa>;
			max-cur = /bits/ 8 <0xff>;
		};
	};
};
