Thread (8 messages) 8 messages, 4 authors, 2016-06-02

Re: ath9k gpio request

From: Janusz Dziedzic <hidden>
Date: 2016-06-02 09:01:58
Also in: linux-next, lkml, netdev

Possibly related (same subject, not in this thread)

On 2 June 2016 at 10:02, Pan, Miaoqing [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Seems there are something wrong in the datasheet,  try
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -1122,8 +1122,8 @@ enum {
 #define AR9300_NUM_GPIO                          16
 #define AR9330_NUM_GPIO                                 16
 #define AR9340_NUM_GPIO                                 23
-#define AR9462_NUM_GPIO                                 10
-#define AR9485_NUM_GPIO                                 12
+#define AR9462_NUM_GPIO                                 14
+#define AR9485_NUM_GPIO                                 11
 #define AR9531_NUM_GPIO                                 18
 #define AR9550_NUM_GPIO                                 24
 #define AR9561_NUM_GPIO                                 23
@@ -1139,8 +1139,8 @@ enum {
 #define AR9300_GPIO_MASK                        0x0000F4FF
 #define AR9330_GPIO_MASK                        0x0000F4FF
 #define AR9340_GPIO_MASK                        0x0000000F
-#define AR9462_GPIO_MASK                        0x000003FF
-#define AR9485_GPIO_MASK                        0x00000FFF
+#define AR9462_GPIO_MASK                        0x00003FFF
+#define AR9485_GPIO_MASK                        0x000007FF
 #define AR9531_GPIO_MASK                        0x0000000F
 #define AR9550_GPIO_MASK                        0x0000000F
 #define AR9561_GPIO_MASK                        0x0000000F
Thanks, changes in reg.h solve the problem (my card AR9462 rev 01).

BR
Janusz
quoted hunk ↗ jump to hunk
Thanks,
Miaoqing

________________________________________
From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Sent: Wednesday, June 1, 2016 8:18 PM
To: Pan, Miaoqing; Kalle Valo
Cc: Stephen Rothwell; ath9k-devel; linux-next@vger.kernel.org; linux-kernel@vger.kernel.org; linux-wireless@vger.kernel.org; ath9k-devel@lists.ath9k.org; netdev@vger.kernel.org; Miaoqing Pan
Subject: Re: ath9k gpio request

On Wednesday 01 June 2016 04:42 PM, Sudip Mukherjee wrote:
quoted
On Wednesday 01 June 2016 12:24 PM, Pan, Miaoqing wrote:
quoted
which chip ?  And what's the GPIO number ?
lspci -v reports:
09:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network
Adapter (rev 01)
     Subsystem: Foxconn International, Inc. Device e052
     Flags: bus master, fast devsel, latency 0, IRQ 19
     Memory at c0500000 (64-bit, non-prefetchable) [size=512K]
     Expansion ROM at c0580000 [disabled] [size=64K]
     Capabilities: [40] Power Management version 2
     Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
     Capabilities: [70] Express Endpoint, MSI 00
     Capabilities: [100] Advanced Error Reporting
     Capabilities: [140] Virtual Channel
     Capabilities: [160] Device Serial Number 00-00-00-00-00-00-00-00
     Kernel driver in use: ath9k

Any easy way to find out the gpio number or i can modify the module to
find that out.
Its trying for GPIO 11 with label ath9k-rfkill.

The attached dmesg is with some modification as below.
diff --git a/drivers/net/wireless/ath/ath9k/hw.c
b/drivers/net/wireless/ath/ath9k/hw.c
index 8b2895f9..23deea7 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2729,14 +2729,16 @@ static void ath9k_hw_gpio_cfg_wmac(struct ath_hw
*ah, u32 gpio, bool out,
  static void ath9k_hw_gpio_request(struct ath_hw *ah, u32 gpio, bool out,
                                   const char *label, u32 ah_signal_type)
  {
-       WARN_ON(gpio >= ah->caps.num_gpio_pins);
+//     WARN_ON(gpio >= ah->caps.num_gpio_pins);
+
+       pr_err("sudip: %d %s\n", gpio, label);

         if (BIT(gpio) & ah->caps.gpio_mask)
                 ath9k_hw_gpio_cfg_wmac(ah, gpio, out, ah_signal_type);
         else if (AR_SREV_SOC(ah))
                 ath9k_hw_gpio_cfg_soc(ah, gpio, out, label);
-       else
-               WARN_ON(1);
+//     else
+//             WARN_ON(1);
  }

Regards
Sudip
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help