ice40-hcd.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. ICE40 FPGA based SPI-USB bridge
  2. Documentation/devicetree/bindings/spi/spi-bus.txt provides the details
  3. of the required and optional properties of a SPI slave device node.
  4. The purpose of this document is to provide the additional properties
  5. that are required to use the ICE40 FPGA based SPI slave device as a
  6. USB host controller.
  7. Required properties:
  8. - compatible : should be "lattice,ice40-spi-usb"
  9. - <supply-name>-supply: handle to the regulator device tree node
  10. Required "supply-name" is "core-vcc" and "spi-vcc"
  11. - reset-gpio: gpio used to assert the bridge chip reset
  12. - slave-select-gpio: gpio used to select the slave during configuration
  13. loading
  14. - config-done-gpio: gpio used to indicate the configuration status
  15. - vcc-en-gpio: gpio used to enable the chip power supply
  16. Optional properties:
  17. - interrupts: IRQ lines used by this controller
  18. - clk-en-gpio: gpio used to enable the 19.2 MHZ clock to the bridge
  19. chip. If it is not present, assume that the clock is available on
  20. the bridge chip board.
  21. - <supply-name>-supply: handle to the regulator device tree node
  22. Optional "supply-name" is "gpio" used to power up the gpio bank
  23. used by this device
  24. spi@f9923000 {
  25. lattice,spi-usb@3 {
  26. compatible = "lattice,ice40-spi-usb";
  27. reg = <3>;
  28. spi-max-frequency = <50000000>;
  29. spi-cpol = <1>;
  30. spi-cpha = <1>;
  31. interrupt-parent = <&msmgpio>;
  32. interrupts = <121 0x8>;
  33. core-vcc-supply = <&pm8226_l2>;
  34. spi-vcc-supply = <&pm8226_l5>;
  35. lattice,reset-gpio = <&msmgpio 114 0>;
  36. lattice,slave-select-gpio = <&msmgpio 118 0>;
  37. lattice,config-done-gpio = <&msmgpio 115 0>;
  38. lattice,vcc-en-gpio = <&msmgpio 117 0>;
  39. };
  40. };