Technologic Systems NBUS

The NBUS is a bus used to interface with peripherals in the Technologic
Systems FPGA on the TS-4600 SoM.

Required properties :
 - compatible		: "technologic,ts-nbus"
 - #address-cells	: must be 1
 - #size-cells		: must be 0
 - pwms			: The PWM bound to the FPGA
 - ts,data-gpios	: The 8 GPIO pins connected to the data lines on the FPGA
 - ts,csn-gpios		: The GPIO pin connected to the csn line on the FPGA
 - ts,txrx-gpios	: The GPIO pin connected to the txrx line on the FPGA
 - ts,strobe-gpios	: The GPIO pin connected to the stobe line on the FPGA
 - ts,ale-gpios		: The GPIO pin connected to the ale line on the FPGA
 - ts,rdy-gpios		: The GPIO pin connected to the rdy line on the FPGA

Child nodes:

The NBUS node can contain zero or more child nodes representing peripherals
on the bus.

Example:

	nbus {
		compatible = "technologic,ts-nbus";
		pinctrl-0 = <&nbus_pins>;
		#address-cells = <1>;
		#size-cells = <0>;
		pwms = <&pwm 2 83>;
		ts,data-gpios   = <&gpio0 0 GPIO_ACTIVE_HIGH
				   &gpio0 1 GPIO_ACTIVE_HIGH
				   &gpio0 2 GPIO_ACTIVE_HIGH
				   &gpio0 3 GPIO_ACTIVE_HIGH
				   &gpio0 4 GPIO_ACTIVE_HIGH
				   &gpio0 5 GPIO_ACTIVE_HIGH
				   &gpio0 6 GPIO_ACTIVE_HIGH
				   &gpio0 7 GPIO_ACTIVE_HIGH>;
		ts,csn-gpios    = <&gpio0 16 GPIO_ACTIVE_HIGH>;
		ts,txrx-gpios   = <&gpio0 24 GPIO_ACTIVE_HIGH>;
		ts,strobe-gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
		ts,ale-gpios    = <&gpio0 26 GPIO_ACTIVE_HIGH>;
		ts,rdy-gpios    = <&gpio0 21 GPIO_ACTIVE_HIGH>;

		watchdog@2a {
			compatible = "...";

			/* ... */
		};
	};
