Adding Pisound Micro kernel module based on rpi-6.12.y#6731
Adding Pisound Micro kernel module based on rpi-6.12.y#6731pelwell merged 3 commits intoraspberrypi:rpi-6.12.yfrom
Conversation
Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io>
Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io>
pelwell
left a comment
There was a problem hiding this comment.
This is a huge PR. Are the difference to the standard adau1961 driver so great that a complete fork was the best way forward?
arch/arm/boot/dts/overlays/README
Outdated
|
|
||
| Name: pisound-micro | ||
| Info: Configures the Blokas Labs Pisound Micro card | ||
| Load: dtoverlay=pisound-micro |
There was a problem hiding this comment.
You'll have to add ,<param>=<val> here.
arch/arm/boot/dts/overlays/README
Outdated
| Name: pisound-micro | ||
| Info: Configures the Blokas Labs Pisound Micro card | ||
| Load: dtoverlay=pisound-micro | ||
| Params: input-mode 'differential' (default) or 'single-ended'. |
There was a problem hiding this comment.
Indents are at fixed character positions. Each of these lines needs an extra space for the body text. Fortunately, there is room.
There was a problem hiding this comment.
Fixed both README issues.
| }; | ||
|
|
||
| __overrides__ { | ||
| input-mode=<&pisound_micro_codec>,"input-mode{single-ended,differential}"; |
There was a problem hiding this comment.
That's a nice use of lookup tables for input validation.
| }; | ||
|
|
||
| __exports__ { | ||
| pisound_micro_ctrl; |
There was a problem hiding this comment.
How do you plan to use the label outside the overlay?
There was a problem hiding this comment.
Here's an example how rotary-encoder driver could be used with that:
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = "brcm,bcm2835";
fragment@0 {
target-path = "/";
__overlay__ {
rotary_encoder@0 {
compatible = "rotary-encoder";
gpios = <&pisound_micro_ctrl 0 GPIO_ACTIVE_LOW>, <&pisound_micro_ctrl 1 GPIO_ACTIVE_LOW>;
linux,axis = <0>;
rotary-encoder,encoding = "binary";
rotary-encoder,rollover;
};
};
};
};
Yes, it does some things specific to Pisound Micro, like VGND short protection logic, as well as slightly different power management for better audio. These customizations make sense for Pisound Micro, it might not make sense for general users, so that's the main reason to have Pisound Micro specific fork of the code. |
11b0c84 to
12bd258
Compare
Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io>
12bd258 to
dd3f78d
Compare
|
It's with a slightly heavy heart that I'm going to merge this, on the understanding that, as with similar sound cards, if forward porting becomes non-trivial in the future then it may get dropped. |
|
Thank you! Please contact us in case there's any non trivial support issues in future kernel code, as you'll likely notice it sooner than we do. |
kernel: fixup! dmaengine: dw-axi-dmac: Fixes for RP1 See: raspberrypi/linux#6729 kernel: drm/vc4: Correct arithmetic for shifting between columns of SAND images See: raspberrypi/linux#6730 kernel: Adding Pisound Micro kernel module based on rpi-6.12.y See: raspberrypi/linux#6731 kernel: Fix two more RP1 DMA bugs See: raspberrypi/linux#6734 kernel: dts: bcm2712-rpi: Add uart0_nodma See: raspberrypi/linux#6365
kernel: fixup! dmaengine: dw-axi-dmac: Fixes for RP1 See: raspberrypi/linux#6729 kernel: drm/vc4: Correct arithmetic for shifting between columns of SAND images See: raspberrypi/linux#6730 kernel: Adding Pisound Micro kernel module based on rpi-6.12.y See: raspberrypi/linux#6731 kernel: Fix two more RP1 DMA bugs See: raspberrypi/linux#6734 kernel: dts: bcm2712-rpi: Add uart0_nodma See: raspberrypi/linux#6365
Continuing from #6728