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

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

File Facts

System
Linux kernel
Corpus path
arch/arm64/boot/dts/hisilicon/hikey-pinctrl.dtsi
Extension
.dtsi
Size
25173 bytes
Lines
707
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 fils for Hislicon HiKey development board
 *
 */
#include <dt-bindings/pinctrl/hisi.h>

/ {
	soc {
		pmx0: pinmux@f7010000 {
			pinctrl-names = "default";
			pinctrl-0 = <
				&boot_sel_pmx_func
				&hkadc_ssi_pmx_func
				&codec_clk_pmx_func
				&pwm_in_pmx_func
				&bl_pwm_pmx_func
				>;

			boot_sel_pmx_func: boot-sel-pins {
				pinctrl-single,pins = <
					0x0    MUX_M0	/* BOOT_SEL     (IOMG000) */
				>;
			};

			emmc_pmx_func: emmc-pins {
				pinctrl-single,pins = <
					0x100  MUX_M0	/* EMMC_CLK     (IOMG064) */
					0x104  MUX_M0	/* EMMC_CMD     (IOMG065) */
					0x108  MUX_M0	/* EMMC_DATA0   (IOMG066) */
					0x10c  MUX_M0	/* EMMC_DATA1   (IOMG067) */
					0x110  MUX_M0	/* EMMC_DATA2   (IOMG068) */
					0x114  MUX_M0	/* EMMC_DATA3   (IOMG069) */
					0x118  MUX_M0	/* EMMC_DATA4   (IOMG070) */
					0x11c  MUX_M0	/* EMMC_DATA5   (IOMG071) */
					0x120  MUX_M0	/* EMMC_DATA6   (IOMG072) */
					0x124  MUX_M0	/* EMMC_DATA7   (IOMG073) */
				>;
			};

			sd_pmx_func: sd-pins {
				pinctrl-single,pins = <
					0xc    MUX_M0	/* SD_CLK       (IOMG003) */
					0x10   MUX_M0	/* SD_CMD       (IOMG004) */
					0x14   MUX_M0	/* SD_DATA0     (IOMG005) */
					0x18   MUX_M0	/* SD_DATA1     (IOMG006) */
					0x1c   MUX_M0	/* SD_DATA2     (IOMG007) */
					0x20   MUX_M0	/* SD_DATA3     (IOMG008) */
				>;
			};
			sd_pmx_idle: sd-idle-pins {
				pinctrl-single,pins = <
					0xc    MUX_M1	/* SD_CLK       (IOMG003) */
					0x10   MUX_M1	/* SD_CMD       (IOMG004) */
					0x14   MUX_M1	/* SD_DATA0     (IOMG005) */
					0x18   MUX_M1	/* SD_DATA1     (IOMG006) */
					0x1c   MUX_M1	/* SD_DATA2     (IOMG007) */
					0x20   MUX_M1	/* SD_DATA3     (IOMG008) */
				>;
			};

			sdio_pmx_func: sdio-pins {
				pinctrl-single,pins = <
					0x128  MUX_M0	/* SDIO_CLK     (IOMG074) */
					0x12c  MUX_M0	/* SDIO_CMD     (IOMG075) */
					0x130  MUX_M0	/* SDIO_DATA0   (IOMG076) */
					0x134  MUX_M0	/* SDIO_DATA1   (IOMG077) */
					0x138  MUX_M0	/* SDIO_DATA2   (IOMG078) */
					0x13c  MUX_M0	/* SDIO_DATA3   (IOMG079) */
				>;

Annotation

Implementation Notes