|  | /* | 
|  | * Copyright (c) 2015 Intel Corporation. | 
|  | * | 
|  | * SPDX-License-Identifier: Apache-2.0 | 
|  | */ | 
|  |  | 
|  | /** | 
|  | * @file Header file for the PCA9685 PWM driver. | 
|  | */ | 
|  |  | 
|  | #ifndef __PWM_PCA9685_H__ | 
|  | #define __PWM_PCA9685_H__ | 
|  |  | 
|  | #include <gpio.h> | 
|  | #include <i2c.h> | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | /** | 
|  | * @brief Initialization function for PCA9685 | 
|  | * | 
|  | * @param dev Device struct | 
|  | * @return 0 if successful, failed otherwise | 
|  | */ | 
|  | extern int pwm_pca9685_init(struct device *dev); | 
|  |  | 
|  | /** Configuration data */ | 
|  | struct pwm_pca9685_config { | 
|  | /** The master I2C device's name */ | 
|  | const char * const i2c_master_dev_name; | 
|  |  | 
|  | /** The slave address of the chip */ | 
|  | u16_t i2c_slave_addr; | 
|  | u8_t stride[2]; | 
|  | }; | 
|  |  | 
|  | /** Runtime driver data */ | 
|  | struct pwm_pca9685_drv_data { | 
|  | /** Master I2C device */ | 
|  | struct device *i2c_master; | 
|  | }; | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* __PWM_PCA9685_H__ */ |