mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 15:14:52 +00:00

Add Toradex Verdin Ivy carrier board support. One notable feature of Ivy is the analog inputs. These inputs are multiplexed, allowing the same input to measure either voltage or current. For current measurements, a GPIO switch enables or disables the shunt resistor. This process is automatically managed by the Linux kernel using the IIO and MUX subsystems. Voltage measurement is always enabled, but the voltage measured by the ADC is scaled by a cascade voltage divider. In the device tree, the equivalent gain of the voltage divider is used, which can be calculated as follows: ------------ + | .-. R1=30K | | | | '-' |------------------- Analog Input (AIN) | | .-. .-. R2=10K | | R3=30K | | | | | | '-' '-' | | | |-------- | .-. + | R4=10K | | | | | ADC Input (Channels 0 and 1) | '-' - | | - -----------| |-------- === === GND GND Vin = Analog Input (AIN) Vout = ADC Input Rth = Thevenin Equiv. Resistance Vth = Thevenin Equiv. Voltage RL = Load Resistor R1 = 30K, R2 = 10K, R3 = 30K, R4 = 10K RL = R4 = 10K Rth = (R1 // R2) + R3 = 37500 Ohms Vth = (Vin * R2) / (R1 + R2) = Vin/4; Vout = (Vth * RL)/ (Rth + RL) = Vth/4.75 = Vin/19 Gain = Vout/Vin = 1/19 https://www.toradex.com/products/carrier-board/ivy-carrier-board Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Link: https://lore.kernel.org/r/20240924120044.130913-4-francesco@dolcini.it Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
23 lines
560 B
Plaintext
23 lines
560 B
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
/*
|
|
* Copyright 2024 Toradex
|
|
*
|
|
* https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
|
|
* https://www.toradex.com/products/carrier-board/ivy-carrier-board
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "k3-am625.dtsi"
|
|
#include "k3-am62-verdin.dtsi"
|
|
#include "k3-am62-verdin-nonwifi.dtsi"
|
|
#include "k3-am62-verdin-ivy.dtsi"
|
|
|
|
/ {
|
|
model = "Toradex Verdin AM62 on Ivy Board";
|
|
compatible = "toradex,verdin-am62-nonwifi-ivy",
|
|
"toradex,verdin-am62-nonwifi",
|
|
"toradex,verdin-am62",
|
|
"ti,am625";
|
|
};
|