]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/log
mirror_ubuntu-artful-kernel.git
6 years agoUBUNTU: [Config] CONFIG_BCM_FLEXRM_MBOX=m
Paolo Pisati [Tue, 29 Aug 2017 11:11:21 +0000 (11:11 +0000)]
UBUNTU: [Config] CONFIG_BCM_FLEXRM_MBOX=m

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] CONFIG_BCM2835_THERMAL=m
Paolo Pisati [Tue, 29 Aug 2017 11:11:10 +0000 (11:11 +0000)]
UBUNTU: [Config] CONFIG_BCM2835_THERMAL=m

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] CONFIG_BATTERY_LEGO_EV3=m
Paolo Pisati [Tue, 29 Aug 2017 11:11:04 +0000 (11:11 +0000)]
UBUNTU: [Config] CONFIG_BATTERY_LEGO_EV3=m

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] CONFIG_BACKLIGHT_ARCXCNN=m
Paolo Pisati [Tue, 29 Aug 2017 11:10:53 +0000 (11:10 +0000)]
UBUNTU: [Config] CONFIG_BACKLIGHT_ARCXCNN=m

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] CONFIG_AXP20X_ADC=m
Paolo Pisati [Tue, 29 Aug 2017 11:10:48 +0000 (11:10 +0000)]
UBUNTU: [Config] CONFIG_AXP20X_ADC=m

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] CONFIG_ATH10K_SDIO=m
Paolo Pisati [Tue, 29 Aug 2017 11:10:42 +0000 (11:10 +0000)]
UBUNTU: [Config] CONFIG_ATH10K_SDIO=m

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] CONFIG_ARM64_RELOC_TEST=m
Paolo Pisati [Tue, 29 Aug 2017 11:10:31 +0000 (11:10 +0000)]
UBUNTU: [Config] CONFIG_ARM64_RELOC_TEST=m

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] CONFIG_ALTERA_PR_IP_CORE=m
Paolo Pisati [Tue, 29 Aug 2017 11:10:09 +0000 (11:10 +0000)]
UBUNTU: [Config] CONFIG_ALTERA_PR_IP_CORE=m

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Start new release
Seth Forshee [Thu, 28 Sep 2017 13:20:24 +0000 (09:20 -0400)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
6 years agoUBUNTU: Ubuntu-raspi2-4.13.0-1002.2
Paolo Pisati [Fri, 25 Aug 2017 15:15:45 +0000 (17:15 +0200)]
UBUNTU: Ubuntu-raspi2-4.13.0-1002.2

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: skip modules and abi checks
Paolo Pisati [Fri, 25 Aug 2017 15:45:29 +0000 (15:45 +0000)]
UBUNTU: skip modules and abi checks

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] update configs following rebase to Ubuntu-4.13.0-5.6
Paolo Pisati [Fri, 25 Aug 2017 15:18:40 +0000 (15:18 +0000)]
UBUNTU: [Config] update configs following rebase to Ubuntu-4.13.0-5.6

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Start new release
Paolo Pisati [Fri, 25 Aug 2017 15:12:35 +0000 (17:12 +0200)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Ubuntu-raspi2-4.11.0-1004.5
Andy Whitcroft [Thu, 13 Jul 2017 17:28:10 +0000 (18:28 +0100)]
UBUNTU: Ubuntu-raspi2-4.11.0-1004.5

Signed-off-by: Andy Whitcroft <apw@canonical.com>
(cherry picked from commit 6335bd5ed58f77db086071a9ba973fce436dbf70)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] update configs following rebase to Ubuntu-4.11.0-11.16
Andy Whitcroft [Thu, 13 Jul 2017 17:12:43 +0000 (18:12 +0100)]
UBUNTU: [Config] update configs following rebase to Ubuntu-4.11.0-11.16

Signed-off-by: Andy Whitcroft <apw@canonical.com>
(cherry picked from commit 9181a3d5de028a9103372d8751bcde394ee89d39)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: rebase to Ubuntu-4.11.0-11.16
Andy Whitcroft [Thu, 13 Jul 2017 17:27:17 +0000 (18:27 +0100)]
UBUNTU: rebase to Ubuntu-4.11.0-11.16

Signed-off-by: Andy Whitcroft <apw@canonical.com>
(cherry picked from commit 245d19cc17d63f7b2cc5bbb906bc287c1505abf9)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Start new release
Andy Whitcroft [Thu, 13 Jul 2017 17:10:45 +0000 (18:10 +0100)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Andy Whitcroft <apw@canonical.com>
(cherry picked from commit b20bf0a459316116e9011e0085b1bad189292b05)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Ubuntu-raspi2-4.11.0-1003.4
Seth Forshee [Mon, 3 Jul 2017 15:08:43 +0000 (10:08 -0500)]
UBUNTU: Ubuntu-raspi2-4.11.0-1003.4

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit dbcf1ca47a2827e8c9fbf7da79cf8ce04fb518ac)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Rebase to Ubuntu-4.11.0-10.15
Seth Forshee [Mon, 3 Jul 2017 15:00:15 +0000 (10:00 -0500)]
UBUNTU: Rebase to Ubuntu-4.11.0-10.15

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit c799fab722780742eda2a1a79ba09bf83d0e2876)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Start new release
Seth Forshee [Mon, 3 Jul 2017 14:53:03 +0000 (09:53 -0500)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit e7e2c595b320becf781b8c8caba17ef3278e3bd3)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Ubuntu-raspi2-4.11.0-1002.3
Seth Forshee [Mon, 26 Jun 2017 17:17:25 +0000 (12:17 -0500)]
UBUNTU: Ubuntu-raspi2-4.11.0-1002.3

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit ec4d22499cbc55cb5237bf802f50a0a9a857bd97)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: [Config] Add CONFIG_CRASH_DUMP annotation for arm64
Seth Forshee [Mon, 26 Jun 2017 17:12:26 +0000 (12:12 -0500)]
UBUNTU: [Config] Add CONFIG_CRASH_DUMP annotation for arm64

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit f7a404cb677df72cf8a7384bc309412c387907a9)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Start new release
Seth Forshee [Mon, 26 Jun 2017 16:58:18 +0000 (11:58 -0500)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit 0daa31bbb6e69ee3bc6d1f41071b6af147cbf454)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Ubuntu-raspi2-4.11.0-1001.2
Seth Forshee [Wed, 21 Jun 2017 16:58:20 +0000 (11:58 -0500)]
UBUNTU: Ubuntu-raspi2-4.11.0-1001.2

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit 13153dd3aeb7c3050c4504a4759169935f2b59f7)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Start new release
Seth Forshee [Mon, 19 Jun 2017 18:35:02 +0000 (13:35 -0500)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit 223dcf6eafb28d7096d96e9d1b1e0c4f9eb18119)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Ubuntu-raspi2-4.11.0-1000.1
Seth Forshee [Tue, 13 Jun 2017 19:06:46 +0000 (14:06 -0500)]
UBUNTU: Ubuntu-raspi2-4.11.0-1000.1

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit 0bd48f673cd697dcbbb27e7980a2a7ce7ee07c83)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agoUBUNTU: Add raspi2 packaging
Seth Forshee [Tue, 13 Jun 2017 18:06:26 +0000 (13:06 -0500)]
UBUNTU: Add raspi2 packaging

Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
(cherry picked from commit 5ff45568b910a663ceeac25418461ab916d679e2)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
6 years agocache: export clean and invalidate
popcornmix [Fri, 25 Aug 2017 18:18:13 +0000 (19:18 +0100)]
cache: export clean and invalidate

6 years agodma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708
Andrei Gherzan [Mon, 5 Jun 2017 15:40:38 +0000 (16:40 +0100)]
dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708

bcm2708-dmaengine.c defines functions like bcm_dma_start which are
defined as well in dma-bcm2708.h as inline versions when
CONFIG_DMA_BCM2708 is not defined. This works fine when
CONFIG_DMA_BCM2708 is built in, but when it is selected as module build
fails with redefinition errors because in the build system when
CONFIG_DMA_BCM2708 is selected as module, the macro becomes
CONFIG_DMA_BCM2708_MODULE.

This patch makes the header use CONFIG_DMA_BCM2708_MODULE too when
available.

Fixes https://github.com/raspberrypi/linux/issues/2056

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
6 years agoASoC: bcm2835: Enforce full symmetry
Matthias Reichl [Sun, 7 May 2017 14:24:57 +0000 (16:24 +0200)]
ASoC: bcm2835: Enforce full symmetry

bcm2835's configuration registers can't be changed when a stream
is running, which means asymmetric configurations aren't supported.

Channel and rate symmetry are already enforced by constraints
but samplebits had been missed.

As hw_params doesn't check for symmetry constraints by itself
and just returns success if a stream is running this led to
situations where asymmetric configurations were seeming to
succeed but of course didn't work because the hardware wasn't
configured at all.

Fix this by adding the missing samplerate symmetry constraint.

Signed-off-by: Matthias Reichl <hias@horus.com>
6 years agoASoC: bcm2835: Support additional samplerates up to 384kHz
Matthias Reichl [Sun, 7 May 2017 14:19:54 +0000 (16:19 +0200)]
ASoC: bcm2835: Support additional samplerates up to 384kHz

Sample rates are only restricted by the capabilities of the
clock driver, so use SNDRV_PCM_RATE_CONTINUOUS instead of
SNDRV_PCM_RATE_8000_192000.

Tests (eg with pcm5122) have shown that bcm2835 works fine
in 384kHz/32bit stereo mode, so change the maximum allowed
rate from 192kHz to 384kHz.

Signed-off-by: Matthias Reichl <hias@horus.com>
6 years agoASoC: bcm2835: Support left/right justified and DSP modes
Matthias Reichl [Sun, 7 May 2017 13:30:50 +0000 (15:30 +0200)]
ASoC: bcm2835: Support left/right justified and DSP modes

DSP modes and left/right justified modes can be supported
on bcm2835 by configuring the frame sync polarity and
frame sync length registers and by adjusting the
channel data position registers.

Clock and frame sync polarity handling in hw_params has
been refactored to make the interaction between logical
rising/falling edge frame start and physical configuration
(changed by normal/inverted polarity modes) clearer.

Modes where the first active data bit is transmitted immediately
after frame start (eg DSP mode B with slot 0 active)
only work reliable if bcm2835 is configured as frame master.
In frame slave mode channel swap (or shift, this isn't quite
clear yet) can occur.

Currently the driver only warns if an unstable configuration
is detected but doensn't prevent using them.

Signed-off-by: Matthias Reichl <hias@horus.com>
6 years agoASoC: bcm2835: Add support for TDM modes
Matthias Reichl [Sun, 7 May 2017 09:34:26 +0000 (11:34 +0200)]
ASoC: bcm2835: Add support for TDM modes

bcm2835 supports arbitrary positioning of channel data within
a frame and thus is capable of supporting TDM modes. Since
the driver is limited to 2-channel operations only TDM setups
with exactly 2 active slots are supported.

Logical TDM slot numbering follows the usual convention:

For I2S-like modes, with a 50% duty-cycle frame clock,
slots 0, 2, ... are transmitted in the first half of a frame,
slots 1, 3, ... are transmitted in the second half.

For DSP modes slot numbering is ascending: 0, 1, 2, 3, ...

Channel position calculation has been refactored to use
TDM info and moved out of hw_params.

set_tdm_slot, set_bclk_ratio and hw_params now check more
strictly if the configuration is valid. Illegal configurations
like odd number of slots in I2S mode, data lengths exceeding
slot width or frame sizes larger than the hardware limit of
1024 are rejected. Also hw_params now properly checks for
errors from clk_set_rate.

Allowed PCM formats are already guarded by stream constraints,
thus the formats check in hw_params has been removed and
data_length is now retrieved via params_width().

Also standard functions like snd_soc_params_to_bclk are now
being used instead of manual calculations to make the code
more readable.

Special care has been taken to ensure that set_bclk_ratio works
as before. The bclk ratio is mapped to a 2-channel TDM config
with a slot width of half the ratio. In order to support odd ratios,
which can't be expressed via a TDM config, the ratio (frame length)
is stored and used by hw_params.

Signed-off-by: Matthias Reichl <hias@horus.com>
6 years agovc4_fkms: Apply firmware overscan offset to hardware cursor
popcornmix [Tue, 18 Apr 2017 20:43:46 +0000 (21:43 +0100)]
vc4_fkms: Apply firmware overscan offset to hardware cursor

6 years agodrm/vc4: Fix sending of page flip completion events in FKMS mode.
Eric Anholt [Thu, 2 Feb 2017 17:42:18 +0000 (09:42 -0800)]
drm/vc4: Fix sending of page flip completion events in FKMS mode.

In the rewrite of vc4_crtc.c for fkms, I dropped the part of the
CRTC's atomic flush handler that moved the completion event from the
proposed atomic state change to the CRTC's current state.  That meant
that when full screen pageflipping happened (glxgears -fullscreen in
X, compton, por weston), the app would end up blocked firever waiting
to draw its next frame.

Signed-off-by: Eric Anholt <eric@anholt.net>
6 years agodrm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms.
Eric Anholt [Thu, 2 Feb 2017 01:10:09 +0000 (17:10 -0800)]
drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms.

Trying to debug weston on fkms involved figuring out what calls I was
making to the firmware.

Signed-off-by: Eric Anholt <eric@anholt.net>
6 years agodrm/vc4: Name the primary and cursor planes in fkms.
Eric Anholt [Thu, 2 Feb 2017 01:09:18 +0000 (17:09 -0800)]
drm/vc4: Name the primary and cursor planes in fkms.

This makes debugging nicer, compared to trying to remember what the
IDs are.

Signed-off-by: Eric Anholt <eric@anholt.net>
6 years agodrm/vc4: Add a mode for using the closed firmware for display.
Eric Anholt [Wed, 14 Sep 2016 07:39:33 +0000 (08:39 +0100)]
drm/vc4: Add a mode for using the closed firmware for display.

Signed-off-by: Eric Anholt <eric@anholt.net>
6 years agoraspberrypi-firmware: Export the general transaction function.
Eric Anholt [Wed, 14 Sep 2016 08:16:19 +0000 (09:16 +0100)]
raspberrypi-firmware: Export the general transaction function.

The vc4-firmware-kms module is going to be doing the MBOX FB call.

Signed-off-by: Eric Anholt <eric@anholt.net>
6 years agoraspberrypi-firmware: Define the MBOX channel in the header.
Eric Anholt [Wed, 14 Sep 2016 08:18:09 +0000 (09:18 +0100)]
raspberrypi-firmware: Define the MBOX channel in the header.

Signed-off-by: Eric Anholt <eric@anholt.net>
6 years agoThis is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the...
Yasunari Takiguchi [Fri, 14 Apr 2017 09:43:57 +0000 (10:43 +0100)]
This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the CXD2880 driver and the CXD2880 SPI adapter. The current CXD2880 driver version is 1.4.1 - 1.0.1 released on April 13, 2017.

Signed-off-by: Yasunari Takiguchi <Yasunari.Takiguchi@sony.com>
Signed-off-by: Masayuki Yamamoto <Masayuki.Yamamoto@sony.com>
Signed-off-by: Hideki Nozawa <Hideki.Nozawa@sony.com>
Signed-off-by: Kota Yonezawa <Kota.Yonezawa@sony.com>
Signed-off-by: Toshihiko Matsumoto <Toshihiko.Matsumoto@sony.com>
Signed-off-by: Satoshi Watanabe <Satoshi.C.Watanabe@sony.com>
6 years agobcm2835-aux: Add aux interrupt controller
Phil Elwell [Thu, 23 Mar 2017 16:34:46 +0000 (16:34 +0000)]
bcm2835-aux: Add aux interrupt controller

The AUX block has a shared interrupt line with a register indicating
which devices have active IRQs. Expose this as a nested interrupt
controller to avoid sharing problems.

See: https://github.com/raspberrypi/linux/issues/1484
     https://github.com/raspberrypi/linux/issues/1573

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
6 years agopinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53
Phil Elwell [Tue, 24 Feb 2015 13:40:50 +0000 (13:40 +0000)]
pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53

Contrary to the documentation, the BCM2835 GPIO controller actually has
four interrupt lines - one each for the three IRQ groups and one common. Rather
confusingly, the GPIO interrupt groups don't correspond directly with the GPIO
control banks. Instead, GPIOs 0-27 generate IRQ GPIO0, 28-45 GPIO1 and
46-53 GPIO2.

Awkwardly, the GPIOS for IRQ GPIO1 straddle two 32-entry GPIO banks, so it is
cleaner to split out a function to process the interrupts for a single GPIO
bank.

This bug has only just been observed because GPIOs above 27 can only be
accessed on an old Raspberry Pi with the optional P5 header fitted, where
the pins are often used for I2S instead.

6 years agoenable drivers for GPIO expander and vcio
Bilal Amarni [Wed, 24 May 2017 08:52:50 +0000 (10:52 +0200)]
enable drivers for GPIO expander and vcio

6 years agobuild/arm64: Add rules for .dtbo files for dts overlays
Khem Raj [Sat, 11 Feb 2017 01:57:08 +0000 (17:57 -0800)]
build/arm64: Add rules for .dtbo files for dts overlays

We now create overlays as .dtbo files.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
6 years agoARM64: Force hardware emulation of deprecated instructions.
Michael Zoran [Sat, 11 Feb 2017 09:18:31 +0000 (01:18 -0800)]
ARM64: Force hardware emulation of deprecated instructions.

6 years agoARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig)
Michael Zoran [Sun, 15 Jan 2017 05:45:03 +0000 (21:45 -0800)]
ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig)

Signed-off-by: Michael Zoran <mzoran@crowfest.net>
6 years agoARM64: Round-Robin dispatch IRQs between CPUs.
Michael Zoran [Sun, 15 Jan 2017 05:43:57 +0000 (21:43 -0800)]
ARM64: Round-Robin dispatch IRQs between CPUs.

IRQ-CPU mapping is round robined on ARM64 to increase
concurrency and allow multiple interrupts to be serviced
at a time.  This reduces the need for FIQ.

Signed-off-by: Michael Zoran <mzoran@crowfest.net>
6 years agoARM64/DWC_OTG: Port dwc_otg driver to ARM64
Michael Zoran [Sun, 15 Jan 2017 05:33:51 +0000 (21:33 -0800)]
ARM64/DWC_OTG: Port dwc_otg driver to ARM64

In ARM64, the FIQ mechanism used by this driver is not current
implemented.   As a workaround, reqular IRQ is used instead
of FIQ.

In a separate change, the IRQ-CPU mapping is round robined
on ARM64 to increase concurrency and allow multiple interrupts
to be serviced at a time.  This reduces the need for FIQ.

Tests Run:

This mechanism is most likely to break when multiple USB devices
are attached at the same time.  So the system was tested under
stress.

Devices:

1. USB Speakers playing back a FLAC audio through VLC
   at 96KHz.(Higher then typically, but supported on my speakers).

2. sftp transferring large files through the buildin ethernet
   connection which is connected through USB.

3. Keyboard and mouse attached and being used.

Although I do occasionally hear some glitches, the music seems to
play quite well.

Signed-off-by: Michael Zoran <mzoran@crowfest.net>
6 years agoARM64: Enable RTL8187/RTL8192CU wifi in build config
Michael Zoran [Sun, 15 Jan 2017 15:31:59 +0000 (07:31 -0800)]
ARM64: Enable RTL8187/RTL8192CU wifi in build config

These drivers build now, so they can be enabled back
in the build configuration just like they are for
32 bit.

Signed-off-by: Michael Zoran <mzoran@crowfest.net>
6 years agoARM64: Fix build break for RTL8187/RTL8192CU wifi
Michael Zoran [Sun, 15 Jan 2017 15:25:18 +0000 (07:25 -0800)]
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>
6 years agoARM64: Enable Kernel Address Space Randomization (#1792)
Electron752 [Sat, 14 Jan 2017 10:54:26 +0000 (02:54 -0800)]
ARM64: Enable Kernel Address Space Randomization (#1792)

Randomization allows the mapping between virtual addresses and physical
address to be different on each boot.  This makes it more difficult
to exploit security vulnerabilities that require knowledge of fixed
hardware addresses.

The firmware generates a 8 byte random number during bootup and stores
it in the device tree under chosen/kaslr-seed. This number is used
to randomize the address mapping.

This change enables this feature in the build configuration for ARM64.

Signed-off-by: Michael Zoran <mzoran@crowfest.net>
6 years agoARM64: Run bcmrpi3_defconfig through savedefconfig.
Michael Zoran [Fri, 13 Jan 2017 03:14:03 +0000 (19:14 -0800)]
ARM64: Run bcmrpi3_defconfig through savedefconfig.

Signed-off-by: Michael Zoran <mzoran@crowfest.net>
6 years agoARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig
Michael Zoran [Fri, 13 Jan 2017 03:10:07 +0000 (19:10 -0800)]
ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig

Signed-off-by: Michael Zoran <mzoran@crowfest.net>
6 years agoARM64: Make it work again on 4.9 (#1790)
Electron752 [Thu, 12 Jan 2017 15:07:08 +0000 (07:07 -0800)]
ARM64: Make it work again on 4.9 (#1790)

* Invoke the dtc compiler with the same options used in arm mode.
* ARM64 now uses the bcm2835 platform just like ARM32.
* ARM64: Update bcmrpi3_defconfig

Signed-off-by: Michael Zoran <mzoran@crowfest.net>
6 years agoAdd arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and...
Michael Zoran [Wed, 24 Aug 2016 10:35:56 +0000 (03:35 -0700)]
Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment.

ARM64: Modify default config to get raspbian to boot (#1686)

1. Enable emulation of deprecated instructions.
2. Enable ARM 8.1 and 8.2 features which are not detected at runtime.
3. Switch the default governer to powersave.
4. Include the watchdog timer driver in the kernel image rather then a module.

Tested with raspbian-jessie 2016-09-23.

6 years agoconfig: Add default configs
popcornmix [Mon, 13 Apr 2015 16:16:29 +0000 (17:16 +0100)]
config: Add default configs

6 years agohci_h5: Don't send conf_req when ACTIVE
Phil Elwell [Thu, 17 Dec 2015 13:37:07 +0000 (13:37 +0000)]
hci_h5: Don't send conf_req when ACTIVE

Without this patch, a modem and kernel can continuously bombard each
other with conf_req and conf_rsp messages, in a demented game of tag.

6 years agobrcmfmac: Mute expected startup 'errors'
Phil Elwell [Fri, 17 Feb 2017 15:26:13 +0000 (15:26 +0000)]
brcmfmac: Mute expected startup 'errors'

The brcmfmac WiFi driver always complains about the '00' country code.
Modify the driver to ignore '00' silently.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
6 years agobrcm: adds support for BCM43341 wifi
Cheong2K [Fri, 26 Feb 2016 10:20:10 +0000 (18:20 +0800)]
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>
6 years agoOF: DT-Overlay configfs interface
Pantelis Antoniou [Wed, 3 Dec 2014 11:23:28 +0000 (13:23 +0200)]
OF: DT-Overlay configfs interface

This is a port of Pantelis Antoniou's v3 port that makes use of the
new upstreamed configfs support for binary attributes.

Original commit message:

Add a runtime interface to using configfs for generic device tree overlay
usage. With it its possible to use device tree overlays without having
to use a per-platform overlay manager.

Please see Documentation/devicetree/configfs-overlays.txt for more info.

Changes since v2:
- Removed ifdef CONFIG_OF_OVERLAY (since for now it's required)
- Created a documentation entry
- Slight rewording in Kconfig

Changes since v1:
- of_resolve() -> of_resolve_phandles().

Originally-signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
DT configfs: Fix build errors on other platforms

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
DT configfs: fix build error

There is an error when compiling rpi-4.6.y branch:
  CC      drivers/of/configfs.o
drivers/of/configfs.c:291:21: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
   .default_groups = of_cfs_def_groups,
                     ^
drivers/of/configfs.c:291:21: note: (near initialization for 'of_cfs_subsys.su_group.default_groups.next')

The .default_groups is linked list since commit
1ae1602de028acaa42a0f6ff18d19756f8e825c6.
This commit uses configfs_add_default_group to fix this problem.

Signed-off-by: Slawomir Stepien <sst@poczta.fm>
6 years agonet: Fix rtl8192cu build errors on other platforms
Phil Elwell [Wed, 23 Mar 2016 17:20:58 +0000 (17:20 +0000)]
net: Fix rtl8192cu build errors on other platforms

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
suppress spurious messages

Add #if for 3.14 kernel change (#87)

Fixes compiling after changes in https://github.com/torvalds/linux/commit/f663dd9aaf9ed124f25f0f8452edf238f087ad50 and https://github.com/torvalds/linux/commit/99932d4fc03a13bb3e94938fe25458fabc8f2fc3

Fixes #86

Set dev_type to wlan

Fixes #23

Tentatively added support for more 8188CUS based devices.

Add support for more 8188CUS and 8192CUS devices

Add ProductId for the Netgear N150 - WNA1000M

Fixes CONFIG_CONCURRENT_MODE CONFIG_MULTI_VIR_IFACES

Fixes compatibility with 3.13

Enables warning in the compiler and fixes some issues, reference => https://github.com/diederikdehaas/rtl8812AU

Starts device in station mode instead of monitor, fixes NetworkManager issues

Enable cfg80211 support

Fix cfg80211 for kernel >= 4.7

Fixes rtl8192cu for kernel >= 4.8

rtl8192: Fixup build

fixup: rtl8192cu fixes from milhouse

rtl8192: switch to netdev->priv_destructor()

When trying to build from the rpi-4.11.y branch, I'm getting the
following error :

drivers/net/wireless/realtek/rtl8192cu/os_dep/linux/ioctl_cfg80211.c:3464:10: error: 'struct net_device' has no member named 'destructor'

It seems to occur since this upstream commit :

https://github.com/torvalds/linux/commit/cf124db566e6b036b8bcbe8decbed740bdfac8c6

[...]

netdev->priv_destructor() performs all actions to free up the private
resources that used to be freed by netdev->destructor(), except for
free_netdev().

netdev->needs_free_netdev is a boolean that indicates whether
free_netdev() should be done at the end of unregister_netdevice().

Signed-off-by: Bilal Amarni <bilal.amarni@gmail.com>
6 years agonet: Add non-mainline source for rtl8192cu wlan
popcornmix [Mon, 3 Sep 2012 16:10:23 +0000 (17:10 +0100)]
net: Add non-mainline source for rtl8192cu wlan

Add non-mainline source for rtl8192cu wireless driver version v4.0.2_9000 as
this is widely used. Disable older rtlwifi driver.

8192cu needs old wireless extensions

The obsolete WIRELESS_EXT configuration is used
by the old Realtek code and is needed for AP support.

8192cu: CONFIG_AP_MODE hardcoded in autoconf.h

rtl8192c_rf6052: PHY_RFShadowRefresh(): fix off-by-one

Signed-off-by: Marc Kleine-Budde <mkl@blackshift.org>
rtl8192cu: Add PID for D-Link DWA 131

6 years agoamba_pl011: Round input clock up
Phil Elwell [Wed, 1 Mar 2017 16:07:39 +0000 (16:07 +0000)]
amba_pl011: Round input clock up

The UART clock is initialised to be as close to the requested
frequency as possible without exceeding it. Now that there is a
clock manager that returns the actual frequencies, an expected
48MHz clock is reported as 47999625. If the requested baudrate
== requested clock/16, there is no headroom and the slight
reduction in actual clock rate results in failure.

Detect cases where it looks like a "round" clock was chosen and
adjust the reported clock to match that "round" value. As the
code comment says:

/*
 * If increasing a clock by less than 0.1% changes it
 * from ..999.. to ..000.., round up.
 */

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
6 years agoamba_pl011: Don't use DT aliases for numbering
Phil Elwell [Tue, 23 Feb 2016 17:26:48 +0000 (17:26 +0000)]
amba_pl011: Don't use DT aliases for numbering

The pl011 driver looks for DT aliases of the form "serial<n>",
and if found uses <n> as the device ID. This can cause
/dev/ttyAMA0 to become /dev/ttyAMA1, which is confusing if the
other serial port is provided by the 8250 driver which doesn't
use the same logic.

6 years agobcm2835-gpio-exp: Driver for GPIO expander via mailbox service
Dave Stevenson [Mon, 20 Feb 2017 17:01:21 +0000 (17:01 +0000)]
bcm2835-gpio-exp: Driver for GPIO expander via mailbox service

Pi3 and Compute Module 3 have a GPIO expander that the
VPU communicates with.
There is a mailbox service that now allows control of this
expander, so add a kernel driver that can make use of it.

Pwr_led node added to device-tree for Pi3.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
6 years agobcm2835-virtgpio: Virtual GPIO driver
popcornmix [Tue, 23 Feb 2016 19:56:04 +0000 (19:56 +0000)]
bcm2835-virtgpio: Virtual GPIO driver

Add a virtual GPIO driver that uses the firmware mailbox interface to
request that the VPU toggles LEDs.

6 years agorpi_display: add backlight driver and overlay
P33M [Wed, 21 Oct 2015 13:55:21 +0000 (14:55 +0100)]
rpi_display: add backlight driver and overlay

Add a mailbox-driven backlight controller for the Raspberry Pi DSI
touchscreen display. Requires updated GPU firmware to recognise the
mailbox request.

Signed-off-by: Gordon Hollingworth <gordon@raspberrypi.org>
6 years agoAllo Digione Driver (#2048)
sandeepal [Fri, 2 Jun 2017 13:29:46 +0000 (18:59 +0530)]
Allo Digione Driver (#2048)

Driver for the Allo Digione soundcard

6 years agoDriver support for Google voiceHAT soundcard.
Peter Malkin [Mon, 27 Mar 2017 23:38:21 +0000 (16:38 -0700)]
Driver support for Google voiceHAT soundcard.

6 years agoAdd support for the AudioInjector.net Octo sound card
Matt Flax [Wed, 8 Mar 2017 09:04:13 +0000 (20:04 +1100)]
Add support for the AudioInjector.net Octo sound card

AudioInjector Octo: sample rates, regulators, reset

This patch adds new sample rates to the Audioinjector Octo sound card. The
new supported rates are (in kHz) :
96, 48, 32, 24, 16, 8, 88.2, 44.1, 29.4, 22.05, 14.7

Reference the bcm270x DT regulators in the overlay.

This patch adds a reset GPIO for the AudioInjector.net octo sound card.

Audioinjector octo : Make the playback and capture symmetric

This patch ensures that the sample rate and channel count of the audioinjector
octo sound card are symmetric.

6 years agoAdd support for Fe-Pi audio sound card. (#1867)
Fe-Pi [Wed, 1 Mar 2017 11:42:43 +0000 (04:42 -0700)]
Add support for Fe-Pi audio sound card. (#1867)

Fe-Pi Audio Sound Card is based on NXP SGTL5000 codec.
Mechanical specification of the board is the same the Raspberry Pi Zero.
3.5mm jacks for Headphone/Mic, Line In, and Line Out.

Signed-off-by: Henry Kupis <fe-pi@cox.net>
6 years agosound: Support for Dion Audio LOCO-V2 DAC-AMP HAT
Miquel [Fri, 24 Feb 2017 19:51:06 +0000 (20:51 +0100)]
sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT

Signed-off-by: Miquel Blauw <info@dionaudio.nl>
6 years agoASoC: Add driver for Cirrus Logic Audio Card
Matthias Reichl [Sun, 22 Jan 2017 11:49:37 +0000 (12:49 +0100)]
ASoC: Add driver for Cirrus Logic Audio Card

Note: due to problems with deferred probing of regulators
the following softdep should be added to a modprobe.d file

softdep arizona-spi pre: arizona-ldo1

Signed-off-by: Matthias Reichl <hias@horus.com>
6 years agoSupport for Blokas Labs pisound board
gtrainavicius [Sun, 23 Oct 2016 09:06:53 +0000 (12:06 +0300)]
Support for Blokas Labs pisound board

Pisound dynamic overlay (#1760)

Restructuring pisound-overlay.dts, so it can be loaded and unloaded dynamically using dtoverlay.

Print a logline when the kernel module is removed.

pisound improvements:

* Added a writable sysfs object to enable scripts / user space software
to blink MIDI activity LEDs for variable duration.
* Improved hw_param constraints setting.
* Added compatibility with S16_LE sample format.
* Exposed some simple placeholder volume controls, so the card appears
in volumealsa widget.

Signed-off-by: Giedrius Trainavicius <giedrius@blokas.io>
6 years agoAdd support for Allo Boss DAC add-on board for Raspberry Pi. (#1924)
BabuSubashChandar [Tue, 28 Mar 2017 14:34:42 +0000 (20:04 +0530)]
Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924)

Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net>
Reviewed-by: Deepak <deepak@zilogic.com>
Reviewed-by: BabuSubashChandar <babusubashchandar@zilogic.com>
Add support for new clock rate and mute gpios.

Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net>
Reviewed-by: Deepak <deepak@zilogic.com>
Reviewed-by: BabuSubashChandar <babusubashchandar@zilogic.com>
6 years agoAdd support for Allo Piano DAC 2.1 plus add-on board for Raspberry Pi.
Raashid Muhammed [Mon, 27 Mar 2017 07:05:00 +0000 (12:35 +0530)]
Add support for Allo Piano DAC 2.1 plus add-on board for Raspberry Pi.

The Piano DAC 2.1 has support for 4 channels with subwoofer.

Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net>
Reviewed-by: Vijay Kumar B. <vijaykumar@zilogic.com>
Reviewed-by: Raashid Muhammed <raashidmuhammed@zilogic.com>
Add clock changes and mute gpios (#1938)

Also improve code style and adhere to ALSA coding conventions.

Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net>
Reviewed-by: Vijay Kumar B. <vijaykumar@zilogic.com>
Reviewed-by: Raashid Muhammed <raashidmuhammed@zilogic.com>
PianoPlus: Dual Mono & Dual Stereo features added (#2069)

6 years agoAllo Piano DAC boards: Initial 2 channel (stereo) support (#1645)
Clive Messer [Mon, 19 Sep 2016 13:01:04 +0000 (14:01 +0100)]
Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645)

Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards,
using allo-piano-dac-pcm512x-audio overlay and allo-piano-dac ALSA ASoC
machine driver.

NB. The initial support is 2 channel (stereo) ONLY!
(The Piano DAC 2.1 will only support 2 channel (stereo) left/right output,
 pending an update to the upstream pcm512x codec driver, which will have
 to be submitted via upstream. With the initial downstream support,
 provided by this patch, the Piano DAC 2.1 subwoofer outputs will
 not function.)

Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net>
Signed-off-by: Clive Messer <clive.messer@digitaldreamtime.co.uk>
Tested-by: Clive Messer <clive.messer@digitaldreamtime.co.uk>
6 years agoAdd support for Dion Audio LOCO DAC-AMP HAT
DigitalDreamtime [Sat, 2 Jul 2016 15:26:19 +0000 (16:26 +0100)]
Add support for Dion Audio LOCO DAC-AMP HAT

Using dedicated machine driver and pcm5102a codec driver.

Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
6 years agoNew driver for RRA DigiDAC1 soundcard using WM8741 + WM8804
escalator2015 [Tue, 24 May 2016 15:20:09 +0000 (16:20 +0100)]
New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804

6 years agoAdd IQAudIO Digi WM8804 board support
DigitalDreamtime [Thu, 30 Jun 2016 17:38:42 +0000 (18:38 +0100)]
Add IQAudIO Digi WM8804 board support

Support IQAudIO Digi board with iqaudio_digi machine driver and
 iqaudio-digi-wm8804-audio overlay.

NB. Machine driver is a cut and paste of hifiberry_digi code, with format
    and general cleanup to comply with kernel coding standards.

Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
6 years agoNew AudioInjector.net Pi soundcard with low jitter audio in and out.
Matt Flax [Mon, 16 May 2016 11:36:31 +0000 (21:36 +1000)]
New AudioInjector.net Pi soundcard with low jitter audio in and out.

Contains the sound/soc/bcm ALSA machine driver and necessary alterations to the Kconfig and Makefile.
Adds the dts overlay and updates the Makefile and README.
Updates the relevant defconfig files to enable building for the Raspberry Pi.
Thanks to Phil Elwell (pelwell) for the review, simple-card concepts and discussion. Thanks to Clive Messer for overlay naming suggestions.

Added support for headphones, microphone and bclk_ratio settings.

This patch adds headphone and microphone capability to the Audio Injector sound card. The patch also sets the bit clock ratio for use in the bcm2835-i2s driver. The bcm2835-i2s can't handle an 8 kHz sample rate when the bit clock is at 12 MHz because its register is only 10 bits wide which can't represent the ch2 offset of 1508. For that reason, the rate constraint is added.

6 years agoARM: adau1977-adc: Add basic machine driver for adau1977 codec driver.
Andrey Grodzovsky [Wed, 4 May 2016 02:10:59 +0000 (22:10 -0400)]
ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver.

This commit adds basic support for the codec usage including: Device tree overlay,
binding I2S bus and setting I2S mode, clock source and frequency setting according
to spec.

Signed-off-by: Andrey Grodzovsky <andrey2805@gmail.com>
6 years agoAdd Support for JustBoom Audio boards
Aaron Shaw [Thu, 7 Apr 2016 20:26:21 +0000 (21:26 +0100)]
Add Support for JustBoom Audio boards

justboom-dac: Adjust for ALSA API change

As of 4.4, snd_soc_limit_volume now takes a struct snd_soc_card *
rather than a struct snd_soc_codec *.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
6 years agoRaspiDAC3 support
Jan Grulich [Mon, 24 Aug 2015 15:03:47 +0000 (16:03 +0100)]
RaspiDAC3 support

Signed-off-by: Jan Grulich <jan@grulich.eu>
config: fix RaspiDAC Rev.3x dependencies

Change depends to SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
like the other I2S soundcard drivers.

Signed-off-by: Matthias Reichl <hias@horus.com>
6 years agoAdd driver for rpi-proto
Waldemar Brodkorb [Wed, 25 Mar 2015 08:26:17 +0000 (09:26 +0100)]
Add driver for rpi-proto

Forward port of 3.10.x driver from https://github.com/koalo
We are using a custom board and would like to use rpi 3.18.x
kernel. Patch works fine for our embedded system.

URL to the audio chip:
http://www.mikroe.com/add-on-boards/audio-voice/audio-codec-proto/

Playback tested with devicetree enabled.

Signed-off-by: Waldemar Brodkorb <wbrodkorb@conet.de>
6 years agoAdded driver for HiFiBerry Amp amplifier add-on board
Daniel Matuschek [Mon, 4 Aug 2014 09:09:58 +0000 (11:09 +0200)]
Added driver for HiFiBerry Amp amplifier add-on board

The driver contains a low-level hardware driver for the TAS5713 and the
drivers for the Raspberry Pi I2S subsystem.

TAS5713: return error if initialisation fails

Existing TAS5713 driver logs errors during initialisation, but does not return
an error code. Therefore even if initialisation fails, the driver will still be
loaded, but won't work. This patch fixes this. I2C communication error will now
reported correctly by a non-zero return code.

HiFiBerry Amp: fix device-tree problems

Some code to load the driver based on device-tree-overlays was missing. This is added by this patch.

6 years agoAdded support for HiFiBerry DAC+
Daniel Matuschek [Mon, 4 Aug 2014 08:06:56 +0000 (10:06 +0200)]
Added support for HiFiBerry DAC+

The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses
a different codec chip (PCM5122), therefore a new driver is necessary.

Add support for the HiFiBerry DAC+ Pro.

The HiFiBerry DAC+ and DAC+ Pro products both use the existing bcm sound driver with the DAC+ Pro having a special clock device driver representing the two high precision oscillators.

An addition bug fix is included for the PCM512x codec where by the physical size of the sample frame is used in the calculation of the LRCK divisor as it was found to be wrong when using 24-bit depth sample contained in a little endian 4-byte sample frame.

Limit PCM512x "Digital" gain to 0dB by default with HiFiBerry DAC+

24db_digital_gain DT param can be used to specify that PCM512x
codec "Digital" volume control should not be limited to 0dB gain,
and if specified will allow the full 24dB gain.

Add dt param to force HiFiBerry DAC+ Pro into slave mode

"dtoverlay=hifiberry-dacplus,slave"

Add 'slave' param to use HiFiBerry DAC+ Pro in slave mode,
with Pi as master for bit and frame clock.

Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
6 years agoAdd IQaudIO Sound Card support for Raspberry Pi
Gordon Garrity [Sat, 8 Mar 2014 16:56:57 +0000 (16:56 +0000)]
Add IQaudIO Sound Card support for Raspberry Pi

Set a limit of 0dB on Digital Volume Control

The main volume control in the PCM512x DAC has a range up to
+24dB. This is dangerously loud and can potentially cause massive
clipping in the output stages. Therefore this sets a sensible
limit of 0dB for this control.

Allow up to 24dB digital gain to be applied when using IQAudIO DAC+

24db_digital_gain DT param can be used to specify that PCM512x
codec "Digital" volume control should not be limited to 0dB gain,
and if specified will allow the full 24dB gain.

Modify IQAudIO DAC+ ASoC driver to set card/dai config from dt

Add the ability to set the card name, dai name and dai stream name, from
dt config.

Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
IQaudIO: auto-mute for AMP+ and DigiAMP+

IQAudIO amplifier mute via GPIO22. Add dt params for "one-shot" unmute
and auto mute.

Revision 2, auto mute implementing HiassofT suggestion to mute/unmute
using set_bias_level, rather than startup/shutdown....
"By default DAPM waits 5 seconds (pmdown_time) before shutting down
playback streams so a close/stop immediately followed by open/start
doesn't trigger an amp mute+unmute."

Tested on both AMP+ (via DAC+) and DigiAMP+, with both options...

dtoverlay=iqaudio-dacplus,unmute_amp
 "one-shot" unmute when kernel module loads.

dtoverlay=iqaudio-dacplus,auto_mute_amp
 Unmute amp when ALSA device opened by a client. Mute, with 5 second delay
 when ALSA device closed. (Re-opening the device within the 5 second close
 window, will cancel mute.)

Revision 4, using gpiod.

Revision 5, clean-up formatting before adding mute code.
 - Convert tab plus 4 space formatting to 2x tab
 - Remove '// NOT USED' commented code

Revision 6, don't attempt to "one-shot" unmute amp, unless card is
successfully registered.

Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
6 years agoASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver.
Daniel Matuschek [Wed, 15 Jan 2014 20:42:08 +0000 (21:42 +0100)]
ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver.

Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
Add a parameter to turn off SPDIF output if no audio is playing

This patch adds the paramater auto_shutdown_output to the kernel module.
Default behaviour of the module is the same, but when auto_shutdown_output
is set to 1, the SPDIF oputput will shutdown if no stream is playing.

bugfix for 32kHz sample rate, was missing

HiFiBerry Digi: set SPDIF status bits for sample rate

The HiFiBerry Digi driver did not signal the sample rate in the SPDIF status bits.
While this is optional, some DACs and receivers do not accept this signal. This patch
adds the sample rate bits in the SPDIF status block.

Added HiFiBerry Digi+ Pro driver

Signed-off-by: Daniel Matuschek <daniel@hifiberry.com>
6 years agoASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can...
Daniel Matuschek [Wed, 15 Jan 2014 20:41:23 +0000 (21:41 +0100)]
ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an additional mclk_div divider, it is now possible to control the behaviour. This allows using 256xfs PLL frequency on all sample rates up to 96kHz. It should allow lower jitter and better signal quality. The behavior has to be controlled by the sound card driver, because some sample frequency share the same setting. e.g. 192kHz and 96kHz use 24.576MHz master clock. The only difference is the MCLK divider.

This also added support for 32bit data.

Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
6 years agoASoC: Add support for Rpi-DAC
Florian Meier [Mon, 25 Jan 2016 15:48:59 +0000 (15:48 +0000)]
ASoC: Add support for Rpi-DAC

6 years agoASoC: Add support for HifiBerry DAC
Florian Meier [Fri, 22 Nov 2013 18:19:08 +0000 (19:19 +0100)]
ASoC: Add support for HifiBerry DAC

This adds a machine driver for the HifiBerry DAC.
It is a sound card that can
be stacked onto the Raspberry Pi.

Signed-off-by: Florian Meier <florian.meier@koalo.de>
6 years agomfd: Add Raspberry Pi Sense HAT core driver
Phil Elwell [Tue, 14 Jul 2015 13:32:47 +0000 (14:32 +0100)]
mfd: Add Raspberry Pi Sense HAT core driver

6 years agogpio-poweroff: Allow it to work on Raspberry Pi
Phil Elwell [Thu, 25 Jun 2015 11:16:11 +0000 (12:16 +0100)]
gpio-poweroff: Allow it to work on Raspberry Pi

The Raspberry Pi firmware manages the power-down and reboot
process. To do this it installs a pm_power_off handler, causing
the gpio-poweroff module to abort the probe function.

This patch introduces a "force" DT property that overrides that
behaviour, and also adds a DT overlay to enable and control it.

Note that running in an active-low configuration (DT parameter
"active_low") requires a custom dt-blob.bin and probably won't
allow a reboot without switching off, so an external inversion
of the trigger signal may be preferable.

6 years agoImprove __copy_to_user and __copy_from_user performance
popcornmix [Mon, 28 Nov 2016 16:50:04 +0000 (16:50 +0000)]
Improve __copy_to_user and __copy_from_user performance

Provide a __copy_from_user that uses memcpy. On BCM2708, use
optimised memcpy/memmove/memcmp/memset implementations.

arch/arm: Add mmiocpy/set aliases for memcpy/set

See: https://github.com/raspberrypi/linux/issues/1082

copy_from_user: CPU_SW_DOMAIN_PAN compatibility

The downstream copy_from_user acceleration must also play nice with
CONFIG_CPU_SW_DOMAIN_PAN.

See: https://github.com/raspberrypi/linux/issues/1381

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
6 years agorpi-ft5406: Add touchscreen driver for pi LCD display
Gordon Hollingworth [Tue, 12 May 2015 13:47:56 +0000 (14:47 +0100)]
rpi-ft5406: Add touchscreen driver for pi LCD display

Fix driver detection failure Check that the buffer response is non-zero meaning the touchscreen was detected

rpi-ft5406: Use firmware API

RPI-FT5406: Enable aarch64 support through explicit iomem interface

Signed-off-by: Gerhard de Clercq <gerharddeclercq@outlook.com>
6 years agohid: Reduce default mouse polling interval to 60Hz
popcornmix [Mon, 14 Jul 2014 21:02:09 +0000 (22:02 +0100)]
hid: Reduce default mouse polling interval to 60Hz

Reduces overhead when using X

6 years agoAdded Device IDs for August DVB-T 205
popcornmix [Tue, 2 Jul 2013 23:54:08 +0000 (00:54 +0100)]
Added Device IDs for August DVB-T 205

6 years agoenabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module)
popcornmix [Wed, 8 May 2013 10:46:50 +0000 (11:46 +0100)]
enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module)

1-wire: Add support for configuring pin for w1-gpio kernel module
See: https://github.com/raspberrypi/linux/pull/457

Add bitbanging pullups, use them for w1-gpio

Allows parasite power to work, uses module option pullup=1

bcm2708: Ensure 1-wire pullup is disabled by default, and expose as module parameter

Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
w1-gpio: Add gpiopin module parameter and correctly free up gpio pull-up pin, if set

Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
w1-gpio: Sort out the pullup/parasitic power tangle