Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I2S: switch to bcm2835 #1163

Merged
merged 10 commits into from
Oct 25, 2015
Merged

I2S: switch to bcm2835 #1163

merged 10 commits into from
Oct 25, 2015

Commits on Oct 25, 2015

  1. BCM270X_DT: configure I2S DMA channels

    Signed-off-by: Matthias Reichl <hias@horus.com>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    a608f3d View commit details
    Browse the repository at this point in the history
  2. bcm2835-i2s: get base address for DMA from devicetree

    Code copied from spi-bcm2835. Get physical address from devicetree
    instead of using hardcoded constant.
    
    Signed-off-by: Matthias Reichl <hias@horus.com>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    09f2ad2 View commit details
    Browse the repository at this point in the history
  3. configs: enable SND_BCM2835_SOC_I2S

    Allow bcm2835-i2s compilation on BCM270x and enable in bcm2709_defconfig
    and bcmrpi_defconfig
    
    Signed-off-by: Matthias Reichl <hias@horus.com>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    f85e680 View commit details
    Browse the repository at this point in the history
  4. bcm2835-i2s: add 24bit support, update bclk_ratio to more correct values

    Code ported from bcm2708-i2s driver in Raspberry Pi tree.
    
    RPi commit 62c05a0 ("ASoC: BCM2708:
    Add 24 bit support")
    
    This adds 24 bit support to the I2S driver of the BCM2708.
    Besides enabling the 24 bit flags, it includes two bug fixes:
    
    MMAP is not supported. Claiming this leads to strange issues
    when the format of driver and file do not match.
    
    The datasheet states that the width extension bit should be set
    for widths greater than 24, but greater or equal would be correct.
    This follows from the definition of the width field.
    
    Signed-off-by: Florian Meier <florian.meier@koalo.de>
    
    RPi commit 3e8c672 ("bcm2708-i2s:
    Update bclk_ratio to more correct values")
    
    Discussion about blck_ratio affecting sound quality:
    raspberrypi#681
    
    Signed-off-by: Matthias Reichl <hias@horus.com>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    ed8aabb View commit details
    Browse the repository at this point in the history
  5. bcm2835-i2s: setup clock only if CPU is clock master

    Code ported from bcm2708-i2s driver in Raspberry Pi tree.
    
    RPi commit c14827e ("bcm2708: Allow
    option card devices to be configured via DT")
    
    Original work by Zoltan Szenczi, committed to RPi tree by
    Phil Elwell.
    
    Signed-off-by: Matthias Reichl <hias@horus.com>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    63a766b View commit details
    Browse the repository at this point in the history
  6. bcm2835-i2s: Eliminate debugfs directory error

    Code ported from bcm2708-i2s driver in Raspberry Pi tree.
    
    RPi commit fd7d7a3 ("bcm2708:
    Eliminate i2s debugfs directory error")
    
    Qualify the two regmap ranges uses by bcm2708-i2s ('-i2s' and '-clk')
    to avoid the name clash when registering debugfs entries.
    
    Signed-off-by: Matthias Reichl <hias@horus.com>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    f9dc631 View commit details
    Browse the repository at this point in the history
  7. bcm2835-i2s: Register PCM device

    Code ported from bcm2708-i2s driver in Raspberry Pi tree.
    
    RPi commit ba46b49 ("ASoC: Add
    support for BCM2708")
    
    This driver adds support for digital audio (I2S)
    for the BCM2708 SoC that is used by the
    Raspberry Pi. External audio codecs can be
    connected to the Raspberry Pi via P5 header.
    
    It relies on cyclic DMA engine support for BCM2708.
    
    Signed-off-by: Florian Meier <florian.meier@koalo.de>
    
    Signed-off-by: Matthias Reichl <hias@horus.com>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    b2a221f View commit details
    Browse the repository at this point in the history
  8. bcm2835-i2s: Enable MMAP support via a DT property

    Code ported from bcm2708-i2s driver in Raspberry Pi tree.
    
    RPi commit 7ee829f ("bcm2708-i2s:
    Enable MMAP support via a DT property and overlay")
    
    The i2s driver used to claim to support MMAP, but that feature was disabled
    when some problems were found. Add the ability to enable this feature
    through Device Tree, using the i2s-mmap overlay.
    
    See: raspberrypi#1004
    
    Signed-off-by: Matthias Reichl <hias@horus.com>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    ba54fa9 View commit details
    Browse the repository at this point in the history
  9. BCM270X_DT: switch to bcm2835-i2s

    I2S soundcard drivers with proper devicetree support (i.e. not linking
    to the cpu_dai/platform via name but to cpu/platform via of_node)
    will work out of the box without any modifications.
    
    When the kernel is compiled without devicetree support the platform
    code will instantiate the bcm2708-i2s driver and I2S soundcard drivers
    will link to it via name, as before.
    
    Signed-off-by: Matthias Reichl <hias@horus.com>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    f458925 View commit details
    Browse the repository at this point in the history
  10. 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>
    HiassofT committed Oct 25, 2015
    Configuration menu
    Copy the full SHA
    d6c9e7f View commit details
    Browse the repository at this point in the history