diff options
author | David Lechner <david@lechnology.com> | 2017-02-07 13:22:09 -0600 |
---|---|---|
committer | Sekhar Nori <nsekhar@ti.com> | 2017-03-07 15:34:08 +0530 |
commit | 7723d70bebd749ef24fef19db52d827c7fd7f858 (patch) | |
tree | 6a3dece1241d957e2303d0d67ebc1e7380d921a0 /arch/arm/boot/dts/da850-lego-ev3.dts | |
parent | 8a81ff173c5c9a0ab1df84fab17971dbcce8490a (diff) | |
download | linux-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>
Diffstat (limited to 'arch/arm/boot/dts/da850-lego-ev3.dts')
-rw-r--r-- | arch/arm/boot/dts/da850-lego-ev3.dts | 31 |
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 = <&>; + }; + /* * 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"; }; |