aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2009-06-14 09:39:43 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2009-06-14 09:39:43 +0000
commitb63576359d0c3bc56b9b1326217b9a8ee318c3fb (patch)
treefca1bec052a26baafa3a620de10328491e5ff2bf /package
parentc1918c778c4f60967a925c205e52108564bf3618 (diff)
downloadupstream-b63576359d0c3bc56b9b1326217b9a8ee318c3fb.tar.gz
upstream-b63576359d0c3bc56b9b1326217b9a8ee318c3fb.tar.bz2
upstream-b63576359d0c3bc56b9b1326217b9a8ee318c3fb.zip
D-Link DIR-320 support (broadcom-diag)
This patch adds D-Link DIR-320 support to broadcom-diag. "reserved" button is the button on the right side of the router without any title. I'm not sure if I've selected right name. Signed-off-by: Leonid Evdokimov <leon@darkk.net.ru> SVN-Revision: 16443
Diffstat (limited to 'package')
-rw-r--r--package/broadcom-diag/src/diag.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c
index 4667591a16..834a83abdc 100644
--- a/package/broadcom-diag/src/diag.c
+++ b/package/broadcom-diag/src/diag.c
@@ -123,6 +123,7 @@ enum {
/* D-Link */
DIR130,
+ DIR320,
DIR330,
DWL3150,
@@ -718,6 +719,20 @@ static struct platform_t __initdata platforms[] = {
{ .name = "blue", .gpio = 1 << 6},
},
},
+ [DIR320] = {
+ .name = "D-Link DIR-320",
+ .buttons = {
+ { .name = "reserved", .gpio = 1 << 6},
+ { .name = "reset", .gpio = 1 << 7},
+ },
+ .leds = {
+ { .name = "wlan", .gpio = 1 << 0, .polarity = NORMAL },
+ { .name = "diag", .gpio = 1 << 1, .polarity = NORMAL }, /* "status led */
+ { .name = "red", .gpio = 1 << 3, .polarity = REVERSE },
+ { .name = "blue", .gpio = 1 << 4, .polarity = REVERSE },
+ { .name = "usb", .gpio = 1 << 5, .polarity = NORMAL },
+ },
+ },
[DIR330] = {
.name = "D-Link DIR-330",
.buttons = {
@@ -875,6 +890,10 @@ static struct platform_t __init *platform_detect(void)
if (!strcmp(getvar("boardtype"), "0x0101") && !strcmp(getvar("boardrev"), "0x10")) /* SE505V2 With Modified CFE */
return &platforms[SE505V2];
+ if (!strcmp(boardtype, "0x048e") && !strcmp(getvar("boardrev"),"0x35") &&
+ !strcmp(getvar("boardflags"), "0x750")) /* D-Link DIR-320 */
+ return &platforms[DIR320];
+
} else { /* PMON based - old stuff */
if ((simple_strtoul(getvar("GemtekPmonVer"), NULL, 0) == 9) &&
(simple_strtoul(getvar("et0phyaddr"), NULL, 0) == 30)) {
.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
From fc5bc111e65b27883284591aec9db5a290665ac9 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 11 Oct 2015 12:28:30 +0200
Subject: [PATCH] bcm2835-dma: Limit cyclic transfers on lite channels to 32k

Transfers larger than 32k cause repeated clicking with I2S soundcards.
The exact reason is yet unknown, so limit to 32k as bcm2708-dmaengine
did as an intermediate fix.
---
 drivers/dma/bcm2835-dma.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

--- a/drivers/dma/bcm2835-dma.c
+++ b/drivers/dma/bcm2835-dma.c
@@ -144,6 +144,12 @@ struct bcm2835_desc {
  */
 #define MAX_LITE_TRANSFER	(SZ_64K - 4)
 
+/*
+ * Transfers larger than 32k cause issues with the bcm2708-i2s driver,
+ * so limit transfer size to 32k as bcm2708-dmaengine did.
+ */
+#define MAX_CYCLIC_LITE_TRANSFER	SZ_32K
+
 static inline struct bcm2835_dmadev *to_bcm2835_dma_dev(struct dma_device *d)
 {
 	return container_of(d, struct bcm2835_dmadev, ddev);
@@ -412,7 +418,7 @@ static struct dma_async_tx_descriptor *b
 	d->c = c;
 	d->dir = direction;
 	if (c->ch >= 8) /* LITE channel */
-		max_size = MAX_LITE_TRANSFER;
+		max_size = MAX_CYCLIC_LITE_TRANSFER;
 	else
 		max_size = MAX_NORMAL_TRANSFER;
 	period_len = min(period_len, max_size);