[PATCH 2/2] dt: bindings: Add binding for ESP8089 wifi chips
Icenowy Zheng
icenowy at aosc.xyz
Mon Aug 8 05:42:53 PDT 2016
Hi,
08.08.2016, 15:34, "Hans de Goede" <hdegoede at redhat.com>:
> Hi,
>
> On 08-08-16 04:36, Icenowy Zheng wrote:
>> 08.08.2016, 02:58, "Hans de Goede" <hdegoede at redhat.com>:
>>> The ESP8089 chips can mostly be enumerated via their sdio interface,
>>> but they are clocked by an external crystal which may differ from one
>>> board to the other.
>>>
>>> This commit adds a binding for the sdio child node for these chips,
>>> allowing to specify the external crystal type (for now, this binding
>>> could be be extended with e.g. OOB irq support later).
>>>
>>> The Android driver for this chip uses a text file with key,value pairs
>>> which gets loaded as firmware to pass this info to the firmware.
>>> The "esp,crystal_26M_en" name is chosen to match the crystal_26M_en
>>> key-name in that text file.
>>>
>>> Note that at this point there only is an out of tree driver for this
>>> hardware, there is no clear timeline / path for merging this. Still
>>> I believe it would be good to specify the binding for this in tree
>>> now, so that any future migration to an in tree driver will not cause
>>> compatiblity issues.
>>>
>>> Cc: Icenowy Zheng <icenowy at aosc.xyz>
>>> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
>>> ---
>>> .../bindings/net/wireless/esp,esp8089.txt | 31 ++++++++++++++++++++++
>>> 1 file changed, 31 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
>>>
>>> diff --git a/Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt b/Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
>>> new file mode 100644
>>> index 0000000..898a149
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
>>> @@ -0,0 +1,31 @@
>>> +Espressif ESP8089 wireless SDIO devices
>>> +
>>> +This node provides properties for controlling the ESP8089 wireless device.
>>> +The node is expected to be specified as a child node to the SDIO controller
>>> +that connects the device to the system.
>>> +
>>> +Required properties:
>>> +
>>> + - compatible : Should be "esp,esp8089".
>> There's also esp8266. (And the difference of 8089 and 8266 is mainly the difference of crystal frequency... 26MHz for 8266, 40MHz for 8089)
>> So maybe it should be the difference of dt compatible?
>
> 2 of my tablets (both Polaroid ones) use a value of 2 (rather
> then 0 or 1) for crystal_26M_en and using a different value
> does not work. Another generic q8 form-factor tablet I've with
> an a23 needs crystal_26M_en=1. In all these tablets the chip is
> clearly marked esp8089, so the crystal_26M_en setting seems to
> not be related to the chip model and deriving this from the
> compatible string seems like a bad idea to me.
Oh such strange.
Thanks,
Icenowy
>
> Regards,
>
> Hans
>
>>> +
>>> +Optional properties:
>>> + - esp,crystal_26M_en: Integer value for the crystal_26M_en firmware parameter
>>> +
>>> +Example:
>>> +
>>> +&mmc1 {
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> +
>>> + vmmc-supply = <®_dldo1>;
>>> + mmc-pwrseq = <&wifi_pwrseq>;
>>> + bus-width = <4>;
>>> + non-removable;
>>> + status = "okay";
>>> +
>>> + esp8089: sdio_wifi at 1 {
>>> + compatible = "esp,esp8089";
>>> + reg = <1>;
>>> + esp,crystal_26M_en = <2>;
>>> + };
>>> +};
>>> --
>>> 2.7.4
More information about the linux-arm-kernel
mailing list