| ICE40 FPGA based SPI-USB bridge |
| |
| Documentation/devicetree/bindings/spi/spi-bus.txt provides the details |
| of the required and optional properties of a SPI slave device node. |
| |
| The purpose of this document is to provide the additional properties |
| that are required to use the ICE40 FPGA based SPI slave device as a |
| USB host controller. |
| |
| Required properties: |
| - compatible : should be "lattice,ice40-spi-usb" |
| - <supply-name>-supply: handle to the regulator device tree node |
| Required "supply-name" is "core-vcc" and "spi-vcc" |
| - reset-gpio: gpio used to assert the bridge chip reset |
| - config-done-gpio: gpio used to indicate the configuration status |
| - vcc-en-gpio: gpio used to enable the chip power supply |
| - pinctrl-names : List of pin configuration strings. "default" and "sleep" |
| states are supported. |
| - pinctrl-0 : Phandle of "default" pin config state |
| - pinctrl-1 : Phandle of "sleep" pin config state |
| |
| Optional properties: |
| - interrupts: IRQ lines used by this controller |
| - clocks: List of clock phandles. |
| - clock-names: List of clock names. Supported clock name string is |
| "xo" |
| - clk-en-gpio: gpio used to enable the 19.2 MHZ clock to the bridge |
| chip. If it is not present, assume that the clock is available on |
| the bridge chip board. |
| - <supply-name>-supply: handle to the regulator device tree node |
| Optional "supply-name" is "gpio" used to power up the gpio bank |
| used by this device |
| - qcom,pm-qos-latency : value in microseconds to be used by device to vote for |
| DMA latency when UICC transfers are in progress. |
| |
| spi@f9923000 { |
| lattice,spi-usb@3 { |
| compatible = "lattice,ice40-spi-usb"; |
| reg = <3>; |
| spi-max-frequency = <50000000>; |
| spi-cpol = <1>; |
| spi-cpha = <1>; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <121 0x8>; |
| core-vcc-supply = <&pm8226_l2>; |
| spi-vcc-supply = <&pm8226_l5>; |
| qcom,pm-qos-latency = <2>; |
| lattice,reset-gpio = <&msmgpio 114 0>; |
| lattice,config-done-gpio = <&msmgpio 115 0>; |
| lattice,vcc-en-gpio = <&msmgpio 117 0>; |
| |
| clocks = <&clock_rpm clk_bb_clk2_pin>; |
| clock-names = "xo"; |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&ice40_default>; |
| pinctrl-1 = <&ice40_sleep>; |
| }; |
| }; |