linux-leds.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vadim Pasternak <vadimp-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
To: lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Cc: pavel-+ZI9xUNit7I@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	jacek.anaszewski-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-leds-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	platform-driver-x86-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Vadim Pasternak <vadimp-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: [patch v5 2/2] dt-bindings: mfd: Add Device Tree bindings for Mellanox programmable devices
Date: Thu, 14 Sep 2017 06:48:58 +0000	[thread overview]
Message-ID: <1505371738-128683-3-git-send-email-vadimp@mellanox.com> (raw)
In-Reply-To: <1505371738-128683-1-git-send-email-vadimp-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>

The mlxreg a multifunction device driver handling LEDs, events, exposing
through sysfs reset signal, and reset causes info. These components share
a common register space.

Signed-off-by: Vadim Pasternak <vadimp-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
v4->v5:
 Comments pointed out by Rob:
 - Avoid duplications in reg;
 - Remove unnecessary details in description;
 - Do not use names like phandels;
 Changes added by Vadim:
 - Combine hotplug nodes interrupt aggregation, register offset and mask
   properties into hotplug-spec properties;
 - Combine reset, cause, etc subnodes register offset, mask and effective
   bit properties into attr-spec properties;
v3->v4:
 Comments pointed out by Rob:
 - Make a separate patch /devicetree/bindings/vendor-prefixes.txt;
 - Add .txt to Documentation/devicetree/bindings/mfd/mellanox,mlxreg-core
   and send it within this series;
 - Modify "compatible" property;
 - Modify explanation for "deferred" property;
 - Describe each subnode by its own section;
 - Don't use underscore in attribute names;
---
 .../bindings/mfd/mellanox,mlxreg-core.txt          | 165 +++++++++++++++++++++
 1 file changed, 165 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/mellanox,mlxreg-core.txt

diff --git a/Documentation/devicetree/bindings/mfd/mellanox,mlxreg-core.txt b/Documentation/devicetree/bindings/mfd/mellanox,mlxreg-core.txt
new file mode 100644
index 0000000..1e3cce5
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/mellanox,mlxreg-core.txt
@@ -0,0 +1,165 @@
+Mellanox programmable device control.
+-------------------------------------
+This binding defines the device control interface over for Mellanox BMC based
+switches.
+
+Required properties:
+- compatible =  "mellanox,mlxreg-i2c" or
+		"mellanox,mlxreg-i2c-16"
+
+- #address-cells : must be 1;
+- #size-cells : must be 0;
+- reg : I2C address;
+
+Optional properties:
+- interrupt-parent : phandle of parent interrupt controller;
+- interrupts : interrupt line;
+- deferred : I2C deferred bus phandle;
+	     I2C bus activation order enforce for the cases when hot-plug
+	     devices are attached to I2C bus, which is initialized after the
+	     I2C bus, where programmable device is attached;
+- hotplug-spec <aggr mask>:
+	- aggr : interrupt top aggregation register offset;
+	- mask : interrupt top aggregation register mask;
+
+Optional nodes and their properties:
+ - psu : power supply unit nodes:
+	Required properties:
+	- hotplug-spec <aggr reg mask>:
+		- aggr : effective bit in aggregation interrupt mask;
+		- reg : interrupt status register offset for all group members;
+		- mask : interrupt register mask;
+	- hotplugs - list of relevant dynamic device nodes;
+ - fan : fan unit nodes:
+	Required properties:
+	- hotplug-spec <aggr reg mask>:
+		- aggr : effective bit in aggregation interrupt mask;
+		- reg : interrupt status register offset for all group members;
+		- mask : interrupt register mask;
+	- hotplugs - list of relevant dynamic device nodes;
+ - pwr : power cable nodes:
+	Required properties:
+	- hotplug-spec <aggr reg mask>:
+		- aggr : effective bit in aggregation interrupt mask;
+		- reg : interrupt status register offset for all group members;
+		- mask : interrupt register mask;
+	- hotplugs : list of relevant dynamic device nodes;
+ - host : host side nodes (CPU host side for BMC):
+	Required properties:
+	- hotplug-spec <aggr reg mask>:
+		- aggr : effective bit in aggregation interrupt mask;
+		- reg : interrupt status register offset for all group members;
+		- mask : interrupt register mask;
+	- hotplugs : list of relevant dynamic device nodes;
+ - asic : asic nodes:
+	Required properties:
+	- hotplug-spec <aggr reg mask>:
+		- aggr : effective bit in aggregation interrupt mask;
+		- reg : interrupt status register offsets array per group member;
+		- mask : interrupt register mask;
+	- hotplugs : list of relevant device nodes;
+ - reset : reset nodes for system reset operations:
+	Required properties:
+	- reset control subnodes:
+		Required properties:
+		- attr-spec <reg mask>:
+			- reg : register offset;
+			- mask : attribute mask;
+ - cause - reset cause nodes for reading system reset cause:
+	Required properties:
+	- cause info subnodes:
+		Required properties:
+		- attr-spec <reg mask>:
+			- reg : register offset;
+			- mask : attribute mask;
+ - mux - mux nodes:
+	Required properties:
+	- mux control subnodes for hardware select operations:
+		Required properties:
+		- attr-spec <reg mask bit>:
+			- reg : register offset;
+			- mask : attribute mask;
+			- bit : effective bit;
+		Optional property:
+		- hotplugs : dynamic device node selected by mux;
+ - gprw - general purpose read-write register nodes:
+	Required properties:
+	- general purpose read-write register subnodes:
+		Required properties:
+		- attr-spec <reg mask>:
+			- reg : register offset;
+			- mask : attribute mask;
+ - gpro - general purpose read only register nodes:
+	Required properties:
+	- general purpose read only register subnodes:
+		Required properties:
+		- attr-spec <reg mask>:
+			- reg : register offset.
+			- mask : attribute mask.
+ - led - led nodes for led operations control:
+	Required properties:
+	- led control nodes:
+		Required properties:
+		- attr-spec <reg mask>:
+			- reg : register offset;
+			- mask : attribute mask;
+
+Example:
+	mlxcpld-mng-ctrl@71 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		interrupt-parent = <&gpio>;
+		interrupts = <ASPEED_GPIO(S, 1) 2>;
+		compatible = "mellanox,mlxcpld-ctrl-i2c";
+		reg = <0x71>;
+		deferred = <&i2c6>;
+		hotplug-spec = <0x3a 0x4c>;
+
+		pwr: {
+			hotplug-spec = <0x08 0x64 0x03>;
+			hotplugs = <&psu1_ctrl &psu2_ctrl>;
+		};
+
+		mux {
+			spi_burn_bios_ci {
+				attr-spec = <0x32 0xfe 0x00>;
+				hotplugs = <&spi2>;
+			};
+		};
+
+		led {
+			status-green {
+				attr-spec = <0x20 0xf0>;
+			};
+			status-red {
+				attr-spec = <0x20 0xf0>;
+			};
+		};
+
+		reset {
+			sys_power_cycle {
+				attr-spec = <0x30 0xfb>;
+			};
+		};
+
+		cause {
+			ac_power_cycle {
+				attr-spec = <0x1d 0xfe>;
+			};
+			sys_pwr_cycle: {
+				attr-spec = <0x1e 0xfb>;
+			};
+		};
+
+		gpro {
+			cpld_mng_version {
+				attr-spec <0x00 0xff 0xff>;
+			};
+		};
+
+		gprw {
+			sw_reset_cause {
+				attr-spec = <0x37 0x0f 0x0f>;
+			};
+		};
+	};
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-09-14  6:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-14  6:48 [patch v5 0/2] Introduce support for mlxreg mfd core driver Vadim Pasternak
     [not found] ` <1505371738-128683-1-git-send-email-vadimp-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-09-14  6:48   ` [patch v5 1/2] mfd: Add Mellanox regmap " Vadim Pasternak
2017-09-14  9:43     ` Lee Jones
2017-09-14 11:13       ` Vadim Pasternak
2017-09-14 12:12         ` Lee Jones
2017-09-14  6:48   ` Vadim Pasternak [this message]
     [not found]     ` <1505371738-128683-3-git-send-email-vadimp-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-09-14 12:38       ` [patch v5 2/2] dt-bindings: mfd: Add Device Tree bindings for Mellanox programmable devices Lee Jones
2017-09-14 12:51         ` Lee Jones
2017-09-14 13:30         ` Vadim Pasternak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1505371738-128683-3-git-send-email-vadimp@mellanox.com \
    --to=vadimp-vpraknaxozvwk0htik3j/w@public.gmane.org \
    --cc=andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=jacek.anaszewski-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org \
    --cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-leds-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=pavel-+ZI9xUNit7I@public.gmane.org \
    --cc=platform-driver-x86-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).