Hi Rob, Am 22.03.2017 um 21:32 schrieb Rob Herring: > On Mon, Mar 13, 2017 at 11:16 AM, Stefan Wahren <stefan.wahren@xxxxxxxx> wrote: >> Hi Rob, >> >> since serdev has been merged, i'm currently working on a >> suitable ethernet driver for the QCA7000 [1]. In order to provide a plug >> and play solution for the network interface i suggest the following >> binding, which uses common properties for UART configuration: >> >> * Qualcomm QCA7000 (Ethernet over UART protocol) >> >> Note: The QCA7000 is also useable as a UART slave device. > Should this be s/UART/SPI/ ? i rewrote this note in my second version below. > >> Required properties: >> - compatible : Should be "qca,qca7000-uart" >> >> Optional properties: >> - local-mac-address : 6 bytes, Specifies MAC address >> - current-speed : Specifies current serial device speed in >> bits per second (default = 115200) >> - data-bits : Specifies number of data bits (default = 8) >> - use-parity : If present, this enables the parity >> error detection (default = off) >> - odd-parity : If present, this specifies that the parity >> of each character must be odd (default = even) >> >> 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>; >> status = "okay"; >> >> qca7000: ethernet { >> compatible = "qca,qca7000-uart"; >> local-mac-address = [ A0 B0 C0 D0 E0 F0 ]; >> current-speed = <38400>; > Unless this device supports auto-baud (generally only AT command set > devices do), this is setup by a bootloader (and you have no way to > reset the device), or the speed changes with different firmware, I > don't think you should need this. Devices typically have a fixed, > initial baudrate that is known, so the driver should know it. Unfortunately the QCA7000 firmware can be freely preconfigured to a fixed baudrate and there is no way to determine, because Ethernet frames are send nearly directly to the UART and vice versa. I agree this isn't best practice. >> data-bits = <8>; > Nearly everything uses 8 bits, so this should be the default. I will drop it completly. > >> use-parity; >> odd-parity; > I don't think we need 2 properties here. "even-parity" and > "odd-parity" booleans should be enough to enable and set parity type. Your suggestion is better, but it's possible to define wrongly both which isn't nice per design. Anyway i decide to drop this, too. So it could be implemented later. So here is the new version: * Qualcomm QCA7000 (Ethernet over UART protocol) Note: This binding applies in case the QCA7000 is configured as a UART slave device. It is possible to preconfigure the UART settings of the QCA7000 firmware, which can't be changed during runtime. Required properties: - compatible : Should be "qca,qca7000-uart" Optional properties: - local-mac-address : 6 bytes, Specifies MAC address - current-speed : Specifies the serial device speed in bits per second (default = 115200), which is predefined by the QCA7000 firmware configuration 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>; status = "okay"; qca7000: ethernet { compatible = "qca,qca7000-uart"; local-mac-address = [ A0 B0 C0 D0 E0 F0 ]; current-speed = <38400>; }; }; -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html