From 36a2db8647b19b0c8576a10ab787b14098049f9b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 28 Feb 2018 21:29:42 +0000 Subject: [PATCH 235/454] overlays: Add overlay for PiBell soundcard This overlay is presented as another example of using the simple card driver. See: https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=99784&p=1279490#p1278971 Signed-off-by: Phil Elwell --- arch/arm/boot/dts/overlays/Makefile | 1 + arch/arm/boot/dts/overlays/README | 7 ++ arch/arm/boot/dts/overlays/pibell-overlay.dts | 81 +++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 arch/arm/boot/dts/overlays/pibell-overlay.dts --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -76,6 +76,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ pi3-disable-bt.dtbo \ pi3-disable-wifi.dtbo \ pi3-miniuart-bt.dtbo \ + pibell.dtbo \ piscreen.dtbo \ piscreen2r.dtbo \ pisound.dtbo \ --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -1182,6 +1182,13 @@ Load: dtoverlay=pi3-miniuart-bt Params: +Name: pibell +Info: Configures the pibell audio card. +Load: dtoverlay=pibell,= +Params: alsaname Set the name as it appears in ALSA (default + "PiBell") + + Name: piscreen Info: PiScreen display by OzzMaker.com Load: dtoverlay=piscreen,= --- /dev/null +++ b/arch/arm/boot/dts/overlays/pibell-overlay.dts @@ -0,0 +1,81 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2708"; + + fragment@0 { + target-path = "/"; + __overlay__ { + codec_out: spdif-transmitter { + #address-cells = <0>; + #size-cells = <0>; + #sound-dai-cells = <0>; + compatible = "linux,spdif-dit"; + status = "okay"; + }; + + codec_in: card-codec { + #sound-dai-cells = <0>; + compatible = "invensense,ics43432"; + status = "okay"; + }; + }; + }; + + fragment@1 { + target = <&i2s>; + __overlay__ { + #sound-dai-cells = <0>; + status = "okay"; + }; + }; + + fragment@2 { + target = <&sound>; + snd: __overlay__ { + compatible = "simple-audio-card"; + simple-audio-card,name = "PiBell"; + + status="okay"; + + capture_link: simple-audio-card,dai-link@0 { + format = "i2s"; + + r_cpu_dai: cpu { + sound-dai = <&i2s>; + +/* example TDM slot configuration + dai-tdm-slot-num = <2>; + dai-tdm-slot-width = <32>; +*/ + }; + + r_codec_dai: codec { + sound-dai = <&codec_in>; + }; + }; + + playback_link: simple-audio-card,dai-link@1 { + format = "i2s"; + + p_cpu_dai: cpu { + sound-dai = <&i2s>; + +/* example TDM slot configuration + dai-tdm-slot-num = <2>; + dai-tdm-slot-width = <32>; +*/ + }; + + p_codec_dai: codec { + sound-dai = <&codec_out>; + }; + }; + }; + }; + + __overrides__ { + alsaname = <&snd>, "simple-audio-card,name"; + }; +};