Skip to content

Add support for the AudioInjector Octo sound card, simplify bcm2835_i2s stereo check. #1884

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

Merged
merged 2 commits into from
Mar 8, 2017

Conversation

flatmax
Copy link
Contributor

@flatmax flatmax commented Mar 8, 2017

This patch set does the following :
Adds support for the AudioInjector Octo sound card.
Simplifies the stereo channel check in the bcm2835_i2s.c driver.

The old switch statement for testing stereo channels is replaced with an if condition on mono channels.

@flatmax
Copy link
Contributor Author

flatmax commented Mar 8, 2017

Phil, I have switched the order in the README and Makefile - as requested

@pelwell
Copy link
Contributor

pelwell commented Mar 8, 2017

Can you rebase and force push to tidy up the PR?

@HiassofT
Copy link
Contributor

HiassofT commented Mar 8, 2017

again, please drop the I2S changes.

@flatmax
Copy link
Contributor Author

flatmax commented Mar 8, 2017

Matthias, the I2S changes are entirely compliant. It checks that we aren't specifying mono (if so exiting with error as per before) and if stereo, it is setting the I2S format.

If you want an I2S compliant driver, then this bcm2835_i2s.c is entirely compliant.

@HiassofT
Copy link
Contributor

HiassofT commented Mar 8, 2017

The I2S patch doesn't simplify anything, is not needed and removes important semantics. IMO it makes the code harder to read.

The way that code part is currently implemented it's obvious that the chip only supports 2 channels.

Your patch changes the semantics of the code to "every setup excecpt 1 channels" are supported. Plus, the code makes no sense, there's still the channels_min = channels_max = 2 in the dai_driver.

@flatmax
Copy link
Contributor Author

flatmax commented Mar 8, 2017 via email

@HiassofT
Copy link
Contributor

HiassofT commented Mar 8, 2017

Simple answer: because it's a lot more readable and understandable. You look at the code part you changed and immediately know that only 2 channels will work, not 3 or 13.

@pelwell
Copy link
Contributor

pelwell commented Mar 8, 2017

@flatmax After some debate we're happy to accept your one-line "case 8" patch and take the (probably non-existent) hit of supporting it downstream.

Just replace the bcm2835-i2s patch here and force push - I've already checked the rest is good - and I'll merge it.

@HiassofT
Copy link
Contributor

HiassofT commented Mar 8, 2017 via email

@pelwell
Copy link
Contributor

pelwell commented Mar 8, 2017

I'm braced for the flood of issues.

@flatmax
Copy link
Contributor Author

flatmax commented Mar 8, 2017 via email

@pelwell pelwell merged commit 8911a63 into raspberrypi:rpi-4.9.y Mar 8, 2017
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Mar 13, 2017
kernel: BCM270X_DT: Invert Pi3 power LED to match fw change
See: raspberrypi/linux#1879

kernel: Add support for the AudioInjector Octo sound card
See: raspberrypi/linux#1884

kernel: Fix gadget mode for bcm2835
See: raspberrypi/linux#1887

kernel: bcm2835-v4l2: Fix buffer overflow problem
See: raspberrypi/linux#1890

kernel: Add support for Fe-Pi audio sound card
See: raspberrypi/linux#1867

kernel: BCM270X_DT: Flip the polarity of the CM3's HDMI HPD
See: raspberrypi/linux#1869

kernel: Add overlay for ads1115 ADCs
See: raspberrypi/linux#1864

kernel: config: Add CONFIG_CRYPTO_LZ4
See: raspberrypi/linux#1875

kernel: clk-bcm2835: Read max core clock from firmware

firmware: GPIO expander: rework so the mailbox service reads raw values
firmware: arm_loader: Check GPIO direction for low_voltage
See: raspberrypi/linux#1879

firmware: warnings: Fix some mostly spurious warnings

firmware: clock: Calculate PLL multipliers with more precision
firmware: Set up HDMI VCO same for VEC as for HDMI

firmeare: gpu_server: Move detailed logging to LOGGING_VMCS_VERBOSE category
popcornmix added a commit to Hexxeh/rpi-firmware that referenced this pull request Mar 13, 2017
kernel: BCM270X_DT: Invert Pi3 power LED to match fw change
See: raspberrypi/linux#1879

kernel: Add support for the AudioInjector Octo sound card
See: raspberrypi/linux#1884

kernel: Fix gadget mode for bcm2835
See: raspberrypi/linux#1887

kernel: bcm2835-v4l2: Fix buffer overflow problem
See: raspberrypi/linux#1890

kernel: Add support for Fe-Pi audio sound card
See: raspberrypi/linux#1867

kernel: BCM270X_DT: Flip the polarity of the CM3's HDMI HPD
See: raspberrypi/linux#1869

kernel: Add overlay for ads1115 ADCs
See: raspberrypi/linux#1864

kernel: config: Add CONFIG_CRYPTO_LZ4
See: raspberrypi/linux#1875

kernel: clk-bcm2835: Read max core clock from firmware

firmware: GPIO expander: rework so the mailbox service reads raw values
firmware: arm_loader: Check GPIO direction for low_voltage
See: raspberrypi/linux#1879

firmware: warnings: Fix some mostly spurious warnings

firmware: clock: Calculate PLL multipliers with more precision
firmware: Set up HDMI VCO same for VEC as for HDMI

firmeare: gpu_server: Move detailed logging to LOGGING_VMCS_VERBOSE category
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants