Message ID | 20190131220617.15223-4-jgebben@sweptlaser.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | hwmon: (lm85) add LM96000 high freqency pwm support | expand |
On Thu, Jan 31, 2019 at 03:06:17PM -0700, Jeremy Gebben wrote: > This chip expands the freqency field from 3 to 4 bits, to > add more frequencies in the 22.5 to 30 kHz ranges. > "This chip" -> LM96000 > Signed-off-by: Jeremy Gebben <jgebben@sweptlaser.com> > --- > Documentation/hwmon/lm85 | 3 +++ > drivers/hwmon/lm85.c | 9 +++++++++ > 2 files changed, 12 insertions(+) > > diff --git a/Documentation/hwmon/lm85 b/Documentation/hwmon/lm85 > index 9f3a945d1..264874f09 100644 > --- a/Documentation/hwmon/lm85 > +++ b/Documentation/hwmon/lm85 > @@ -140,6 +140,9 @@ of voltage and temperature channels. > SMSC EMC6D103S is similar to EMC6D103, but does not support pwm#_auto_pwm_minctl > and temp#_auto_temp_off. > > +The LM96000 supports additional high frequency PWM modes (22.5 kHz, 24 kHz, > +25.7 kHz, 27.7 kHz and 30 kHz), which can be configured on a per-PWM basis. > + > Hardware Configurations > ----------------------- > > diff --git a/drivers/hwmon/lm85.c b/drivers/hwmon/lm85.c > index 4b15193d1..88f08f4bc 100644 > --- a/drivers/hwmon/lm85.c > +++ b/drivers/hwmon/lm85.c > @@ -202,6 +202,11 @@ static const int lm85_freq_map[] = { /* 1 Hz */ > 10, 15, 23, 30, 38, 47, 61, 94 > }; > > +static const int lm85_high_freq_map[] = { /* 1 Hz */ > + 10, 15, 23, 30, 38, 47, 61, 94, > + 22500, 24000, 25700, 25700, 27700, 27700, 30000, 30000 > +}; Should be lm96000_freq_map. > + > static const int adm1027_freq_map[] = { /* 1 Hz */ > 11, 15, 22, 29, 35, 44, 59, 88 > }; > @@ -1574,6 +1579,10 @@ static int lm85_probe(struct i2c_client *client, const struct i2c_device_id *id) > data->freq_map = adm1027_freq_map; > data->freq_map_size = ARRAY_SIZE(adm1027_freq_map); > break; > + case lm85: > + data->freq_map = lm85_high_freq_map; > + data->freq_map_size = ARRAY_SIZE(lm85_high_freq_map); > + break; This is too generic. You'll have to introduce a 'lm96000' type and use it. That should be straightforward since the lm96000 is already detected (and for some reason handled as lm85). > default: > data->freq_map = lm85_freq_map; > data->freq_map_size = ARRAY_SIZE(lm85_freq_map); > -- > 2.17.1 >
diff --git a/Documentation/hwmon/lm85 b/Documentation/hwmon/lm85 index 9f3a945d1..264874f09 100644 --- a/Documentation/hwmon/lm85 +++ b/Documentation/hwmon/lm85 @@ -140,6 +140,9 @@ of voltage and temperature channels. SMSC EMC6D103S is similar to EMC6D103, but does not support pwm#_auto_pwm_minctl and temp#_auto_temp_off. +The LM96000 supports additional high frequency PWM modes (22.5 kHz, 24 kHz, +25.7 kHz, 27.7 kHz and 30 kHz), which can be configured on a per-PWM basis. + Hardware Configurations ----------------------- diff --git a/drivers/hwmon/lm85.c b/drivers/hwmon/lm85.c index 4b15193d1..88f08f4bc 100644 --- a/drivers/hwmon/lm85.c +++ b/drivers/hwmon/lm85.c @@ -202,6 +202,11 @@ static const int lm85_freq_map[] = { /* 1 Hz */ 10, 15, 23, 30, 38, 47, 61, 94 }; +static const int lm85_high_freq_map[] = { /* 1 Hz */ + 10, 15, 23, 30, 38, 47, 61, 94, + 22500, 24000, 25700, 25700, 27700, 27700, 30000, 30000 +}; + static const int adm1027_freq_map[] = { /* 1 Hz */ 11, 15, 22, 29, 35, 44, 59, 88 }; @@ -1574,6 +1579,10 @@ static int lm85_probe(struct i2c_client *client, const struct i2c_device_id *id) data->freq_map = adm1027_freq_map; data->freq_map_size = ARRAY_SIZE(adm1027_freq_map); break; + case lm85: + data->freq_map = lm85_high_freq_map; + data->freq_map_size = ARRAY_SIZE(lm85_high_freq_map); + break; default: data->freq_map = lm85_freq_map; data->freq_map_size = ARRAY_SIZE(lm85_freq_map);
This chip expands the freqency field from 3 to 4 bits, to add more frequencies in the 22.5 to 30 kHz ranges. Signed-off-by: Jeremy Gebben <jgebben@sweptlaser.com> --- Documentation/hwmon/lm85 | 3 +++ drivers/hwmon/lm85.c | 9 +++++++++ 2 files changed, 12 insertions(+)