Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
pifi-dac-zero.dtbo \
pifi-mini-210.dtbo \
piglow.dtbo \
pimidi.dtbo \
pineboards-hat-ai.dtbo \
pineboards-hatdrive-poe-plus.dtbo \
piscreen.dtbo \
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -3701,6 +3701,14 @@ Load: dtoverlay=piglow
Params: <None>


Name: pimidi
Info: Configures the Blokas Labs Pimidi card
Load: dtoverlay=pimidi,<param>=<val>
Params: sel The position used for the sel rotary switch.
Each unit in the stack must be set on a unique
position. If param is omitted, sel=0 is assumed.


Name: pineboards-hat-ai
Info: Pineboards Hat Ai! overlay for the Google Coral Edge TPU
Load: dtoverlay=pineboards-hat-ai
Expand Down
54 changes: 54 additions & 0 deletions arch/arm/boot/dts/overlays/pimidi-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/*
* Pimidi Linux kernel module.
* Copyright (C) 2017-2024 Vilniaus Blokas UAB, https://blokas.io/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; version 2 of the
* License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
compatible = "brcm,bcm2835";

fragment@0 {
target = <&i2c_arm>;
__overlay__ {
status = "okay";
clock-frequency=<1000000>;

pimidi_ctrl: pimidi_ctrl@20 {
compatible = "blokaslabs,pimidi";

reg = <0x20>;
status = "okay";

interrupt-parent = <&gpio>;
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
interrupt-names = "data_ready";
interrupt-controller;
#interrupt-cells = <2>;

data-ready-gpios = <&gpio 23 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
reset-gpios = <&gpio 22 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
};
};
};

__overrides__ {
sel = <&pimidi_ctrl>,"reg:0{0=0x20,1=0x21,2=0x22,3=0x23}",
<&pimidi_ctrl>,"data-ready-gpios:4{0=23,1=5,2=6,3=27}",
<&pimidi_ctrl>,"interrupts:0{0=23,1=5,2=6,3=27}";
};
};
1 change: 1 addition & 0 deletions arch/arm/configs/bcm2709_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1058,6 +1058,7 @@ CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m
CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m
CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m
CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m
CONFIG_SND_PIMIDI=m
CONFIG_SND_PISOUND=m
CONFIG_SND_DACBERRY400=m
CONFIG_SND_SOC_AD193X_SPI=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1083,6 +1083,7 @@ CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m
CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m
CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m
CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m
CONFIG_SND_PIMIDI=m
CONFIG_SND_PISOUND=m
CONFIG_SND_DACBERRY400=m
CONFIG_SND_SOC_AD193X_SPI=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm/configs/bcmrpi_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1052,6 +1052,7 @@ CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m
CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m
CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m
CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m
CONFIG_SND_PIMIDI=m
CONFIG_SND_PISOUND=m
CONFIG_SND_SOC_AD193X_SPI=m
CONFIG_SND_SOC_AD193X_I2C=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1126,6 +1126,7 @@ CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m
CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m
CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m
CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m
CONFIG_SND_PIMIDI=m
CONFIG_SND_PISOUND=m
CONFIG_SND_DACBERRY400=m
CONFIG_SND_DESIGNWARE_I2S=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2712_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1129,6 +1129,7 @@ CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m
CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m
CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m
CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m
CONFIG_SND_PIMIDI=m
CONFIG_SND_PISOUND=m
CONFIG_SND_DACBERRY400=m
CONFIG_SND_DESIGNWARE_I2S=m
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcmrpi3_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1025,6 +1025,7 @@ CONFIG_SND_BCM2708_SOC_ALLO_BOSS2_DAC=m
CONFIG_SND_BCM2708_SOC_ALLO_DIGIONE=m
CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC=m
CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO=m
CONFIG_SND_PIMIDI=m
CONFIG_SND_PISOUND=m
CONFIG_SND_DACBERRY400=m
CONFIG_SND_SOC_AD193X_SPI=m
Expand Down
10 changes: 10 additions & 0 deletions sound/drivers/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -263,4 +263,14 @@

See SND_AC97_POWER_SAVE for more details.

config SND_PIMIDI

Check failure on line 266 in sound/drivers/Kconfig

View workflow job for this annotation

GitHub Actions / checkpatch review

WARNING: please write a help paragraph that fully describes the config symbol
tristate "Pimidi driver"
depends on SND_SEQUENCER && CRC8
select SND_RAWMIDI
help
Say Y here to include support for Blokas Pimidi.

To compile this driver as a module, choose M here: the module
will be called snd-pimidi.

endif # SND_DRIVERS
2 changes: 2 additions & 0 deletions sound/drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ snd-aloop-objs := aloop.o
snd-mtpav-objs := mtpav.o
snd-mts64-objs := mts64.o
snd-pcmtest-objs := pcmtest.o
snd-pimidi-objs := pimidi.o
snd-portman2x4-objs := portman2x4.o
snd-serial-u16550-objs := serial-u16550.o
snd-serial-generic-objs := serial-generic.o
Expand All @@ -23,6 +24,7 @@ obj-$(CONFIG_SND_SERIAL_U16550) += snd-serial-u16550.o
obj-$(CONFIG_SND_SERIAL_GENERIC) += snd-serial-generic.o
obj-$(CONFIG_SND_MTPAV) += snd-mtpav.o
obj-$(CONFIG_SND_MTS64) += snd-mts64.o
obj-$(CONFIG_SND_PIMIDI) += snd-pimidi.o
obj-$(CONFIG_SND_PORTMAN2X4) += snd-portman2x4.o

obj-$(CONFIG_SND) += opl3/ opl4/ mpu401/ vx/ pcsp/
Loading
Loading