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