Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstreaming max597x #3

Draft
wants to merge 107 commits into
base: hwmon-next
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
67eda75
Merge tag 'aspeed-5.16-devicetree' into dev-5.15
shenki Nov 1, 2021
422a661
Merge tag 'aspeed-5.16-defconfig' into dev-5.15
shenki Nov 1, 2021
c8450b6
Merge tag 'fsi-for-v5.16' into dev-5.15
shenki Nov 1, 2021
d8ed311
Merge tag 'aspeed-5.16-devicetree-2' into 5-15-patches
shenki Nov 1, 2021
186baa0
usb: ehci: Handshake CMD_RUN instead of STS_HALT for Aspeed
Neal-liu Sep 10, 2021
cc54222
hwmon: (pmbus/ibm-cffps) Add mfg_id debugfs entry
bjwyman Oct 4, 2021
52a6bb9
hwmon: (pmbus/ibm-cffps) Use MFR_ID to choose version
bjwyman Oct 4, 2021
a7df739
dt-bindings: iio: adc: Add ast2600-adc bindings
billy-tsai Aug 31, 2021
e0965b6
iio: adc: aspeed: completes the bitfield declare.
billy-tsai Aug 31, 2021
deac1d3
iio: adc: aspeed: Keep model data to driver data.
billy-tsai Sep 22, 2021
9456652
iio: adc: aspeed: Restructure the model data
billy-tsai Sep 22, 2021
c6c3800
iio: adc: aspeed: Add vref config function
billy-tsai Sep 22, 2021
c399bcf
iio: adc: aspeed: Use model_data to set clk scaler.
billy-tsai Sep 22, 2021
1cc97cf
iio: adc: aspeed: Use devm_add_action_or_reset.
billy-tsai Sep 22, 2021
9d45acd
iio: adc: aspeed: Support ast2600 adc.
billy-tsai Sep 22, 2021
df09911
iio: adc: aspeed: Fix the calculate error of clock.
billy-tsai Sep 22, 2021
e3da596
iio: adc: aspeed: Add func to set sampling rate.
billy-tsai Sep 22, 2021
54614fa
iio: adc: aspeed: Add compensation phase.
billy-tsai Sep 22, 2021
b4c845e
iio: adc: aspeed: Support battery sensing.
billy-tsai Sep 22, 2021
fc643c9
iio: adc: aspeed: Get and set trimming data.
billy-tsai Sep 22, 2021
a39b4eb
iio: adc: aspeed: Fix spelling mistake "battey" -> "battery"
Oct 1, 2021
0e776b2
dt-bindings: soc: Add Aspeed XDMA Engine
May 5, 2020
9dea952
hwmon: (pmbus/lm25066) Add offset coefficients
zevweiss Sep 28, 2021
9013683
hwmon: (pmbus/lm25066) Adjust lm25066 PSC_CURRENT_IN_L mantissa
zevweiss Sep 28, 2021
ccc6476
hwmon: (pmbus/lm25066) Avoid forward declaration of lm25066_id
zevweiss Sep 28, 2021
5f79672
hwmon: (pmbus/lm25066) Let compiler determine outer dimension of lm25…
zevweiss Sep 28, 2021
11d6414
hwmon: (pmbus/lm25066) Mark lm25066_coeff array const
zevweiss Sep 28, 2021
a3749c6
hwmon: (pmbus/lm25066) Add OF device ID table
zevweiss Sep 28, 2021
b40e40b
hwmon: (pmbus/lm25066) Support configurable sense resistor values
zevweiss Sep 28, 2021
aaebf74
dt-bindings: hwmon/pmbus: Add ti,lm25066 power-management IC
zevweiss Sep 28, 2021
e4fc895
soc: aspeed: Add XDMA Engine Driver
May 5, 2020
e1e3478
soc: aspeed: xdma: Add user interface
May 5, 2020
0892202
soc: aspeed: xdma: Add reset ioctl
May 5, 2020
1a6c619
mtd: spi-nor: aspeed: use command mode for reads
legoater Oct 9, 2017
485d400
mtd: spi-nor: aspeed: add support for SPI dual IO read mode
legoater Oct 9, 2017
386270c
mtd: spi-nor: aspeed: link controller with the ahb clock
legoater Oct 9, 2017
5e70f66
mtd: spi-nor: aspeed: optimize read mode
legoater Oct 9, 2017
1c74dec
mtd: spi-nor: aspeed: limit the maximum SPI frequency
legoater Jun 22, 2018
176825e
mtd: spi-nor: aspeed: introduce a aspeed_smc_default_read() helper
legoater Apr 17, 2019
f3aff9a
mtd: spi-nor: aspeed: clarify 4BYTE address mode mask
legoater Apr 17, 2019
8519d93
mtd: spi-nor: aspeed: use memcpy_fromio() to capture the optimization…
legoater Apr 17, 2019
21f1c39
mtd: spi-nor: aspeed: add support for the 4B opcodes
legoater Apr 17, 2019
be9f73b
mtd: spi-nor: Add support for w25q512jv
legoater Sep 25, 2019
42366d5
mtd: spi-nor: aspeed: Introduce a field for the AHB physical address
legoater Sep 25, 2019
939ed61
mtd: spi-nor: aspeed: Introduce segment operations
legoater Sep 25, 2019
99d197c
mtd: spi-nor: aspeed: add initial support for ast2600
legoater Sep 25, 2019
c15b751
mtd: spi-nor: aspeed: Check for disabled segments on the AST2600
legoater Sep 25, 2019
59b049d
mtd: spi-nor: aspeed: Introduce training operations per platform
legoater Sep 25, 2019
87c5660
mtd: spi-nor: aspeed: Introduce a HCLK mask for training
legoater Sep 25, 2019
b643618
mtd: spi-nor: aspeed: check upper freq limit when doing training
legoater Sep 25, 2019
6445ad1
mtd: spi-nor: aspeed: add support for AST2600 training
legoater Sep 25, 2019
a7ff7bf
dt-bindings: hwmon: pmbus: Add Maxim MAX31785 documentation
amboar Apr 3, 2018
b642c0d
pmbus (max31785): Add support for devicetree configuration
amboar Apr 3, 2018
e8ce604
pmbus (core): Use driver callbacks in pmbus_get_fan_rate()
amboar Apr 3, 2018
727f19e
pmbus (core): One-shot retries for failure to set page
amboar Apr 3, 2018
fc65026
pmbus (max31785): Wrap all I2C accessors in one-shot failure handlers
amboar Apr 3, 2018
6c0e684
/dev/mem: add a devmem kernel parameter to activate the device
legoater Oct 12, 2018
74b3d2c
dt-binding: bmc: Add NPCM7xx LPC BPC documentation
tmaimon Jan 14, 2019
ad545b7
misc: npcm7xx-lpc-bpc: add NPCM7xx BIOS post code driver
tmaimon Jan 14, 2019
b61d98b
dt-binding: bmc: add npcm7xx pci mailbox document
tmaimon Jan 14, 2019
f068ffb
misc: mbox: add npcm7xx pci mailbox driver
tmaimon Jan 14, 2019
4e09a43
dt-binding: net: document NPCM7xx EMC DT bindings
tmaimon Jan 14, 2019
66747db
net: npcm: add NPCM7xx Ethernet MAC controller
tmaimon Jan 14, 2019
f1c0b6a
net: npcm: Support for fixed PHYs
wak-google Mar 27, 2021
098f156
ARM: dts: aspeed: witherspoon: Update max31785 node
amboar Jul 27, 2017
d62f2b8
ARM: dts: npcm7xx: Add out of tree nodes
tmaimon Dec 9, 2018
a608c96
ARM: dts: nuvoton: npcm730: Add UDC device
May 31, 2019
f9a7a36
ARM: dts: nuvoton: gsj: Add non-mainline nodes
May 31, 2019
8c25468
ARM: dts: olympus: Add non-mainline nodes
tmaimon Sep 25, 2019
310db6a
ARM: dts: npcm750: Add fuse regmap support node
tmaimon Jan 13, 2021
24e69e9
ARM: dts: npcm7xx: Link fuse syscon to adc and wdt
tmaimon Jan 19, 2021
c58e760
dt-binding: edac: add NPCM ECC documentation
georgehung1210 May 23, 2019
00d5d14
edac: npcm: Add Nuvoton NPCM7xx EDAC driver
georgehung1210 May 23, 2019
7550108
ipmi: aspeed-g6: Add compatible strings
bradbishop Sep 25, 2019
617dc20
reset: simple: Add AST2600 compatibility string
bradbishop Sep 25, 2019
26e2d99
clk: ast2600: enable BCLK for PCI/PCIe bus always
jaehyoo Nov 19, 2019
7eed5f0
eeprom: at25: Split reads into chunks and cap write size
bradbishop Aug 20, 2020
76e339d
dt-bindings: input: Add documentation for IBM Operation Panel
Sep 9, 2020
cdd83b8
input: misc: Add IBM Operation Panel driver
Sep 9, 2020
a35e7e3
net: ftgmac100: Ensure tx descriptor updates are visible
shenki Oct 20, 2020
ea925b1
clk: npcm7xx: add read only flag to divider clocks
tmaimon Jan 13, 2021
ea2549b
iio: adc: Add calibration support to npcm ADC
tmaimon Jan 13, 2021
0c5f1f8
watchdog: npcm: Add DT restart priority and reset type support
tmaimon Jan 13, 2021
9a54372
pinctrl: npcm7xx: Add HGPIO pin support to NPCM7xx pinctrl driver
tmaimon Jan 13, 2021
2c52c07
pinctrl: pinconf: add pin persist configuration
tmaimon Jan 13, 2021
bb065bb
pinctrl: npcm7xx: Add pin persist configuration support
tmaimon Jan 13, 2021
9209d22
spi: npcm-pspi: Add full duplex support
tmaimon Jan 13, 2021
f736bcb
dt-binding: bmc: add NPCM7XX JTAG master documentation
tmaimon Jan 13, 2021
9634fd2
misc: Add NPCM7xx JTAG master driver
tmaimon Jan 13, 2021
baf077c
watchdog: npcm: Modify get reset status function
tmaimon Jan 19, 2021
4e50e9a
ARM: configs: add defconfig for Nuvoton NPCM7xx BMC
tmaimon Jan 14, 2019
e73eb7f
ARM: dts: aspeed: tacoma: Remove CFAM reset GPIO
Mar 8, 2021
ef25ad5
ipmi: kcs_bmc: Add a "raw" character device interface
amboar Jun 23, 2021
728d545
ARM: dts: ast2600evb: Enable EHCI controller
shenki Jun 28, 2021
d2e56b8
ARM: dts: tacoma: Clean up KCS nodes
amboar Jul 9, 2021
4092d5a
ARM: configs: aspeed: Add openbmc kernel options
shenki Apr 6, 2021
5e89374
leds: pca955x: Make the gpiochip always expose all pins
amboar Sep 21, 2021
65271b0
leds: pca955x: Allow zero LEDs to be specified
amboar Sep 21, 2021
ed8bdda
ARM: dts: nuvoton: gbs: split SPI flash partition
Oct 8, 2021
f7058fa
ipmi: bt-bmc: Use registers directly
shenki Sep 3, 2021
2d12a2b
spi: fsi: Print status on error
Oct 21, 2021
90fde5c
ARM: dts: nuvoton: gbs: Change the name of the partitions
Oct 26, 2021
4c17788
spi: fsi: Fix contention in the FSI2SPI engine
Oct 26, 2021
a6f2ddf
soc: aspeed: Add UART routing support
Oct 22, 2021
d9d7dbe
dt-bindings: regulator: Add bindings for MAX5970 and MAX5978
sylv-io Jan 6, 2022
7d334c3
regulator: max597x: Add support for MAX5970 and MAX5978
PatrickRudolph Jan 6, 2022
eab8bac
regulator: max597x: Add IIO support
PatrickRudolph Apr 7, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions Documentation/ABI/testing/dev-raw-kcs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
What: /dev/raw-kcs*
Date: 2021-02-15
KernelVersion: 5.13
Contact: [email protected]
Contact: [email protected]
Contact: Andrew Jeffery <[email protected]>
Description: ``/dev/raw-kcs*`` exposes to userspace the data and
status registers of Keyboard-Controller-Style (KCS) IPMI
interfaces via read() and write() syscalls. Direct
exposure of the data and status registers enables
inefficient but arbitrary protocols to be implemented
over the device. A typical approach is to use KCS
devices for out-of-band signalling for bulk data
transfers over other interfaces between a Baseboard
Management Controller and its host.

+--------+--------+---------+
| Offset | read() | write() |
+--------+--------+---------+
| 0 | IDR | ODR |
+--------+--------+---------+
| 1 | STR | STR |
+--------+--------+---------+

Users: libmctp: https://github.com/openbmc/libmctp
10 changes: 10 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-fsi-devices-sbefifo
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
What: /sys/bus/fsi/devices/XX.XX.00:06/sbefifoX/timeout
KernelVersion: 5.15
Contact: [email protected]
Description:
Indicates whether or not this SBE device has experienced a
timeout; i.e. the SBE did not respond within the time allotted
by the driver. A value of 1 indicates that a timeout has
ocurred and no transfers have completed since the timeout. A
value of 0 indicates that no timeout has ocurred, or if one
has, more recent transfers have completed successful.
13 changes: 13 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-platform-devices-occ-hwmon
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
What: /sys/bus/platform/devices/occ-hwmon.X/ffdc
KernelVersion: 5.15
Contact: [email protected]
Description:
Contains the First Failure Data Capture from the SBEFIFO
hardware, if there is any from a previous transfer. Otherwise,
the file is empty. The data is cleared when it's been
completely read by a user. As the name suggests, only the data
from the first error is saved, until it's cleared upon read. The OCC hwmon driver, running on
a Baseboard Management Controller (BMC), communicates with
POWER9 and up processors over the Self-Boot Engine (SBE) FIFO.
In many error conditions, the SBEFIFO will return error data
indicating the type of error and system state, etc.
3 changes: 3 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2951,6 +2951,9 @@
deep - Suspend-To-RAM or equivalent (if supported)
See Documentation/admin-guide/pm/sleep-states.rst.

mem.devmem= Activate the /dev/mem device
Format: <bool> (1/Y/y=enable, 0/N/n=disable)

meye.*= [HW] Set MotionEye Camera parameters
See Documentation/admin-guide/media/meye.rst.

Expand Down
38 changes: 38 additions & 0 deletions Documentation/devicetree/bindings/bmc/npcm7xx-jtag-master.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Nuvoton NPCM7xx JTAG MASTER interface

Nuvoton BMC NPCM7xx JTAG Master is used for debugging host CPU or programming
CPLD device. The driver is implemented as an SPI device driver that enabling
the option to transfer JTAG data with the assistance of SPI HW.

Required properties for jtag_master node
- compatible : "nuvoton,npcm750-jtag-master" for Poleg NPCM7XX.
- spi-max-frequency : specify the max spi bus frequency.
- reg : always 0
- pinctrl-names : contain 2 pinctrl states "pspi" and "gpio", which indicates
the TCK/TDI/TDO pin state in HW mode(using PSPI hw) and
SW mode (using GPIO bitbang) respectively.
- tck-gpios : specify the GPIO number of TCK pin
- tdi-gpios : specify the GPIO number of TDI pin
- tdo-gpios : specify the GPIO number of TDO pin
- tms-gpios : specify the GPIO number of TMS pin

Example:
spi1: spi@201000 {
...
jtag_master {
compatible = "nuvoton,npcm750-jtag-master";
spi-max-frequency = <25000000>;
reg = <0>;

pinctrl-names = "pspi", "gpio";
pinctrl-0 = <&pspi2_pins>;
pinctrl-1 = <&gpio17_pins &gpio18o_pins
&gpio19ol_pins>;

tck-gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
tdi-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
tdo-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
tms-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
26 changes: 26 additions & 0 deletions Documentation/devicetree/bindings/bmc/npcm7xx-lpc-bpc.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Nuvoton NPCM7xx LPC BPC interface

Nuvoton BMC NPCM7xx BIOS Post Code (BPC) monitoring two
configurable I/O addresses written by the host on the
Low Pin Count (LPC) bus, the capure data stored in 128-word FIFO.

NPCM7xx BPC supports capture double words, when using capture
double word only I/O address 1 is monitored.

Required properties for lpc_bpc node
- compatible : "nuvoton,npcm750-lpc-bpc" for Poleg NPCM7XX.
- reg : specifies physical base address and size of the registers.
- interrupts : contain the LPC BPC with flags for falling edge.
- monitor-ports : contain monitor I/O addresses, at least one monitor I/O
address required

Optional property for lpc_bpc node
- bpc-en-dwcapture : enable capture double words support.

Example:
lpc_bpc: lpc-bpc@f0007040 {
compatible = "nuvoton,npcm7xx-lpc-bpc";
reg = <0xf0007040 0x14>;
monitor-ports = <0x80>;
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
};
19 changes: 19 additions & 0 deletions Documentation/devicetree/bindings/bmc/npcm7xx-pci-mbox.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Nuvoton NPCM7xx PCI mail box interface

Nuvoton BMC NPCM7xx PCI mail box, The mailbox is a high-bandwidth
communication module between the BMC CPU and host CPU.

Required properties for lpc_bpc node
- compatible : "nuvoton,npcm750-pci-mbox" for Poleg NPCM7XX.
- reg : specifies two address space
1. physical base address and size of the registers.
2. physical base address and size of the dual-ported RAM.
- interrupts : contain the PCI mail box interrupt with flags for falling edge.

Example:
pcimbox: pcimbox@f0848000 {
compatible = "nuvoton,npcm750-pci-mbox", "simple-mfd", "syscon";
reg = <0xf084C000 0x8
0xf0848000 0x3F00>;
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
};
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/edac/npcm7xx-sdram-edac.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Nuvoton NPCM7xx SoC EDAC device driver

The Nuvoton NPCM7xx SoC supports DDR4 memory with/without ECC and the driver
uses the EDAC framework to implement the ECC detection and corrtection.

Required properties:
- compatible: should be "nuvoton,npcm7xx-sdram-edac"
- reg: Memory controller register set should be <0xf0824000 0x1000>
- interrupts: should be MC interrupt #25

Example:

mc: memory-controller@f0824000 {
compatible = "nuvoton,npcm7xx-sdram-edac";
reg = <0xf0824000 0x1000>;
interrupts = <0 25 4>;
};
158 changes: 158 additions & 0 deletions Documentation/devicetree/bindings/hwmon/pmbus/max31785.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
Bindings for the Maxim MAX31785 Intelligent Fan Controller
==========================================================

Reference:

https://datasheets.maximintegrated.com/en/ds/MAX31785.pdf

Required properties:
- compatible : One of "maxim,max31785" or "maxim,max31785a"
- reg : I2C address, one of 0x52, 0x53, 0x54, 0x55.
- #address-cells : Must be 1
- #size-cells : Must be 0
- #thermal-sensor-cells : Should be 1. The device supports:
- One internal sensor
- Four external I2C digital sensors
- Six external thermal diodes

Optional properties:
- use-stored-presence : Do not treat the devicetree description as canon for
fan presence (the 'installed' bit of FAN_CONFIG_*).
Instead, rely on the on the default value store of
the device to populate it.

Capabilities are configured through subnodes of the controller's node.

Fans
----

Only fans with subnodes present will be considered as installed. If
use-stored-presence is present in the parent node, then only fans that are both
defined in the devicetree and have their installed bit set are considered
installed.

Required subnode properties:
- compatible : Must be "pmbus-fan"
- reg : The PMBus page the properties apply to.
- #cooling-cells : Should be 2. See the thermal bindings at [1].
- maxim,fan-rotor-input : The type of rotor measurement provided to the
controller. Must be either "tach" for tachometer
pulses or "lock" for a locked-rotor signal.
- maxim,fan-lock-polarity: Required iff maxim,fan-rotor-input is "lock". Valid
values are "low" for active low, "high" for active
high.

Optional subnode properties:
- fan-mode : "rpm" or "pwm". Default value is "pwm".
- tach-pulses : Tachometer pulses per revolution. Valid values are
1, 2, 3 or 4. The default is 1.
- cooling-min-level : Smallest cooling state accepted. See [1].
- cooling-max-level : Largest cooling state accepted. See [1].
- maxim,fan-no-fault-ramp: Do not ramp the fan to 100% PWM duty on detecting a
fan fault
- maxim,fan-startup : The number of rotations required before taking
emergency action for an unresponsive fan and driving
it with 100% or 0% PWM duty, depending on the state
of maxim,fan-no-fault-ramp. Valid values are 0
(automatic spin-up disabled), 2, 4, or 8. Default
value is 0.
- maxim,fan-health : Enable automated fan health check
- maxim,fan-ramp : Configures how fast the device ramps the PWM duty
cycle from one value to another. Valid values are 0
to 7 inclusive, with values 0 - 2 configuring a
1000ms update rate and 1 - 3% duty respective duty
increase, and 3 - 7 a 200ms update rate with a 1 -
5% respective duty increase. Default value is 0.
- maxim,fan-no-watchdog : Do not ramp fan to 100% PWM duty on failure to
update desired fan rate inside 10s. This implies
maxim,tmp-no-fault-ramp
- maxim,tmp-no-fault-ramp: Do not ramp fan to 100% PWM duty on temperature
sensor fault detection. This implies
maxim,fan-no-watchdog
- maxim,tmp-hysteresis : The temperature hysteresis used to determine
transitions to lower fan speed bands in the
temperature/fan rate lookup table. Valid values are
2, 4, 6 or 8 (degrees celcius). Default value is 2.
- maxim,fan-dual-tach : Enable dual tachometer functionality
- maxim,fan-pwm-freq : The PWM frequency. Valid values are 30, 50, 100, 150
and 25000 (Hz). Default value is 30Hz.
- maxim,fan-lookup-table : A 16-element cell array of alternating temperature
and rate values representing the look up table. The
rate units are set through the fan-mode property.
- maxim,fan-fault-pin-mon: Ramp fans to 100% PWM duty when the FAULT pin is
asserted

Temperature
-----------

Required subnode properties:
- compatible : Must be "pmbus-temperature"
- reg : The PMBus page the properties apply to.

Optional subnode properties:
- maxim,tmp-offset : Valid values are 0 - 30 (degrees celcius) inclusive.
Default value is 0.
- maxim,tmp-fans : An array of phandles to fans controlled by the
current temperature sensor.

[1] Documentation/devicetree/bindings/thermal/thermal.txt

Example:
fan-max31785: max31785@52 {
reg = <0x52>;
compatible = "maxim,max31785";
#address-cells = <1>;
#size-cells = <0>;
#thermal-sensor-cells = <1>;

fan@0 {
compatible = "pmbus-fan";
reg = <0>;
mode = "rpm";
tach-pulses = <1>;

#cooling-cells = <2>;
cooling-min-level = <0>;
cooling-max-level = <9>;

maxim,fan-rotor-input = "tach";
maxim,fan-dual-tach;
};

/*
* Hardware controlled fan: Fan speed is controlled by a
* temperature sensor feeding values into the lookup table. The
* fan association is done in the temperature sensor node. One
* sensor can drive multiple fans.
*/
cpu_fan: fan@1 {
compatible = "pmbus-fan";
reg = <1>;
mode = "rpm";
tach-pulses = <1>;

#cooling-cells = <2>;

maxim,fan-rotor-input = "tach";
maxim,tmp-hysteresis = <2>;
maxim,fan-lookup-table = <
/* Temperature RPM */
0 1000
10 2000
20 3000
30 4000
40 5000
50 6000
60 7000
70 8000
>;
};

cpu_temp: sensor@6 {
compatible = "pmbus-temperature";
reg = <6>;

maxim,tmp-offset = <0>;
maxim,tmp-fans = <&cpu_fan>;
};
};
54 changes: 54 additions & 0 deletions Documentation/devicetree/bindings/hwmon/pmbus/ti,lm25066.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---

$id: http://devicetree.org/schemas/hwmon/pmbus/ti,lm25066.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: National Semiconductor/Texas Instruments LM250x6/LM506x power-management ICs

maintainers:
- Zev Weiss <[email protected]>

description: |
The LM25066 family of power-management ICs (a.k.a. hot-swap
controllers or eFuses in various contexts) are PMBus devices that
offer temperature, current, voltage, and power monitoring.

Datasheet: https://www.ti.com/lit/ds/symlink/lm25066.pdf

properties:
compatible:
enum:
- ti,lm25056
- ti,lm25066
- ti,lm5064
- ti,lm5066
- ti,lm5066i

reg:
maxItems: 1

shunt-resistor-micro-ohms:
description:
Shunt (sense) resistor value in micro-Ohms
default: 1000

required:
- compatible
- reg

additionalProperties: false

examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;

pmic@40 {
compatible = "ti,lm25066";
reg = <0x40>;
shunt-resistor-micro-ohms = <675>;
};
};
Loading