From 3a8d33418117261b9d8423ac792b414947683b6d Mon Sep 17 00:00:00 2001 From: Dave Stevenson <6by9@users.noreply.github.com> Date: Fri, 1 Apr 2016 15:28:46 +0100 Subject: [PATCH] RPi config: Add CONFIG_PWM_PCA9685 for NXP PCA9685 driver over I2C Includes DT overlay to configure it. Signed-off-by: Dave Stevenson <6by9@users.noreply.github.com> --- arch/arm/boot/dts/overlays/Makefile | 1 + arch/arm/boot/dts/overlays/README | 6 +++++ .../boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts | 26 ++++++++++++++++++++++ arch/arm/configs/bcm2709_defconfig | 1 + arch/arm/configs/bcmrpi_defconfig | 1 + 5 files changed, 35 insertions(+) create mode 100644 arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -30,6 +30,7 @@ dtbo-$(RPI_DT_OVERLAYS) += hy28b.dtbo dtbo-$(RPI_DT_OVERLAYS) += i2c-rtc.dtbo dtbo-$(RPI_DT_OVERLAYS) += i2c-gpio.dtbo dtbo-$(RPI_DT_OVERLAYS) += i2c-mux-pca9548a.dtbo +dtbo-$(RPI_DT_OVERLAYS) += i2c-pwm-pca9685a.dtbo dtbo-$(RPI_DT_OVERLAYS) += i2c0-bcm2708.dtbo dtbo-$(RPI_DT_OVERLAYS) += i2c1-bcm2708.dtbo dtbo-$(RPI_DT_OVERLAYS) += i2s-mmap.dtbo --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -366,6 +366,12 @@ Load: dtoverlay=i2c-mux-pca9548a,= +Params: addr I2C address of PCA9685A (default 0x40) + + Name: i2c-rtc Info: Adds support for a number of I2C Real Time Clock devices Load: dtoverlay=i2c-rtc,= --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts @@ -0,0 +1,26 @@ +// Definitions for NXP PCA9685A I2C PWM controller on ARM I2C bus. +/dts-v1/; +/plugin/; + +/{ + compatible = "brcm,bcm2708"; + + fragment@0 { + target = <&i2c_arm>; + __overlay__ { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + pca: pca@40 { + compatible = "nxp,pca9685"; + #pwm-cells = <2>; + reg = <0x40>; + status = "okay"; + }; + }; + }; + __overrides__ { + addr = <&pca>,"reg:0"; + }; +}; --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -1122,6 +1122,7 @@ CONFIG_MCP320X=m CONFIG_MCP3422=m CONFIG_DHT11=m CONFIG_PWM_BCM2835=m +CONFIG_PWM_PCA9685=m CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -1129,6 +1129,7 @@ CONFIG_MCP320X=m CONFIG_MCP3422=m CONFIG_DHT11=m CONFIG_PWM_BCM2835=m +CONFIG_PWM_PCA9685=m CONFIG_RASPBERRYPI_FIRMWARE=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y