From 0a36540c6a3b383a554412bf65cc75d65f7b77f8 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 14 Apr 2016 01:00:58 +0100 Subject: [PATCH] Add support for the Digital Dreamtime Akkordion music player. Support the Digital Dreamtime Akkordion using the OEM IQAudIO DAC+ or DACZero modules. Set ALSA card name, ("Akkordion"), from dt config. Signed-off-by: DigitalDreamtime --- arch/arm/boot/dts/overlays/Makefile | 1 + arch/arm/boot/dts/overlays/README | 20 ++++++++++ .../dts/overlays/akkordion-iqdacplus-overlay.dts | 46 ++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -13,6 +13,7 @@ ifeq ($(CONFIG_ARCH_BCM2835),y) endif dtbo-$(RPI_DT_OVERLAYS) += ads7846.dtbo +dtbo-$(RPI_DT_OVERLAYS) += akkordion-iqdacplus.dtbo dtbo-$(RPI_DT_OVERLAYS) += at86rf233.dtbo dtbo-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor.dtbo dtbo-$(RPI_DT_OVERLAYS) += dpi24.dtbo --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -186,6 +186,26 @@ Params: cs SPI bus www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt +Name: akkordion-iqdacplus +Info: Configures the Digital Dreamtime Akkordion Music Player (based on the + OEM IQAudIO DAC+ or DAC Zero module). +Load: dtoverlay=akkordion-iqdacplus,= +Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec + Digital volume control. Enable with + dtoverlay=akkordion-iqdacplus,24db_digital_gain + (The default behaviour is that the Digital + volume control is limited to a maximum of + 0dB. ie. it can attenuate but not provide + gain. For most users, this will be desired + as it will prevent clipping. By appending + the 24db_digital_gain parameter, the Digital + volume control will allow up to 24dB of + gain. If this parameter is enabled, it is the + responsibility of the user to ensure that + the Digital volume control is set to a value + that does not result in clipping/distortion!) + + Name: at86rf233 Info: Configures the Atmel AT86RF233 802.15.4 low-power WPAN transceiver, connected to spi0.0 --- /dev/null +++ b/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts @@ -0,0 +1,46 @@ +// Definitions for Digital Dreamtime Akkordion using IQaudIO DAC+ or DACZero +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2708"; + + fragment@0 { + target = <&sound>; + frag0: __overlay__ { + compatible = "iqaudio,iqaudio-dac"; + card_name = "Akkordion"; + dai_name = "IQaudIO DAC"; + dai_stream_name = "IQaudIO DAC HiFi"; + i2s-controller = <&i2s>; + status = "okay"; + }; + }; + + fragment@1 { + target = <&i2s>; + __overlay__ { + status = "okay"; + }; + }; + + fragment@2 { + target = <&i2c1>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + pcm5122@4c { + #sound-dai-cells = <0>; + compatible = "ti,pcm5122"; + reg = <0x4c>; + status = "okay"; + }; + }; + }; + + __overrides__ { + 24db_digital_gain = <&frag0>,"iqaudio,24db_digital_gain?"; + }; +};