~funderscore blog cgit wiki get in touch
aboutsummaryrefslogtreecommitdiff
blob: 444c249863cbc2fec9ee409e26ad703f80893ada (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2019 BayLibre SAS. All rights reserved.
 * Author: Jerome Brunet <jbrunet@baylibre.com>
 */

/dts-v1/;

#include "meson-gxm.dtsi"
#include "meson-gx-libretech-pc.dtsi"

/ {
	compatible = "libretech,aml-s912-pc", "amlogic,s912",
		     "amlogic,meson-gxm";
	model = "Libre Computer AML-S912-PC";

	typec2_vbus: regulator-typec2_vbus {
		compatible = "regulator-fixed";
		regulator-name = "TYPEC2_VBUS";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vcc5v>;

		gpio = <&gpio GPIODV_1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};
};

&pinctrl_periphs {
	/*
	 * Make sure the irq pin of the TYPE C controller is not driven
	 * by the SoC.
	 */
	fusb302_irq_pins: fusb302_irq {
		mux {
			groups = "GPIODV_0";
			function = "gpio_periphs";
			bias-pull-up;
			output-disable;
		};
	};
};

&i2c_C {
	fusb302@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;

		pinctrl-0 = <&fusb302_irq_pins>;
		pinctrl-names = "default";
		interrupt-parent = <&gpio_intc>;
		interrupts = <59 IRQ_TYPE_LEVEL_LOW>;

		vbus-supply = <&typec2_vbus>;

		status = "okay";
	};
};

&usb2_phy2 {
	phy-supply = <&typec2_vbus>;
};