diff mbox series

[v2,2/4] iio: dac: ad3530r: Add ABI file for the AD3530R DAC

Message ID 20250324-togreg-v2-2-f211d781923e@analog.com (mailing list archive)
State Changes Requested
Headers show
Series Add driver for AD3530R and AD3531R DACs | expand

Commit Message

Kim Seer Paller March 24, 2025, 11:22 a.m. UTC
Define muxout_select and muxout_select_available sysfs interface for the
AD3530R and AD3531R DAC.

Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
---
 .../ABI/testing/sysfs-bus-iio-dac-ad3530r          | 68 ++++++++++++++++++++++
 MAINTAINERS                                        |  7 +++
 2 files changed, 75 insertions(+)

Comments

Jonathan Cameron March 28, 2025, 8:58 a.m. UTC | #1
On Mon, 24 Mar 2025 19:22:56 +0800
Kim Seer Paller <kimseer.paller@analog.com> wrote:

> Define muxout_select and muxout_select_available sysfs interface for the
> AD3530R and AD3531R DAC.
> 
> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
> ---
>  .../ABI/testing/sysfs-bus-iio-dac-ad3530r          | 68 ++++++++++++++++++++++
>  MAINTAINERS                                        |  7 +++
>  2 files changed, 75 insertions(+)
> 
> diff --git a/Documentation/ABI/testing/sysfs-bus-iio-dac-ad3530r b/Documentation/ABI/testing/sysfs-bus-iio-dac-ad3530r
> new file mode 100644
> index 0000000000000000000000000000000000000000..9d3126952fd1c5214afb895c4972dc4a891ed7d4
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-bus-iio-dac-ad3530r
> @@ -0,0 +1,68 @@
> +What:		/sys/bus/iio/devices/iio:deviceX/muxout_select
> +KernelVersion:
> +Contact:	linux-iio@vger.kernel.org
> +Description:
> +		Selects which of the multiplexer's input signals will be
> +		monitored on the MUX_OUT pin.
Hi Kim,

Do we have a use case where the monitoring would not be by an ADC attached
to the host CPU? (i.e. using a channel on an ADC that has it's own IIO driver)

If no other use case, then support this as a consumer of an ADC channel from
another device with all these exposed as different channels when a read is requested.
There are quite a few drivers doing this already.

The source vs sink thing may need to be done via labels as it isn't a concept
that maps directly to ADC channel characteristics.

If this is being routed to some external hardware monitoring then most like
this should be in device tree as doesn't make sense to switch dynamically in
any cases that I recall from previous similar drivers.

Jonathan

> +		* powered_down - MUX_OUT pin is powered down. An 80kΩ impedance
> +				 can be seen at the MUX_OUT pin.
> +		* vout0 - Voltage representation of VOUT0.
> +		* iout0_source - Voltage representation of IOUT0 (source mode).
> +		* iout0_sink - Voltage representation of IOUT0 (sink mode).
> +		* vout1 - Voltage representation of VOUT1.
> +		* iout1_source - Voltage representation of IOUT1 (source mode).
> +		* iout1_sink - Voltage representation of IOUT1 (sink mode).
> +		* vout2 - Voltage representation of VOUT2.
> +		* iout2_source - Voltage representation of IOUT2 (source mode).
> +		* iout2_sink - Voltage representation of IOUT2 (sink mode).
> +		* vout3 - Voltage representation of VOUT3
> +		* iout3_source - Voltage representation of IOUT3 (source mode).
> +		* iout3_sink - Voltage representation of IOUT3 (sink mode).
> +		* vout4 - Voltage representation of VOUT4.
> +		* iout4_source - Voltage representation of IOUT4 (source mode).
> +		* iout4_sink - Voltage representation of IOUT4 (sink mode).
> +		* vout5 - Voltage representation of VOUT5.
> +		* iout5_source - Voltage representation of IOUT5 (source mode).
> +		* iout5_sink - Voltage representation of IOUT5 (sink mode).
> +		* vout6 - Voltage representation of VOUT6.
> +		* iout6_source - Voltage representation of IOUT6 (source mode).
> +		* iout6_sink - Voltage representation of IOUT6 (sink mode).
> +		* vout7 - Voltage representation of VOUT7.
> +		* iout7_source - Voltage representation of IOUT7 (source mode).
> +		* iout7_sink - Voltage representation of IOUT7 (sink mode).
> +		* die_temp - Voltage representation of internal die temperature.
> +		* agnd - MUX_OUT pin internally tied to AGND.
> +
> +What:		/sys/bus/iio/devices/iio:deviceX/muxout_select_available
> +KernelVersion:
> +Contact:	linux-iio@vger.kernel.org
> +Description:
> +		Reading this returns the valid values that can be written to the
> +		muxout_select attribute:
> +		* powered_down
> +		* vout0
> +		* iout0_source
> +		* iout0_sink
> +		* vout1
> +		* iout1_source
> +		* iout1_sink
> +		* vout2
> +		* iout2_source
> +		* iout2_sink
> +		* vout3
> +		* iout3_source
> +		* iout3_sink
> +		* vout4
> +		* iout4_source
> +		* iout4_sink
> +		* vout5
> +		* iout5_source
> +		* iout5_sink
> +		* vout6
> +		* iout6_source
> +		* iout6_sink
> +		* vout7
> +		* iout7_source
> +		* iout7_sink
> +		* die_temp
> +		* agnd
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ffdb3f21fc4fb35b349449afbb30fecd4fe72978..2d3c31c74594ca1934c67e7aad0a179feeaa39bf 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1289,6 +1289,13 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
>  T:	git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
>  F:	drivers/net/amt.c
>  
> +ANALOG DEVICES INC AD3530R DRIVER
> +M:	Kim Seer Paller <kimseer.paller@analog.com>
> +L:	linux-iio@vger.kernel.org
> +S:	Supported
> +W:	https://ez.analog.com/linux-software-drivers
> +F:	Documentation/ABI/testing/sysfs-bus-iio-dac-ad3530r
> +
>  ANALOG DEVICES INC AD3552R DRIVER
>  M:	Nuno Sá <nuno.sa@analog.com>
>  L:	linux-iio@vger.kernel.org
>
diff mbox series

Patch

diff --git a/Documentation/ABI/testing/sysfs-bus-iio-dac-ad3530r b/Documentation/ABI/testing/sysfs-bus-iio-dac-ad3530r
new file mode 100644
index 0000000000000000000000000000000000000000..9d3126952fd1c5214afb895c4972dc4a891ed7d4
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-iio-dac-ad3530r
@@ -0,0 +1,68 @@ 
+What:		/sys/bus/iio/devices/iio:deviceX/muxout_select
+KernelVersion:
+Contact:	linux-iio@vger.kernel.org
+Description:
+		Selects which of the multiplexer's input signals will be
+		monitored on the MUX_OUT pin.
+		* powered_down - MUX_OUT pin is powered down. An 80kΩ impedance
+				 can be seen at the MUX_OUT pin.
+		* vout0 - Voltage representation of VOUT0.
+		* iout0_source - Voltage representation of IOUT0 (source mode).
+		* iout0_sink - Voltage representation of IOUT0 (sink mode).
+		* vout1 - Voltage representation of VOUT1.
+		* iout1_source - Voltage representation of IOUT1 (source mode).
+		* iout1_sink - Voltage representation of IOUT1 (sink mode).
+		* vout2 - Voltage representation of VOUT2.
+		* iout2_source - Voltage representation of IOUT2 (source mode).
+		* iout2_sink - Voltage representation of IOUT2 (sink mode).
+		* vout3 - Voltage representation of VOUT3
+		* iout3_source - Voltage representation of IOUT3 (source mode).
+		* iout3_sink - Voltage representation of IOUT3 (sink mode).
+		* vout4 - Voltage representation of VOUT4.
+		* iout4_source - Voltage representation of IOUT4 (source mode).
+		* iout4_sink - Voltage representation of IOUT4 (sink mode).
+		* vout5 - Voltage representation of VOUT5.
+		* iout5_source - Voltage representation of IOUT5 (source mode).
+		* iout5_sink - Voltage representation of IOUT5 (sink mode).
+		* vout6 - Voltage representation of VOUT6.
+		* iout6_source - Voltage representation of IOUT6 (source mode).
+		* iout6_sink - Voltage representation of IOUT6 (sink mode).
+		* vout7 - Voltage representation of VOUT7.
+		* iout7_source - Voltage representation of IOUT7 (source mode).
+		* iout7_sink - Voltage representation of IOUT7 (sink mode).
+		* die_temp - Voltage representation of internal die temperature.
+		* agnd - MUX_OUT pin internally tied to AGND.
+
+What:		/sys/bus/iio/devices/iio:deviceX/muxout_select_available
+KernelVersion:
+Contact:	linux-iio@vger.kernel.org
+Description:
+		Reading this returns the valid values that can be written to the
+		muxout_select attribute:
+		* powered_down
+		* vout0
+		* iout0_source
+		* iout0_sink
+		* vout1
+		* iout1_source
+		* iout1_sink
+		* vout2
+		* iout2_source
+		* iout2_sink
+		* vout3
+		* iout3_source
+		* iout3_sink
+		* vout4
+		* iout4_source
+		* iout4_sink
+		* vout5
+		* iout5_source
+		* iout5_sink
+		* vout6
+		* iout6_source
+		* iout6_sink
+		* vout7
+		* iout7_source
+		* iout7_sink
+		* die_temp
+		* agnd
diff --git a/MAINTAINERS b/MAINTAINERS
index ffdb3f21fc4fb35b349449afbb30fecd4fe72978..2d3c31c74594ca1934c67e7aad0a179feeaa39bf 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1289,6 +1289,13 @@  T:	git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
 F:	drivers/net/amt.c
 
+ANALOG DEVICES INC AD3530R DRIVER
+M:	Kim Seer Paller <kimseer.paller@analog.com>
+L:	linux-iio@vger.kernel.org
+S:	Supported
+W:	https://ez.analog.com/linux-software-drivers
+F:	Documentation/ABI/testing/sysfs-bus-iio-dac-ad3530r
+
 ANALOG DEVICES INC AD3552R DRIVER
 M:	Nuno Sá <nuno.sa@analog.com>
 L:	linux-iio@vger.kernel.org