0240-Add-support-for-the-Digital-Dreamtime-Akkordion-musi.patch 3.6 KB

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