Kernel-4.18.0-80.el8_ts-nbus

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 = "...";

        /* ... */
    };
};