[PATCH 2/2] dt: bindings: Add binding for ESP8089 wifi chips

Hans de Goede hdegoede at redhat.com
Mon Aug 8 00:34:06 PDT 2016


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.

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 = <&reg_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