arch/arm64/boot/dts/hisilicon/hikey970-pinctrl.dtsi

Source file repositories/reference/linux-study-clean/arch/arm64/boot/dts/hisilicon/hikey970-pinctrl.dtsi

File Facts

System
Linux kernel
Corpus path
arch/arm64/boot/dts/hisilicon/hikey970-pinctrl.dtsi
Extension
.dtsi
Size
19654 bytes
Lines
970
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
/*
 * Pinctrl dts file for HiSilicon HiKey970 development board
 */

#include <dt-bindings/pinctrl/hisi.h>

/ {
	soc {
		range: gpio-range {
			#pinctrl-single,gpio-range-cells = <3>;
		};

		pmx0: pinmux@e896c000 {
			compatible = "pinctrl-single";
			reg = <0x0 0xe896c000 0x0 0x72c>;
			#pinctrl-cells = <1>;
			#gpio-range-cells = <0x3>;
			pinctrl-single,register-width = <0x20>;
			pinctrl-single,function-mask = <0x7>;
			/* pin base, nr pins & gpio function */
			pinctrl-single,gpio-range = <&range 0 82 0>;

			uart0_pmx_func: uart0-pins {
				pinctrl-single,pins = <
					0x054 MUX_M2 /* UART0_RXD */
					0x058 MUX_M2 /* UART0_TXD */
				>;
			};

			uart2_pmx_func: uart2-pins {
				pinctrl-single,pins = <
					0x700 MUX_M2 /* UART2_CTS_N */
					0x704 MUX_M2 /* UART2_RTS_N */
					0x708 MUX_M2 /* UART2_RXD */
					0x70c MUX_M2 /* UART2_TXD */
				>;
			};

			uart3_pmx_func: uart3-pins {
				pinctrl-single,pins = <
					0x064 MUX_M1 /* UART3_CTS_N */
					0x068 MUX_M1 /* UART3_RTS_N */
					0x06c MUX_M1 /* UART3_RXD */
					0x070 MUX_M1 /* UART3_TXD */
				>;
			};

			uart4_pmx_func: uart4-pins {
				pinctrl-single,pins = <
					0x074 MUX_M1 /* UART4_CTS_N */
					0x078 MUX_M1 /* UART4_RTS_N */
					0x07c MUX_M1 /* UART4_RXD */
					0x080 MUX_M1 /* UART4_TXD */
				>;
			};

			uart6_pmx_func: uart6-pins {
				pinctrl-single,pins = <
					0x05c MUX_M1 /* UART6_RXD */
					0x060 MUX_M1 /* UART6_TXD */
				>;
			};

			i2c3_pmx_func: i2c3-pins {
				pinctrl-single,pins = <
					0x010 MUX_M1 /* I2C3_SCL */
					0x014 MUX_M1 /* I2C3_SDA */
				>;
			};

Annotation

Implementation Notes