arch/arm64/boot/dts/freescale/imx8mm-verdin-ivy.dtsi

Source file repositories/reference/linux-study-clean/arch/arm64/boot/dts/freescale/imx8mm-verdin-ivy.dtsi

File Facts

System
Linux kernel
Corpus path
arch/arm64/boot/dts/freescale/imx8mm-verdin-ivy.dtsi
Extension
.dtsi
Size
9951 bytes
Lines
472
Domain
Architecture Layer
Bucket
arch/arm64
Inferred role
Architecture Layer: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2024 Toradex
 *
 * Common dtsi for Verdin IMX8MM SoM on Ivy carrier board
 *
 * https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-mini-nano
 * https://www.toradex.com/products/carrier-board/ivy-carrier-board
 */

#include <dt-bindings/mux/mux.h>
#include <dt-bindings/leds/common.h>

/ {
	/* AIN1 Voltage w/o AIN1_MODE gpio control */
	ain1_voltage_unmanaged: voltage-divider-ain1 {
		compatible = "voltage-divider";
		#io-channel-cells = <1>;
		io-channels = <&ivy_adc1 0>;
		full-ohms = <19>;
		output-ohms = <1>;
	};

	/* AIN1 Current w/o AIN1_MODE gpio control */
	ain1_current_unmanaged: current-sense-shunt-ain1 {
		compatible = "current-sense-shunt";
		#io-channel-cells = <0>;
		io-channels = <&ivy_adc1 1>;
		shunt-resistor-micro-ohms = <100000000>;
	};

	/* AIN1_MODE - SODIMM 216 */
	ain1_mode_mux_ctrl: mux-controller-0 {
		compatible = "gpio-mux";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_gpio5>;
		#mux-control-cells = <0>;
		mux-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
	};

	ain1-voltage {
		compatible = "io-channel-mux";
		channels = "ain1_voltage", "";
		io-channels = <&ain1_voltage_unmanaged 0>;
		io-channel-names = "parent";
		mux-controls = <&ain1_mode_mux_ctrl>;
		settle-time-us = <1000>;
	};

	ain1-current {
		compatible = "io-channel-mux";
		channels = "", "ain1_current";
		io-channels = <&ain1_current_unmanaged>;
		io-channel-names = "parent";
		mux-controls = <&ain1_mode_mux_ctrl>;
		settle-time-us = <1000>;
	};

	/* AIN2 Voltage w/o AIN2_MODE gpio control */
	ain2_voltage_unmanaged: voltage-divider-ain2 {
		compatible = "voltage-divider";
		#io-channel-cells = <1>;
		io-channels = <&ivy_adc2 0>;
		full-ohms = <19>;
		output-ohms = <1>;
	};

	/* AIN2 Current w/o AIN2_MODE gpio control */
	ain2_current_unmanaged: current-sense-shunt-ain2 {
		compatible = "current-sense-shunt";

Annotation

Implementation Notes