brcm2708: update linux 4.4 patches to latest version
[openwrt/staging/wigyori.git] / target / linux / brcm2708 / patches-4.4 / 0231-RPi-config-Add-CONFIG_PWM_PCA9685-for-NXP-PCA9685-dr.patch
1 From da8208f8af795b0696e591bd85bedf2990775451 Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <6by9@users.noreply.github.com>
3 Date: Fri, 1 Apr 2016 15:28:46 +0100
4 Subject: [PATCH] RPi config: Add CONFIG_PWM_PCA9685 for NXP PCA9685 driver
5 over I2C
6
7 Includes DT overlay to configure it.
8
9 Signed-off-by: Dave Stevenson <6by9@users.noreply.github.com>
10 ---
11 arch/arm/boot/dts/overlays/Makefile | 1 +
12 arch/arm/boot/dts/overlays/README | 6 +++++
13 .../boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts | 26 ++++++++++++++++++++++
14 arch/arm/configs/bcm2709_defconfig | 1 +
15 arch/arm/configs/bcmrpi_defconfig | 1 +
16 5 files changed, 35 insertions(+)
17 create mode 100644 arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts
18
19 --- a/arch/arm/boot/dts/overlays/Makefile
20 +++ b/arch/arm/boot/dts/overlays/Makefile
21 @@ -30,6 +30,7 @@ dtbo-$(RPI_DT_OVERLAYS) += hy28b.dtbo
22 dtbo-$(RPI_DT_OVERLAYS) += i2c-rtc.dtbo
23 dtbo-$(RPI_DT_OVERLAYS) += i2c-gpio.dtbo
24 dtbo-$(RPI_DT_OVERLAYS) += i2c-mux-pca9548a.dtbo
25 +dtbo-$(RPI_DT_OVERLAYS) += i2c-pwm-pca9685a.dtbo
26 dtbo-$(RPI_DT_OVERLAYS) += i2c0-bcm2708.dtbo
27 dtbo-$(RPI_DT_OVERLAYS) += i2c1-bcm2708.dtbo
28 dtbo-$(RPI_DT_OVERLAYS) += i2s-mmap.dtbo
29 --- a/arch/arm/boot/dts/overlays/README
30 +++ b/arch/arm/boot/dts/overlays/README
31 @@ -366,6 +366,12 @@ Load: dtoverlay=i2c-mux-pca9548a,<para
32 Params: addr I2C address of PCA9548A (default 0x70)
33
34
35 +Name: i2c-pwm-pca9685a
36 +Info: Adds support for an NXP PCA9685A I2C PWM controller on i2c_arm
37 +Load: dtoverlay=i2c-pwm-pca9685a,<param>=<val>
38 +Params: addr I2C address of PCA9685A (default 0x40)
39 +
40 +
41 Name: i2c-rtc
42 Info: Adds support for a number of I2C Real Time Clock devices
43 Load: dtoverlay=i2c-rtc,<param>=<val>
44 --- /dev/null
45 +++ b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts
46 @@ -0,0 +1,26 @@
47 +// Definitions for NXP PCA9685A I2C PWM controller on ARM I2C bus.
48 +/dts-v1/;
49 +/plugin/;
50 +
51 +/{
52 + compatible = "brcm,bcm2708";
53 +
54 + fragment@0 {
55 + target = <&i2c_arm>;
56 + __overlay__ {
57 + #address-cells = <1>;
58 + #size-cells = <0>;
59 + status = "okay";
60 +
61 + pca: pca@40 {
62 + compatible = "nxp,pca9685";
63 + #pwm-cells = <2>;
64 + reg = <0x40>;
65 + status = "okay";
66 + };
67 + };
68 + };
69 + __overrides__ {
70 + addr = <&pca>,"reg:0";
71 + };
72 +};
73 --- a/arch/arm/configs/bcm2709_defconfig
74 +++ b/arch/arm/configs/bcm2709_defconfig
75 @@ -1122,6 +1122,7 @@ CONFIG_MCP320X=m
76 CONFIG_MCP3422=m
77 CONFIG_DHT11=m
78 CONFIG_PWM_BCM2835=m
79 +CONFIG_PWM_PCA9685=m
80 CONFIG_RASPBERRYPI_FIRMWARE=y
81 CONFIG_EXT4_FS=y
82 CONFIG_EXT4_FS_POSIX_ACL=y
83 --- a/arch/arm/configs/bcmrpi_defconfig
84 +++ b/arch/arm/configs/bcmrpi_defconfig
85 @@ -1129,6 +1129,7 @@ CONFIG_MCP320X=m
86 CONFIG_MCP3422=m
87 CONFIG_DHT11=m
88 CONFIG_PWM_BCM2835=m
89 +CONFIG_PWM_PCA9685=m
90 CONFIG_RASPBERRYPI_FIRMWARE=y
91 CONFIG_EXT4_FS=y
92 CONFIG_EXT4_FS_POSIX_ACL=y