arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi

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

File Facts

System
Linux kernel
Corpus path
arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi
Extension
.dtsi
Size
19141 bytes
Lines
800
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
/*
 * Samsung's Exynos5433 SoC pin-mux and pin-config device tree source
 *
 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
 * Chanwoo Choi <cw00.choi@samsung.com>
 *
 * Samsung's Exynos5433 SoC pin-mux and pin-config options are listed as device
 * tree nodes are listed in this file.
 */

#include "exynos-pinctrl.h"

#define PIN(_pin, _func, _pull, _drv)					\
	pin- ## _pin {							\
		samsung,pins = #_pin;					\
		samsung,pin-function = <EXYNOS_PIN_FUNC_ ##_func>;	\
		samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>;		\
		samsung,pin-drv = <EXYNOS5433_PIN_DRV_ ##_drv>;		\
	}

#define PIN_IN(_pin, _pull, _drv)					\
	PIN(_pin, INPUT, _pull, _drv)

#define PIN_OT(_pin, _pull, _drv)					\
	PIN(_pin, OUTPUT, _pull, _drv)

#define PIN_F2(_pin, _pull, _drv)					\
	PIN(_pin, 2, _pull, _drv)

&pinctrl_alive {
	gpa0: gpa0-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
		#interrupt-cells = <2>;
	};

	gpa1: gpa1-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;
		interrupt-parent = <&gic>;
		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
		#interrupt-cells = <2>;
	};

	gpa2: gpa2-gpio-bank {
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-controller;

Annotation

Implementation Notes