aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/dts/qca9556_avm_fritzdvbc.dts
blob: bf1c026d173b7a3b96a8315f92c66fa80632c151 (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "qca9556_avm_fritz-repeater.dtsi"

/ {
	compatible = "avm,fritzdvbc", "qca,qca9556";
	model = "AVM FRITZ!WLAN Repeater DVB-C";

	aliases {
		led-boot = &led_power;
		led-failsafe = &led_power;
		led-running = &led_power;
		led-upgrade = &led_power;
	};

	led_spi {
		compatible = "spi-gpio";
		#address-cells = <1>;
		#size-cells = <0>;

		sck-gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
		mosi-gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
		num-chipselects = <0>;

		spi_gpio: led_gpio@0 {
			compatible = "fairchild,74hc595";
			reg = <0>;
			gpio-controller;
			#gpio-cells = <2>;
			registers-number = <2>;
			spi-max-frequency = <10000000>;

			gpio_latch_bit {
				gpio-hog;
				gpios = <16 GPIO_ACTIVE_HIGH>;
				output-high;
				line-name = "gpio-latch-bit";
			};
		};
	};

	/*
	 * GPIO pins 100 or greater in the vendor GPL dump are redirected
	 * to the shift register.
	 * So OEM source pin 100 becomes 0 on the SR and so forth.
	 */
	leds {
		compatible = "gpio-leds";

		led_power: power {
			label = "green:power";
			gpios = <&spi_gpio 6 GPIO_ACTIVE_LOW>;
		};

		wlan {
			label = "green:wlan";
			gpios = <&spi_gpio 7 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "phy1tpt";
		};

		tv {
			label = "green:tv";
			gpios = <&spi_gpio 5 GPIO_ACTIVE_LOW>;
		};

		rssihigh {
			label = "green:rssihigh";
			gpios = <&spi_gpio 1 GPIO_ACTIVE_LOW>;
		};

		rssimediumhigh {
			label = "green:rssimediumhigh";
			gpios = <&spi_gpio 2 GPIO_ACTIVE_LOW>;
		};

		rssimedium {
			label = "green:rssimedium";
			gpios = <&spi_gpio 3 GPIO_ACTIVE_LOW>;
		};

		rssimediumlow {
			label = "green:rssimediumlow";
			gpios = <&spi_gpio 4 GPIO_ACTIVE_LOW>;
		};

		rssilow {
			label = "green:rssilow";
			gpios = <&spi_gpio 0 GPIO_ACTIVE_LOW>;
		};
	};
};

&pcie0 {
	status = "okay";
};

&gpio {
	reset-pcie-ep {
		gpio-hog;
		gpios = <109 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "PCIE EP reset";
	};

	reset-pcie-bus {
		gpio-hog;
		gpios = <110 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "PCIE Bus reset";
	};
};