brcm2708: update linux 4.4 patches to latest version
[librecmc/librecmc.git] / target / linux / brcm2708 / patches-4.4 / 0240-Add-support-for-the-Digital-Dreamtime-Akkordion-musi.patch
1 From ddef7a853652982c2796db7f43d067d8487bc7e9 Mon Sep 17 00:00:00 2001
2 From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
3 Date: Thu, 14 Apr 2016 01:00:58 +0100
4 Subject: [PATCH 240/304] Add support for the Digital Dreamtime Akkordion music
5  player.
6
7 Support the Digital Dreamtime Akkordion using the OEM IQAudIO DAC+ or
8 DACZero modules. Set ALSA card name, ("Akkordion"), from dt config.
9
10 Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
11 ---
12  arch/arm/boot/dts/overlays/Makefile                |  1 +
13  arch/arm/boot/dts/overlays/README                  | 20 ++++++++++
14  .../dts/overlays/akkordion-iqdacplus-overlay.dts   | 46 ++++++++++++++++++++++
15  3 files changed, 67 insertions(+)
16  create mode 100644 arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts
17
18 --- a/arch/arm/boot/dts/overlays/Makefile
19 +++ b/arch/arm/boot/dts/overlays/Makefile
20 @@ -13,6 +13,7 @@ ifeq ($(CONFIG_ARCH_BCM2835),y)
21  endif
22  
23  dtbo-$(RPI_DT_OVERLAYS) += ads7846.dtbo
24 +dtbo-$(RPI_DT_OVERLAYS) += akkordion-iqdacplus.dtbo
25  dtbo-$(RPI_DT_OVERLAYS) += at86rf233.dtbo
26  dtbo-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor.dtbo
27  dtbo-$(RPI_DT_OVERLAYS) += dpi24.dtbo
28 --- a/arch/arm/boot/dts/overlays/README
29 +++ b/arch/arm/boot/dts/overlays/README
30 @@ -186,6 +186,26 @@ Params: cs                      SPI bus
31          www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt
32  
33  
34 +Name:   akkordion-iqdacplus
35 +Info:   Configures the Digital Dreamtime Akkordion Music Player (based on the
36 +        OEM IQAudIO DAC+ or DAC Zero module).
37 +Load:   dtoverlay=akkordion-iqdacplus,<param>=<val>
38 +Params: 24db_digital_gain       Allow gain to be applied via the PCM512x codec
39 +                                Digital volume control. Enable with
40 +                                dtoverlay=akkordion-iqdacplus,24db_digital_gain
41 +                                (The default behaviour is that the Digital
42 +                                volume control is limited to a maximum of
43 +                                0dB. ie. it can attenuate but not provide
44 +                                gain. For most users, this will be desired
45 +                                as it will prevent clipping. By appending
46 +                                the 24db_digital_gain parameter, the Digital
47 +                                volume control will allow up to 24dB of
48 +                                gain. If this parameter is enabled, it is the
49 +                                responsibility of the user to ensure that
50 +                                the Digital volume control is set to a value
51 +                                that does not result in clipping/distortion!)
52 +
53 +
54  Name:   at86rf233
55  Info:   Configures the Atmel AT86RF233 802.15.4 low-power WPAN transceiver,
56          connected to spi0.0
57 --- /dev/null
58 +++ b/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts
59 @@ -0,0 +1,46 @@
60 +// Definitions for Digital Dreamtime Akkordion using IQaudIO DAC+ or DACZero
61 +/dts-v1/;
62 +/plugin/;
63 +
64 +/ {
65 +       compatible = "brcm,bcm2708";
66 +
67 +       fragment@0 {
68 +               target = <&sound>;
69 +               frag0: __overlay__ {
70 +                       compatible = "iqaudio,iqaudio-dac";
71 +                       card_name = "Akkordion";
72 +                       dai_name = "IQaudIO DAC";
73 +                       dai_stream_name = "IQaudIO DAC HiFi";
74 +                       i2s-controller = <&i2s>;
75 +                       status = "okay";
76 +               };
77 +       };
78 +
79 +       fragment@1 {
80 +               target = <&i2s>;
81 +               __overlay__ {
82 +                       status = "okay";
83 +               };
84 +       };
85 +
86 +       fragment@2 {
87 +               target = <&i2c1>;
88 +               __overlay__ {
89 +                       #address-cells = <1>;
90 +                       #size-cells = <0>;
91 +                       status = "okay";
92 +
93 +                       pcm5122@4c {
94 +                               #sound-dai-cells = <0>;
95 +                               compatible = "ti,pcm5122";
96 +                               reg = <0x4c>;
97 +                               status = "okay";
98 +                       };
99 +               };
100 +       };
101 +
102 +       __overrides__ {
103 +               24db_digital_gain = <&frag0>,"iqaudio,24db_digital_gain?";
104 +       };
105 +};