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