brcm2708: add more patches for linux 4.9

Also removes unneeded wireless patches

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
owl
Álvaro Fernández Rojas 2017-02-08 09:10:39 +01:00
parent 7ef713c9c4
commit ba9dbc3dd5
14 changed files with 1662 additions and 173463 deletions

View File

@ -304,6 +304,8 @@ CONFIG_RASPBERRYPI_POWER=y
CONFIG_RATIONAL=y
CONFIG_RAW_DRIVER=y
# CONFIG_RCU_STALL_COMMON is not set
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_SCHED_HRTICK=y
# CONFIG_SCHED_INFO is not set

View File

@ -334,6 +334,8 @@ CONFIG_RAW_DRIVER=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_REGMAP=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_RFS_ACCEL=y
CONFIG_RPS=y
CONFIG_RWSEM_SPIN_ON_OWNER=y

View File

@ -74,8 +74,6 @@ CONFIG_BCM2835_MBOX=y
CONFIG_BCM2835_WDT=y
# CONFIG_BCM_PDC_MBOX is not set
# CONFIG_BCM_VCIO is not set
# CONFIG_BCM_VC_CMA is not set
# CONFIG_BCM_VC_SM is not set
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
@ -355,6 +353,8 @@ CONFIG_RAW_DRIVER=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_REGMAP=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_RFS_ACCEL=y
CONFIG_RPS=y
CONFIG_RWSEM_SPIN_ON_OWNER=y

View File

@ -1,157 +0,0 @@
From 2d888bed201222f294deb8a27641f7f9919dab54 Mon Sep 17 00:00:00 2001
From: Cheong2K <cheong@redbear.cc>
Date: Fri, 26 Feb 2016 18:20:10 +0800
Subject: [PATCH] brcm: adds support for BCM43341 wifi
brcmfmac: Disable power management
Disable wireless power saving in the brcmfmac WLAN driver. This is a
temporary measure until the connectivity loss resulting from power
saving is resolved.
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
brcmfmac: Use original country code as a fallback
Commit 73345fd212980d2e28a5c6d83801c903bd773680:
brcmfmac: Configure country code using device specific settings
prevents region codes from working on devices that lack a region code
translation table. In the event of an absent table, preserve the old
behaviour of using the provided code as-is.
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
brcmfmac: Plug memory leak in brcmf_fill_bss_param
See: https://github.com/raspberrypi/linux/issues/1471
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
brcmfmac: do not use internal roaming engine by default
Some evidence of curing disconnects with this disabled, so make it a default.
Can be overridden with module parameter roamoff=0
See: http://projectable.me/optimize-my-pi-wi-fi/
brcmfmac: Change stop_ap sequence
Patch from Broadcom/Cypress to resolve a customer error
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
.../broadcom/brcm80211/brcmfmac/cfg80211.c | 31 ++++++++++++++++------
.../wireless/broadcom/brcm80211/brcmfmac/common.c | 2 +-
.../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 ++
.../broadcom/brcm80211/include/brcm_hw_ids.h | 1 +
4 files changed, 27 insertions(+), 9 deletions(-)
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -2756,6 +2756,8 @@ brcmf_cfg80211_set_power_mgmt(struct wip
* preference in cfg struct to apply this to
* FW later while initializing the dongle
*/
+ pr_info("power management disabled\n");
+ enabled = false;
cfg->pwr_save = enabled;
if (!check_vif_up(ifp->vif)) {
@@ -4750,12 +4752,15 @@ static int brcmf_cfg80211_stop_ap(struct
err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_DOWN, 1);
if (err < 0)
brcmf_err("BRCMF_C_DOWN error %d\n", err);
- err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_AP, 0);
- if (err < 0)
- brcmf_err("setting AP mode failed %d\n", err);
+
err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_INFRA, 0);
if (err < 0)
brcmf_err("setting INFRA mode failed %d\n", err);
+
+ err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_AP, 0);
+ if (err < 0)
+ brcmf_err("setting AP mode failed %d\n", err);
+
if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MBSS))
brcmf_fil_iovar_int_set(ifp, "mbss", 0);
brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_REGULATORY,
@@ -6737,12 +6742,18 @@ static s32 brcmf_translate_country_code(
struct brcmfmac_pd_cc *country_codes;
struct brcmfmac_pd_cc_entry *cc;
s32 found_index;
+ char ccode[BRCMF_COUNTRY_BUF_SZ];
+ int rev;
int i;
+ memcpy(ccode, alpha2, sizeof(ccode));
+ rev = -1;
+
country_codes = drvr->settings->country_codes;
if (!country_codes) {
- brcmf_dbg(TRACE, "No country codes configured for device\n");
- return -EINVAL;
+ brcmf_dbg(TRACE, "No country codes configured for device"
+ " - use requested value\n");
+ goto use_input_value;
}
if ((alpha2[0] == ccreq->country_abbrev[0]) &&
@@ -6766,10 +6777,14 @@ static s32 brcmf_translate_country_code(
brcmf_dbg(TRACE, "No country code match found\n");
return -EINVAL;
}
- memset(ccreq, 0, sizeof(*ccreq));
- ccreq->rev = cpu_to_le32(country_codes->table[found_index].rev);
- memcpy(ccreq->ccode, country_codes->table[found_index].cc,
+ rev = country_codes->table[found_index].rev;
+ memcpy(ccode, country_codes->table[found_index].cc,
BRCMF_COUNTRY_BUF_SZ);
+
+use_input_value:
+ memset(ccreq, 0, sizeof(*ccreq));
+ ccreq->rev = cpu_to_le32(rev);
+ memcpy(ccreq->ccode, ccode, sizeof(ccode));
ccreq->country_abbrev[0] = alpha2[0];
ccreq->country_abbrev[1] = alpha2[1];
ccreq->country_abbrev[2] = 0;
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
@@ -69,7 +69,7 @@ static int brcmf_fcmode;
module_param_named(fcmode, brcmf_fcmode, int, 0);
MODULE_PARM_DESC(fcmode, "Mode of firmware signalled flow control");
-static int brcmf_roamoff;
+static int brcmf_roamoff = 1;
module_param_named(roamoff, brcmf_roamoff, int, S_IRUSR);
MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine");
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -604,6 +604,7 @@ BRCMF_FW_NVRAM_DEF(4329, "brcmfmac4329-s
BRCMF_FW_NVRAM_DEF(4330, "brcmfmac4330-sdio.bin", "brcmfmac4330-sdio.txt");
BRCMF_FW_NVRAM_DEF(4334, "brcmfmac4334-sdio.bin", "brcmfmac4334-sdio.txt");
BRCMF_FW_NVRAM_DEF(43340, "brcmfmac43340-sdio.bin", "brcmfmac43340-sdio.txt");
+BRCMF_FW_NVRAM_DEF(43341, "brcmfmac43341-sdio.bin", "brcmfmac43341-sdio.txt");
BRCMF_FW_NVRAM_DEF(4335, "brcmfmac4335-sdio.bin", "brcmfmac4335-sdio.txt");
BRCMF_FW_NVRAM_DEF(43362, "brcmfmac43362-sdio.bin", "brcmfmac43362-sdio.txt");
BRCMF_FW_NVRAM_DEF(4339, "brcmfmac4339-sdio.bin", "brcmfmac4339-sdio.txt");
@@ -621,6 +622,7 @@ static struct brcmf_firmware_mapping brc
BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330),
BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334),
BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340),
+ BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43341_CHIP_ID, 0xFFFFFFFF, 43341),
BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4335_CHIP_ID, 0xFFFFFFFF, 4335),
BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362),
BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
--- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h
@@ -36,6 +36,7 @@
#define BRCM_CC_4330_CHIP_ID 0x4330
#define BRCM_CC_4334_CHIP_ID 0x4334
#define BRCM_CC_43340_CHIP_ID 43340
+#define BRCM_CC_43341_CHIP_ID 43341
#define BRCM_CC_43362_CHIP_ID 43362
#define BRCM_CC_4335_CHIP_ID 0x4335
#define BRCM_CC_4339_CHIP_ID 0x4339

View File

@ -1,33 +0,0 @@
From d2ab394e853bafeeadb911155b1621886c299d5f Mon Sep 17 00:00:00 2001
From: Michael Zoran <mzoran@crowfest.net>
Date: Sun, 15 Jan 2017 07:25:18 -0800
Subject: [PATCH] ARM64: Fix build break for RTL8187/RTL8192CU wifi
These drivers use an ASM function from the base
system to compute the ipv6 checksum. These functions
are not available on ARM64, probably because nobody
has bother to write them. The base system does have
a generic "C" version, so a simple fix is to include
the header to use the generic version on ARM64 only.
A longer term solution would be to submit the necessary
ASM function to the upstream source.
With this change, these drivers now compile without
any errors on ARM64.
Signed-off-by: Michael Zoran <mzoran@crowfest.net>
---
drivers/net/wireless/realtek/rtl8192cu/core/rtw_br_ext.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/net/wireless/realtek/rtl8192cu/core/rtw_br_ext.c
+++ b/drivers/net/wireless/realtek/rtl8192cu/core/rtw_br_ext.c
@@ -51,6 +51,7 @@
#include <linux/icmpv6.h>
#include <net/ndisc.h>
#include <net/checksum.h>
+#include <net/ip6_checksum.h>
#endif
#endif

View File

@ -0,0 +1,33 @@
From 92105f7981fd207add7a09ace4570c9cd74f8757 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 22 Jan 2017 12:49:36 +0100
Subject: [PATCH] config: Enable regulator support
Signed-off-by: Matthias Reichl <hias@horus.com>
---
arch/arm/configs/bcm2709_defconfig | 2 ++
arch/arm/configs/bcmrpi_defconfig | 2 ++
2 files changed, 4 insertions(+)
--- a/arch/arm/configs/bcm2709_defconfig
+++ b/arch/arm/configs/bcm2709_defconfig
@@ -664,6 +664,8 @@ CONFIG_STMPE_SPI=y
CONFIG_MFD_ARIZONA_I2C=m
CONFIG_MFD_ARIZONA_SPI=m
CONFIG_MFD_WM5102=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -658,6 +658,8 @@ CONFIG_STMPE_SPI=y
CONFIG_MFD_ARIZONA_I2C=m
CONFIG_MFD_ARIZONA_SPI=m
CONFIG_MFD_WM5102=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=m
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y

View File

@ -0,0 +1,33 @@
From 06b6fe1687cc560f36976cef615d38071ae07867 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 22 Jan 2017 12:49:36 +0100
Subject: [PATCH] BCM270x DT: expose 3.3V and 5V system rails
Signed-off-by: Matthias Reichl <hias@horus.com>
---
arch/arm/boot/dts/bcm270x.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
--- a/arch/arm/boot/dts/bcm270x.dtsi
+++ b/arch/arm/boot/dts/bcm270x.dtsi
@@ -138,4 +138,20 @@
status = "disabled";
};
};
+
+ vdd_5v0_reg: fixedregulator_5v0 {
+ compatible = "regulator-fixed";
+ regulator-name = "5v0";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ };
+
+ vdd_3v3_reg: fixedregulator_3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
};

View File

@ -0,0 +1,273 @@
From 05798b17d672768e9e2c54c0c94df2ef019afe95 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 22 Jan 2017 12:49:36 +0100
Subject: [PATCH] BCM270x DT: Consolidate audio card overlays
Reference 3.3V / 5V system rails instead of instantiating local
regulators.
Add missing power supply properties for codecs where these are
required according to the DT bindings docs.
Signed-off-by: Matthias Reichl <hias@horus.com>
---
.../arm/boot/dts/overlays/adau1977-adc-overlay.dts | 19 ++--------
.../dts/overlays/akkordion-iqdacplus-overlay.dts | 3 ++
.../dts/overlays/hifiberry-dacplus-overlay.dts | 3 ++
.../boot/dts/overlays/hifiberry-digi-overlay.dts | 2 +
.../dts/overlays/hifiberry-digi-pro-overlay.dts | 2 +
arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts | 3 ++
.../boot/dts/overlays/iqaudio-dacplus-overlay.dts | 3 ++
.../overlays/iqaudio-digi-wm8804-audio-overlay.dts | 4 +-
.../arm/boot/dts/overlays/justboom-dac-overlay.dts | 3 ++
.../boot/dts/overlays/justboom-digi-overlay.dts | 2 +
arch/arm/boot/dts/overlays/raspidac3-overlay.dts | 4 ++
.../overlays/rra-digidac1-wm8741-audio-overlay.dts | 44 +++-------------------
12 files changed, 36 insertions(+), 56 deletions(-)
--- a/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts
+++ b/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts
@@ -6,19 +6,6 @@
compatible = "brcm,bcm2708";
fragment@0 {
- target = <&soc>;
-
- __overlay__ {
- codec_supply: fixedregulator@0 {
- compatible = "regulator-fixed";
- regulator-name = "AVDD";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- };
- };
- };
-
- fragment@1 {
target = <&i2c>;
__overlay__ {
@@ -30,19 +17,19 @@
compatible = "adi,adau1977";
reg = <0x11>;
reset-gpios = <&gpio 5 0>;
- AVDD-supply = <&codec_supply>;
+ AVDD-supply = <&vdd_3v3_reg>;
};
};
};
- fragment@2 {
+ fragment@1 {
target = <&i2s>;
__overlay__ {
status = "okay";
};
};
- fragment@3 {
+ fragment@2 {
target = <&sound>;
__overlay__ {
compatible = "adi,adau1977-adc";
--- a/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts
+++ b/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts
@@ -23,6 +23,9 @@
#sound-dai-cells = <0>;
compatible = "ti,pcm5122";
reg = <0x4c>;
+ AVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
+ CPVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
};
--- a/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts
+++ b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts
@@ -34,6 +34,9 @@
compatible = "ti,pcm5122";
reg = <0x4d>;
clocks = <&dacpro_osc>;
+ AVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
+ CPVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
};
--- a/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts
+++ b/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts
@@ -23,6 +23,8 @@
#sound-dai-cells = <0>;
compatible = "wlf,wm8804";
reg = <0x3b>;
+ PVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
};
--- a/arch/arm/boot/dts/overlays/hifiberry-digi-pro-overlay.dts
+++ b/arch/arm/boot/dts/overlays/hifiberry-digi-pro-overlay.dts
@@ -23,6 +23,8 @@
#sound-dai-cells = <0>;
compatible = "wlf,wm8804";
reg = <0x3b>;
+ PVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
};
--- a/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts
+++ b/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts
@@ -23,6 +23,9 @@
#sound-dai-cells = <0>;
compatible = "ti,pcm5122";
reg = <0x4c>;
+ AVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
+ CPVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
};
--- a/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts
+++ b/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts
@@ -23,6 +23,9 @@
#sound-dai-cells = <0>;
compatible = "ti,pcm5122";
reg = <0x4c>;
+ AVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
+ CPVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
};
--- a/arch/arm/boot/dts/overlays/iqaudio-digi-wm8804-audio-overlay.dts
+++ b/arch/arm/boot/dts/overlays/iqaudio-digi-wm8804-audio-overlay.dts
@@ -24,8 +24,8 @@
compatible = "wlf,wm8804";
reg = <0x3b>;
status = "okay";
- // DVDD-supply = <&reg_3v3>;
- // PVDD-supply = <&reg_3v3>;
+ DVDD-supply = <&vdd_3v3_reg>;
+ PVDD-supply = <&vdd_3v3_reg>;
};
};
};
--- a/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts
+++ b/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts
@@ -23,6 +23,9 @@
#sound-dai-cells = <0>;
compatible = "ti,pcm5122";
reg = <0x4d>;
+ AVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
+ CPVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
};
--- a/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts
+++ b/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts
@@ -23,6 +23,8 @@
#sound-dai-cells = <0>;
compatible = "wlf,wm8804";
reg = <0x3b>;
+ PVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
};
--- a/arch/arm/boot/dts/overlays/raspidac3-overlay.dts
+++ b/arch/arm/boot/dts/overlays/raspidac3-overlay.dts
@@ -23,12 +23,16 @@
#sound-dai-cells = <0>;
compatible = "ti,pcm5122";
reg = <0x4c>;
+ AVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
+ CPVDD-supply = <&vdd_3v3_reg>;
status = "okay";
};
tpa6130a2: tpa6130a2@60 {
compatible = "ti,tpa6130a2";
reg = <0x60>;
+ Vdd-supply = <&vdd_3v3_reg>;
status = "okay";
};
};
--- a/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts
+++ b/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts
@@ -6,45 +6,13 @@
compatible = "brcm,bcm2708";
fragment@0 {
- target-path = "/";
- __overlay__ {
- aliases {
- ldo0 = &ldo0;
- ldo1 = &ldo1;
- };
- };
- };
-
- fragment@1 {
- target-path = "/soc";
- __overlay__ {
-
- ldo1: ldo1 {
- compatible = "regulator-fixed";
- regulator-name = "DC_5V";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- regulator-always-on;
- };
-
- ldo0: ldo0 {
- compatible = "regulator-fixed";
- regulator-name = "DC_3V3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-always-on;
- };
- };
- };
-
- fragment@2 {
target = <&i2s>;
__overlay__ {
status = "okay";
};
};
- fragment@3 {
+ fragment@1 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
@@ -56,21 +24,21 @@
compatible = "wlf,wm8804";
reg = <0x3b>;
status = "okay";
- PVDD-supply = <&ldo0>;
- DVDD-supply = <&ldo0>;
+ PVDD-supply = <&vdd_3v3_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
};
wm8742: wm8741@1a {
compatible = "wlf,wm8741";
reg = <0x1a>;
status = "okay";
- AVDD-supply = <&ldo1>;
- DVDD-supply = <&ldo0>;
+ AVDD-supply = <&vdd_5v0_reg>;
+ DVDD-supply = <&vdd_3v3_reg>;
};
};
};
- fragment@4 {
+ fragment@2 {
target = <&sound>;
__overlay__ {
compatible = "rra,digidac1-soundcard";

View File

@ -0,0 +1,47 @@
From e12d55ad45094a50ff25b70d76381bc7798ea3d5 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 22 Jan 2017 12:49:37 +0100
Subject: [PATCH] config: enable Cirrus Logic Audio Card
Signed-off-by: Matthias Reichl <hias@horus.com>
---
arch/arm/configs/bcm2709_defconfig | 2 ++
arch/arm/configs/bcmrpi_defconfig | 2 ++
2 files changed, 4 insertions(+)
--- a/arch/arm/configs/bcm2709_defconfig
+++ b/arch/arm/configs/bcm2709_defconfig
@@ -666,6 +666,7 @@ CONFIG_MFD_ARIZONA_SPI=m
CONFIG_MFD_WM5102=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=m
+CONFIG_REGULATOR_ARIZONA=m
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
@@ -872,6 +873,7 @@ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m
CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m
CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m
CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m
+CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=m
CONFIG_SND_BCM2708_SOC_RPI_DAC=m
CONFIG_SND_BCM2708_SOC_RPI_PROTO=m
CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -660,6 +660,7 @@ CONFIG_MFD_ARIZONA_SPI=m
CONFIG_MFD_WM5102=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=m
+CONFIG_REGULATOR_ARIZONA=m
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
@@ -866,6 +867,7 @@ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m
CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m
CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m
CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP=m
+CONFIG_SND_BCM2708_SOC_RPI_CIRRUS=m
CONFIG_SND_BCM2708_SOC_RPI_DAC=m
CONFIG_SND_BCM2708_SOC_RPI_PROTO=m
CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m

View File

@ -0,0 +1,22 @@
From 6a2c90127ab305604fa51f30bce4f23179fa4b63 Mon Sep 17 00:00:00 2001
From: JamesH65 <JamesH65@users.noreply.github.com>
Date: Mon, 6 Feb 2017 15:24:47 +0000
Subject: [PATCH] gpio_mem: Remove unnecessary dev_info output (#1830)
The open function was spamming syslog every time
called, so have removed call completely.
---
drivers/char/broadcom/bcm2835-gpiomem.c | 2 --
1 file changed, 2 deletions(-)
--- a/drivers/char/broadcom/bcm2835-gpiomem.c
+++ b/drivers/char/broadcom/bcm2835-gpiomem.c
@@ -76,8 +76,6 @@ static int bcm2835_gpiomem_open(struct i
int dev = iminor(inode);
int ret = 0;
- dev_info(inst->dev, "gpiomem device opened.");
-
if (dev != DEVICE_MINOR) {
dev_err(inst->dev, "Unknown minor device: %d", dev);
ret = -ENXIO;

View File

@ -0,0 +1,10 @@
--- a/sound/soc/bcm/Kconfig
+++ b/sound/soc/bcm/Kconfig
@@ -48,6 +48,7 @@ config SND_BCM2708_SOC_HIFIBERRY_AMP
config SND_BCM2708_SOC_RPI_CIRRUS
tristate "Support for Cirrus Logic Audio Card"
depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
+ depends on BROKEN
select SND_SOC_WM5102
select SND_SOC_WM8804
help