1ec473a9cSSebastien BourdelinTechnologic Systems NBUS
2ec473a9cSSebastien Bourdelin
3ec473a9cSSebastien BourdelinThe NBUS is a bus used to interface with peripherals in the Technologic
4ec473a9cSSebastien BourdelinSystems FPGA on the TS-4600 SoM.
5ec473a9cSSebastien Bourdelin
6ec473a9cSSebastien BourdelinRequired properties :
7ec473a9cSSebastien Bourdelin - compatible		: "technologic,ts-nbus"
8ec473a9cSSebastien Bourdelin - #address-cells	: must be 1
9ec473a9cSSebastien Bourdelin - #size-cells		: must be 0
10ec473a9cSSebastien Bourdelin - pwms			: The PWM bound to the FPGA
11ec473a9cSSebastien Bourdelin - ts,data-gpios	: The 8 GPIO pins connected to the data lines on the FPGA
12ec473a9cSSebastien Bourdelin - ts,csn-gpios		: The GPIO pin connected to the csn line on the FPGA
13ec473a9cSSebastien Bourdelin - ts,txrx-gpios	: The GPIO pin connected to the txrx line on the FPGA
14ec473a9cSSebastien Bourdelin - ts,strobe-gpios	: The GPIO pin connected to the stobe line on the FPGA
15ec473a9cSSebastien Bourdelin - ts,ale-gpios		: The GPIO pin connected to the ale line on the FPGA
16ec473a9cSSebastien Bourdelin - ts,rdy-gpios		: The GPIO pin connected to the rdy line on the FPGA
17ec473a9cSSebastien Bourdelin
18ec473a9cSSebastien BourdelinChild nodes:
19ec473a9cSSebastien Bourdelin
20ec473a9cSSebastien BourdelinThe NBUS node can contain zero or more child nodes representing peripherals
21ec473a9cSSebastien Bourdelinon the bus.
22ec473a9cSSebastien Bourdelin
23ec473a9cSSebastien BourdelinExample:
24ec473a9cSSebastien Bourdelin
25ec473a9cSSebastien Bourdelin	nbus {
26ec473a9cSSebastien Bourdelin		compatible = "technologic,ts-nbus";
27ec473a9cSSebastien Bourdelin		pinctrl-0 = <&nbus_pins>;
28ec473a9cSSebastien Bourdelin		#address-cells = <1>;
29ec473a9cSSebastien Bourdelin		#size-cells = <0>;
30ec473a9cSSebastien Bourdelin		pwms = <&pwm 2 83>;
31ec473a9cSSebastien Bourdelin		ts,data-gpios   = <&gpio0 0 GPIO_ACTIVE_HIGH
32ec473a9cSSebastien Bourdelin				   &gpio0 1 GPIO_ACTIVE_HIGH
33ec473a9cSSebastien Bourdelin				   &gpio0 2 GPIO_ACTIVE_HIGH
34ec473a9cSSebastien Bourdelin				   &gpio0 3 GPIO_ACTIVE_HIGH
35ec473a9cSSebastien Bourdelin				   &gpio0 4 GPIO_ACTIVE_HIGH
36ec473a9cSSebastien Bourdelin				   &gpio0 5 GPIO_ACTIVE_HIGH
37ec473a9cSSebastien Bourdelin				   &gpio0 6 GPIO_ACTIVE_HIGH
38ec473a9cSSebastien Bourdelin				   &gpio0 7 GPIO_ACTIVE_HIGH>;
39ec473a9cSSebastien Bourdelin		ts,csn-gpios    = <&gpio0 16 GPIO_ACTIVE_HIGH>;
40ec473a9cSSebastien Bourdelin		ts,txrx-gpios   = <&gpio0 24 GPIO_ACTIVE_HIGH>;
41ec473a9cSSebastien Bourdelin		ts,strobe-gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
42ec473a9cSSebastien Bourdelin		ts,ale-gpios    = <&gpio0 26 GPIO_ACTIVE_HIGH>;
43ec473a9cSSebastien Bourdelin		ts,rdy-gpios    = <&gpio0 21 GPIO_ACTIVE_HIGH>;
44ec473a9cSSebastien Bourdelin
45ec473a9cSSebastien Bourdelin		watchdog@2a {
46ec473a9cSSebastien Bourdelin			compatible = "...";
47ec473a9cSSebastien Bourdelin
48ec473a9cSSebastien Bourdelin			/* ... */
49ec473a9cSSebastien Bourdelin		};
50ec473a9cSSebastien Bourdelin	};
51