aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/dts/spw303v.dts
blob: 0040540a49f187f29ede1312c04d94536178cbd5 (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
pre { line-height: 125%; margin: 0; }
td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
span.linenos.special { color: #000000; background-color: #ffffc
/dts-v1/;

#include "bcm6358.dtsi"

#include <dt-bindings/input/input.h>

/ {
	model = "T-Com Speedport W303 V";
	compatible = "t-com,spw303v", "brcm,bcm6358";

	chosen {
		bootargs = "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200";
	};

	gpio-keys-polled {
		compatible = "gpio-keys-polled";
		#address-cells = <1>;
		#size-cells = <0>;
		poll-interval = <20>;
		debounce-interval = <60>;

		reset {
			label = "reset";
			gpios = <&pinctrl 11 0>;
			linux,code = <KEY_RESTART>;
		};
		ses {
			label = "ses";
			gpios = <&pinctrl 37 1>;
			linux,code = <KEY_WPS_BUTTON>;
		};
	};

	gpio-leds {
		compatible = "gpio-leds";

		ses_green {
			label = "spw303v:green:ses";
			gpios = <&pinctrl 0 1>;
		};
		power_adsl_red {
			label = "spw303v:red:power+adsl";
			gpios = <&pinctrl 2 1>;
		};
		ppp_green {
			label = "spw303v:green:ppp";
			gpios = <&pinctrl 5 1>;
		};
		power_adsl_green {
			label = "spw303v:green:power+adsl";
			gpios = <&pinctrl 22 1>;
			default-state = "on";
		};
		voip_green {
			label = "spw303v:green:voip";
			gpios = <&pinctrl 27 1>;
		};
		pots_green {
			label = "spw303v:green:pots";
			gpios = <&pinctrl 31 1>;
		};
	};
};

&pflash {
	status = "ok";

	linux,part-probe = "bcm63xxpart";

	cfe@0 {
		label = "CFE";
		reg = <0x000000 0x010000>;
		read-only;
	};

	linux@10000 {
		label = "linux";
		reg = <0x010000 0x7e0000>;
	};

	nvram@7f0000 {
		label = "nvram";
		reg = <0x7f0000 0x010000>;
	};
};
ass="p">, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) { i2c_address = devaddr; i2cStart(&I2C_DRIVER, &i2cconfig); uint8_t complete_packet[length + 1]; for(uint8_t i = 0; i < length; i++) { complete_packet[i+1] = data[i]; } complete_packet[0] = regaddr; return i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), complete_packet, length + 1, 0, 0, MS2ST(timeout)); } uint8_t i2c_readReg(uint8_t devaddr, uint8_t* regaddr, uint8_t* data, uint16_t length, uint16_t timeout) { i2c_address = devaddr; i2cStart(&I2C_DRIVER, &i2cconfig); return i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), regaddr, 1, data, length, MS2ST(timeout)); } uint8_t i2c_stop(void) { i2cStop(&I2C_DRIVER); return 0; }