ath9k-devel.lists.ath9k.org archive mirror
 help / color / mirror / Atom feed
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
To: ath9k-devel@lists.ath9k.org
Subject: [ath9k-devel] [PATCH v6 1/3] Documentation: dt: net: add ath9k wireless device binding
Date: Fri, 9 Sep 2016 22:57:06 +0200	[thread overview]
Message-ID: <CAFBinCAOQmk3KY1b+D1iKAOEBfasYyei681cae4PbD+201mzbQ@mail.gmail.com> (raw)
In-Reply-To: <3b93ec95-ec7c-863a-06b7-fab4f2688855@rempel-privat.de>

On Fri, Sep 9, 2016 at 9:48 AM, Oleksij Rempel <linux@rempel-privat.de> wrote:
>> +Optional properties:
>> +- reg: Address and length of the register set for the device.
>> +- qca,clk-25mhz: Defines that a 25MHz clock is used
>
> Some SoCs even Atheros WiSoCs use WiFi clock for System Clock. In this
> case we need to use clock framework any way, so why not in this case too?
> Provide dummy static clock in DT and connect it with this node?
>
>         osc25m: oscillator {
>                 compatible = "fixed-clock";
>                 #clock-cells = <0>;
>                 clock-frequency = <25000000>;
>                 clock-accuracy = <30000>;
>         };
>
>         acc: clock-controller at 80040000 {
>                 compatible = "some-clock-controller";
>                 #clock-cells = <1>;
>                 clocks = <&osc25m>;
>                 reg = <0x80040000 0x204>;
>         };
>
>
> &pci0 {
>         ath9k at 168c,002d {
>                 compatible = "pci168c,002d";
>                 reg = <0x7000 0 0 0 0x1000>;
>                 clocks = <&osc25m>;
>                 qca,disable-5ghz;
>         };
> };
>
>
> driver will need to use clk_get and compare frequency instead of
> of_property_read_bool(np, "qca,clk-25mhz"). In this case you will need
> to define source clock only one time and reuse it by all affected DT
> nodes. If we have 40MHz clock you will only need to change it in
> fixed-clock.
that does sound like a good idea, thanks for that input!
However, I will remove the property for the first version because I am
trying to get PCI(e) devices supported. OF support for AHB (WiSoC)
needs more work (in other places, like ahb.c) anyways.
But this suggestion should be remembered!

>> +- qca,no-eeprom: Indicates that there is no physical EEPROM connected to the
>> +                     ath9k wireless chip (in this case the calibration /
>> +                     EEPROM data will be loaded from userspace using the
>> +                     kernel firmware loader).
>> +- qca,disable-2ghz: Overrides the settings from the EEPROM and disables the
>> +                     2.4GHz band. Setting this property is only needed
>> +                     when the RF circuit does not support the 2.4GHz band
>> +                     while it is enabled nevertheless in the EEPROM.
>> +- qca,disable-5ghz: Overrides the settings from the EEPROM and disables the
>> +                     5GHz band. Setting this property is only needed when
>> +                     the RF circuit does not support the 5GHz band while
>> +                     it is enabled nevertheless in the EEPROM.
>
> This option can be reused for every WiFi controller. Not only for qca.
> So may be instead of adding vendor specific name, make it reusable for
> all vendors. Instead of qca,disable-5ghz and qca,disable-2ghz make
> disable-5ghz and disable-2ghz?
I am personally fine with anything that fits best into the grand
scheme of things.
There are three scenarios I can think of which may be influenced by
devicetree configuration:
a) let the driver decide automatically whether the 2.4GHz and/or 5GHz
band is/are enabled
b) explicitly disable either bands (because the driver thinks due to
whatever reason that a band is supported while in reality it isn't)
c) explicitly enable a band (for example because the driver cannot
automagically detect which band should be enabled)

for ath9k we default to a) but also allow b): the EEPROM (device
specific calibration data) contains information about which bands are
enabled (or not). But some manufacturers are shipping devices for
example with the 5G band enabled, while the actual hardware doesn't
support it.

Felix' mt76 driver for example defaults to case a) but allows
overriding (= forcefully enabling or disabling) a specific band.

If we decide how this should look like in the devicetree then I can go
ahead and implement it accordingly.


Regards,
Martin


[0] https://github.com/openwrt/mt76/blob/master/eeprom.c#L79

  reply	other threads:[~2016-09-09 20:57 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-24 12:34 [ath9k-devel] [RFC v3] ath9k: add devicetree support to ath9k Martin Blumenstingl
2016-06-24 12:34 ` [ath9k-devel] [PATCH RFC v3 1/3] Documentation: dt: net: add ath9k wireless device binding Martin Blumenstingl
2016-06-27  0:20   ` Julian Calaby
2016-06-27  9:49   ` Kalle Valo
2016-06-24 12:34 ` [ath9k-devel] [PATCH v3 2/3] ath9k: add a helper to get the string representation of ath_bus_type Martin Blumenstingl
2016-06-27 10:26   ` Felix Fietkau
2016-06-29 22:37     ` Martin Blumenstingl
2016-06-24 12:34 ` [ath9k-devel] [PATCH RFC v3 3/3] ath9k: parse the device configuration from an OF node Martin Blumenstingl
2016-06-25 12:01   ` Christian Lamparter
2016-06-25 15:08     ` Martin Blumenstingl
2016-06-25 19:26       ` Christian Lamparter
2016-06-26 23:38         ` Martin Blumenstingl
2016-07-07  1:03           ` Luis R. Rodriguez
2016-07-09 23:28 ` [ath9k-devel] [PATCH v4 0/3] add devicetree support to ath9k Martin Blumenstingl
2016-07-09 23:28   ` [ath9k-devel] [PATCH v4 1/3] Documentation: dt: net: add ath9k wireless device binding Martin Blumenstingl
2016-07-10 20:52     ` Arnd Bergmann
2016-07-10 20:54       ` Martin Blumenstingl
2016-07-10 22:01         ` Arnd Bergmann
2016-07-11 21:21           ` Martin Blumenstingl
2016-07-14 12:33             ` Arnd Bergmann
2016-07-13  7:02     ` Kalle Valo
2016-07-13  7:47       ` Arnd Bergmann
2016-07-09 23:28   ` [ath9k-devel] [PATCH v4 2/3] ath9k: add a helper to get the string representation of ath_bus_type Martin Blumenstingl
2016-07-09 23:28   ` [ath9k-devel] [PATCH v4 3/3] ath9k: parse the device configuration from an OF node Martin Blumenstingl
2016-07-10  0:32     ` Bjørn Mork
2016-07-10  9:28       ` Oleksij Rempel
2016-07-10 20:56       ` Martin Blumenstingl
2016-08-21 14:31   ` [ath9k-devel] [PATCH v5 0/3] add devicetree support to ath9k Martin Blumenstingl
2016-08-21 14:31     ` [ath9k-devel] [PATCH v5 1/3] Documentation: dt: net: add ath9k wireless device binding Martin Blumenstingl
2016-08-22  9:08       ` Arnd Bergmann
2016-08-28 20:51         ` Martin Blumenstingl
2016-08-29 12:12           ` Arnd Bergmann
2016-08-21 14:31     ` [ath9k-devel] [PATCH v5 2/3] ath9k: add a helper to get the string representation of ath_bus_type Martin Blumenstingl
2016-08-21 14:31     ` [ath9k-devel] [PATCH v5 3/3] ath9k: parse the device configuration from an OF node Martin Blumenstingl
2016-09-06 21:46     ` [ath9k-devel] [PATCH v6 0/3] add devicetree support to ath9k Martin Blumenstingl
2016-09-06 21:46       ` [ath9k-devel] [PATCH v6 1/3] Documentation: dt: net: add ath9k wireless device binding Martin Blumenstingl
2016-09-09  7:48         ` Oleksij Rempel
2016-09-09 20:57           ` Martin Blumenstingl [this message]
2016-09-13  7:28             ` Oleksij Rempel
2016-09-16 12:45             ` Rob Herring
2016-09-18 21:51               ` Martin Blumenstingl
2016-09-16 12:55         ` Rob Herring
2016-09-06 21:46       ` [ath9k-devel] [PATCH v6 2/3] ath9k: add a helper to get the string representation of ath_bus_type Martin Blumenstingl
2016-09-06 21:46       ` [ath9k-devel] [PATCH v6 3/3] ath9k: parse the device configuration from an OF node Martin Blumenstingl
2016-10-02 21:47       ` [ath9k-devel] [PATCH v7 0/3] add devicetree support to ath9k Martin Blumenstingl
2016-10-02 21:47         ` [ath9k-devel] [PATCH v7 1/3] Documentation: dt: net: add ath9k wireless device binding Martin Blumenstingl
2016-10-07 12:17           ` [ath9k-devel] [v7, " Kalle Valo
2016-10-09  1:29           ` [ath9k-devel] [PATCH v7 " Rob Herring
2016-10-09  9:54             ` Martin Blumenstingl
2016-10-02 21:47         ` [ath9k-devel] [PATCH v7 2/3] ath9k: add a helper to get the string representation of ath_bus_type Martin Blumenstingl
2016-10-02 21:47         ` [ath9k-devel] [PATCH v7 3/3] ath9k: parse the device configuration from an OF node Martin Blumenstingl
2016-10-16 20:59         ` [ath9k-devel] [PATCH v8 0/3] add devicetree support to ath9k Martin Blumenstingl
2016-10-16 20:59           ` [ath9k-devel] [PATCH v8 1/3] Documentation: dt: net: add ath9k wireless device binding Martin Blumenstingl
2016-10-18 15:31             ` Rob Herring
2016-11-15 14:56             ` [ath9k-devel] [v8, " Kalle Valo
2016-10-16 20:59           ` [ath9k-devel] [PATCH v8 2/3] ath9k: add a helper to get the string representation of ath_bus_type Martin Blumenstingl
2016-10-16 20:59           ` [ath9k-devel] [PATCH v8 3/3] ath9k: parse the device configuration from an OF node Martin Blumenstingl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFBinCAOQmk3KY1b+D1iKAOEBfasYyei681cae4PbD+201mzbQ@mail.gmail.com \
    --to=martin.blumenstingl@googlemail.com \
    --cc=ath9k-devel@lists.ath9k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).