linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Edward Matijević" <motolav@gmail.com>
To: hauke@hauke-m.de
Cc: linux-mips@vger.kernel.org
Subject: [PATCH] MIPS: BCM47XX: Add support for Netgear R6200 V1
Date: Mon, 17 Jun 2019 00:26:46 -0500	[thread overview]
Message-ID: <6e003471-e7bd-6e0a-c00c-7de5e1b01428@gmail.com> (raw)

The Netgear R6200 v1 uses a BCM4718A1 SOC and a BCM4352/BCM4360 for 5GHz wireless.
This patch adds support for detecting this model board and registers the 3 buttons.
I have tested that the device can boot kernels 4.14 and 4.19 under OpenWRT.

There is one issue that the LEDs on the device are controlled by a 74HC164 that uses bit-banging instead of SPI so it isn't accessible to the kernel without adding a workaround.
Without any workaround the device on boot will flash all LEDs once then the power LED will remain amber as all other LEDs stay off.

I placed my change in board.c in that location because in OpenWRT it would be above the R6300 V1 in one of their patches.

Signed-off-by: Edward Matijevic <motolav@gmail.com>
---
 arch/mips/bcm47xx/board.c                          | 1  +
 arch/mips/bcm47xx/buttons.c                        | 10 ++++++++++
 arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1  +
 3 files changed, 12 insertions(+)

--- a/arch/mips/bcm47xx/board.c
+++ b/arch/mips/bcm47xx/board.c
@@ -163,6 +163,7 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_board_id[] __initconst = {
     {{BCM47XX_BOARD_NETGEAR_WGR614V8, "Netgear WGR614 V8"}, "U12H072T00_NETGEAR"},
     {{BCM47XX_BOARD_NETGEAR_WGR614V9, "Netgear WGR614 V9"}, "U12H094T00_NETGEAR"},
     {{BCM47XX_BOARD_NETGEAR_WGR614_V10, "Netgear WGR614 V10"}, "U12H139T01_NETGEAR"},
+    {{BCM47XX_BOARD_NETGEAR_R6200_V1, "Netgear R6200 V1"}, "U12H192T00_NETGEAR"},
     {{BCM47XX_BOARD_NETGEAR_WNDR3300, "Netgear WNDR3300"}, "U12H093T00_NETGEAR"},
     {{BCM47XX_BOARD_NETGEAR_WNDR3400V1, "Netgear WNDR3400 V1"}, "U12H155T00_NETGEAR"},
     {{BCM47XX_BOARD_NETGEAR_WNDR3400V2, "Netgear WNDR3400 V2"}, "U12H187T00_NETGEAR"},
--- a/arch/mips/bcm47xx/buttons.c
+++ b/arch/mips/bcm47xx/buttons.c
@@ -384,6 +384,13 @@ bcm47xx_buttons_motorola_wr850gv2v3[] __initconst = {
 
 /* Netgear */
 
+static const struct gpio_keys_button
+bcm47xx_buttons_netgear_r6200_v1[] __initconst = {
+    BCM47XX_GPIO_KEY(2, KEY_RFKILL),
+    BCM47XX_GPIO_KEY(3, KEY_RESTART),
+    BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
+};
+
 static const struct gpio_keys_button
 bcm47xx_buttons_netgear_wndr3400v1[] __initconst = {
     BCM47XX_GPIO_KEY(4, KEY_RESTART),
@@ -664,6 +671,9 @@ int __init bcm47xx_buttons_register(void)
         err = bcm47xx_copy_bdata(bcm47xx_buttons_motorola_wr850gv2v3);
         break;
 
+    case BCM47XX_BOARD_NETGEAR_R6200_V1:
+        err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_r6200_v1);
+        break;
     case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
         err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
         break;
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
@@ -98,6 +98,7 @@ enum bcm47xx_board {
     BCM47XX_BOARD_MOTOROLA_WR850GP,
     BCM47XX_BOARD_MOTOROLA_WR850GV2V3,
 
+    BCM47XX_BOARD_NETGEAR_R6200_V1,
     BCM47XX_BOARD_NETGEAR_WGR614V8,
     BCM47XX_BOARD_NETGEAR_WGR614V9,
     BCM47XX_BOARD_NETGEAR_WGR614_V10,


             reply	other threads:[~2019-06-17  5:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-17  5:26 Edward Matijević [this message]
2019-06-17 20:45 ` [PATCH] MIPS: BCM47XX: Add support for Netgear R6200 V1 Hauke Mehrtens
2019-06-19 23:09 ` Paul Burton
2019-07-26  5:15 ` Paul Burton

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=6e003471-e7bd-6e0a-c00c-7de5e1b01428@gmail.com \
    --to=motolav@gmail.com \
    --cc=hauke@hauke-m.de \
    --cc=linux-mips@vger.kernel.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).