| * Qualcomm QCA7000 | |
| The QCA7000 is a serial-to-powerline bridge with a host interface which could | |
| be configured either as SPI or UART slave. This configuration is done by | |
| the QCA7000 firmware. | |
| (a) Ethernet over SPI | |
| In order to use the QCA7000 as SPI device it must be defined as a child of a | |
| SPI master in the device tree. | |
| Required properties: | |
| - compatible : Should be "qca,qca7000" | |
| - reg : Should specify the SPI chip select | |
| - interrupts : The first cell should specify the index of the source | |
| interrupt and the second cell should specify the trigger | |
| type as rising edge | |
| - spi-cpha : Must be set | |
| - spi-cpol : Must be set | |
| Optional properties: | |
| - interrupt-parent : Specify the pHandle of the source interrupt | |
| - spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at. | |
| Numbers smaller than 1000000 or greater than 16000000 | |
| are invalid. Missing the property will set the SPI | |
| frequency to 8000000 Hertz. | |
| - local-mac-address : see ./ethernet.txt | |
| - qca,legacy-mode : Set the SPI data transfer of the QCA7000 to legacy mode. | |
| In this mode the SPI master must toggle the chip select | |
| between each data word. In burst mode these gaps aren't | |
| necessary, which is faster. This setting depends on how | |
| the QCA7000 is setup via GPIO pin strapping. If the | |
| property is missing the driver defaults to burst mode. | |
| SPI Example: | |
| /* Freescale i.MX28 SPI master*/ | |
| ssp2: spi@80014000 { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| compatible = "fsl,imx28-spi"; | |
| pinctrl-names = "default"; | |
| pinctrl-0 = <&spi2_pins_a>; | |
| qca7000: ethernet@0 { | |
| compatible = "qca,qca7000"; | |
| reg = <0x0>; | |
| interrupt-parent = <&gpio3>; /* GPIO Bank 3 */ | |
| interrupts = <25 0x1>; /* Index: 25, rising edge */ | |
| spi-cpha; /* SPI mode: CPHA=1 */ | |
| spi-cpol; /* SPI mode: CPOL=1 */ | |
| spi-max-frequency = <8000000>; /* freq: 8 MHz */ | |
| local-mac-address = [ A0 B0 C0 D0 E0 F0 ]; | |
| }; | |
| }; | |
| (b) Ethernet over UART | |
| In order to use the QCA7000 as UART slave it must be defined as a child of a | |
| UART master in the device tree. It is possible to preconfigure the UART | |
| settings of the QCA7000 firmware, but it's not possible to change them during | |
| runtime. | |
| Required properties: | |
| - compatible : Should be "qca,qca7000" | |
| Optional properties: | |
| - local-mac-address : see ./ethernet.txt | |
| - current-speed : current baud rate of QCA7000 which defaults to 115200 | |
| if absent, see also ../serial/slave-device.txt | |
| UART Example: | |
| /* Freescale i.MX28 UART */ | |
| auart0: serial@8006a000 { | |
| compatible = "fsl,imx28-auart", "fsl,imx23-auart"; | |
| reg = <0x8006a000 0x2000>; | |
| pinctrl-names = "default"; | |
| pinctrl-0 = <&auart0_2pins_a>; | |
| qca7000: ethernet { | |
| compatible = "qca,qca7000"; | |
| local-mac-address = [ A0 B0 C0 D0 E0 F0 ]; | |
| current-speed = <38400>; | |
| }; | |
| }; |