summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Lechner <david@lechnology.com>2017-02-07 13:22:09 -0600
committerSekhar Nori <nsekhar@ti.com>2017-03-07 15:34:08 +0530
commit7723d70bebd749ef24fef19db52d827c7fd7f858 (patch)
tree6a3dece1241d957e2303d0d67ebc1e7380d921a0
parent8a81ff173c5c9a0ab1df84fab17971dbcce8490a (diff)
downloadlinux-7723d70bebd749ef24fef19db52d827c7fd7f858.tar.gz
linux-7723d70bebd749ef24fef19db52d827c7fd7f858.tar.bz2
linux-7723d70bebd749ef24fef19db52d827c7fd7f858.zip
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>
-rw-r--r--arch/arm/boot/dts/da850-lego-ev3.dts31
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/da850-lego-ev3.dts b/arch/arm/boot/dts/da850-lego-ev3.dts
index 03095372ce68..c20580a7356e 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 = <&amp>;
+ };
+
/*
* 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 = <&amp_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";
};