2017-05-29 19:57:21 +08:00
|
|
|
* Qualcomm QCA7000
|
2014-09-27 06:21:20 +08:00
|
|
|
|
2017-05-29 19:57:21 +08:00
|
|
|
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.
|
2014-09-27 06:21:20 +08:00
|
|
|
|
|
|
|
Required properties:
|
2017-05-29 19:57:21 +08:00
|
|
|
- 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
|
2014-09-27 06:21:20 +08:00
|
|
|
|
|
|
|
Optional properties:
|
2017-05-29 19:57:21 +08:00
|
|
|
- interrupt-parent : Specify the pHandle of the source interrupt
|
2014-09-27 06:21:20 +08:00
|
|
|
- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at.
|
2017-05-29 19:57:21 +08:00
|
|
|
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:
|
2014-09-27 06:21:20 +08:00
|
|
|
|
|
|
|
/* 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 ];
|
|
|
|
};
|
|
|
|
};
|
2017-05-29 19:57:24 +08:00
|
|
|
|
|
|
|
(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>;
|
|
|
|
};
|
|
|
|
};
|