| From 7723d70bebd749ef24fef19db52d827c7fd7f858 Mon Sep 17 00:00:00 2001 |
| From: David Lechner <david@lechnology.com> |
| Date: Tue, 7 Feb 2017 13:22:09 -0600 |
| Subject: ARM: da850-lego-ev3: Add device tree node for sound |
| |
| This adds a device tree node for sound on LEGO MINDSTORMS EV3. The EV3 |
| uses one of the SoC PWMs connected to an amplifier to create sound from |
| a speaker. |
| |
| The PWM is passed through a low-pass filter, so it is actually possible |
| to do PCM playback, but there is no existing driver, so just using |
| pwm-beeper for now, since it is also a compatible mode of operation. |
| |
| Signed-off-by: David Lechner <david@lechnology.com> |
| Signed-off-by: Sekhar Nori <nsekhar@ti.com> |
| --- |
| arch/arm/boot/dts/da850-lego-ev3.dts | 31 +++++++++++++++++++++++++++++++ |
| 1 file changed, 31 insertions(+) |
| |
| diff --git a/arch/arm/boot/dts/da850-lego-ev3.dts b/arch/arm/boot/dts/da850-lego-ev3.dts |
| index 0309537..c20580a 100644 |
| --- a/arch/arm/boot/dts/da850-lego-ev3.dts |
| +++ b/arch/arm/boot/dts/da850-lego-ev3.dts |
| @@ -123,6 +123,14 @@ |
| pinctrl-0 = <&system_power_pin>; |
| }; |
| |
| + sound { |
| + compatible = "pwm-beeper"; |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&ehrpwm0b_pins>; |
| + pwms = <&ehrpwm0 1 1000000 0>; |
| + amp-supply = <&>; |
| + }; |
| + |
| /* |
| * This is a 5V current limiting regulator that is shared by USB, |
| * the sensor (input) ports, the motor (output) ports and the A/DC. |
| @@ -152,6 +160,18 @@ |
| regulator-boot-on; |
| vin-supply = <&vcc5v>; |
| }; |
| + |
| + /* |
| + * This is the amplifier for the speaker. |
| + */ |
| + amp: regulator3 { |
| + pinctrl-names = "default"; |
| + pinctrl-0 = <&_pins>; |
| + compatible = "regulator-fixed"; |
| + regulator-name = "amp"; |
| + gpio = <&gpio 111 GPIO_ACTIVE_HIGH>; |
| + enable-active-high; |
| + }; |
| }; |
| |
| &pmx_core { |
| @@ -208,6 +228,13 @@ |
| 0x4c 0x00008000 0x0000f000 |
| >; |
| }; |
| + |
| + amp_pins: pinmux_amp_pins { |
| + pinctrl-single,bits = < |
| + /* GP6[15] */ |
| + 0x34 0x00000008 0x0000000f |
| + >; |
| + }; |
| }; |
| |
| &pinconf { |
| @@ -316,6 +343,10 @@ |
| }; |
| }; |
| |
| +&ehrpwm0 { |
| + status = "okay"; |
| +}; |
| + |
| &gpio { |
| status = "okay"; |
| }; |
| -- |
| cgit v1.1 |
| |