arch/arm64/boot/dts/hisilicon/poplar-pinctrl.dtsi
Source file repositories/reference/linux-study-clean/arch/arm64/boot/dts/hisilicon/poplar-pinctrl.dtsi
File Facts
- System
- Linux kernel
- Corpus path
arch/arm64/boot/dts/hisilicon/poplar-pinctrl.dtsi- Extension
.dtsi- Size
- 2164 bytes
- Lines
- 99
- 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.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
Dependency Surface
dt-bindings/pinctrl/hisi.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
// SPDX-License-Identifier: GPL-2.0
/*
* Pinctrl dts file for HiSilicon Poplar board
*
* Copyright (c) 2016-2018 HiSilicon Technologies Co., Ltd.
*/
#include <dt-bindings/pinctrl/hisi.h>
/* value, enable bits, disable bits, mask */
#define PINCTRL_PULLDOWN(value, enable, disable, mask) \
(value << 13) (enable << 13) (disable << 13) (mask << 13)
#define PINCTRL_PULLUP(value, enable, disable, mask) \
(value << 12) (enable << 12) (disable << 12) (mask << 12)
#define PINCTRL_SLEW_RATE(value, mask) (value << 8) (mask << 8)
#define PINCTRL_DRV_STRENGTH(value, mask) (value << 4) (mask << 4)
&pmx0 {
emmc_pins_1: emmc-pins-1 {
pinctrl-single,pins = <
0x000 MUX_M2
0x004 MUX_M2
0x008 MUX_M2
0x00c MUX_M2
0x010 MUX_M2
0x014 MUX_M2
0x018 MUX_M2
0x01c MUX_M2
0x024 MUX_M2
>;
pinctrl-single,bias-pulldown = <
PINCTRL_PULLDOWN(0, 1, 0, 1)
>;
pinctrl-single,bias-pullup = <
PINCTRL_PULLUP(0, 1, 0, 1)
>;
pinctrl-single,slew-rate = <
PINCTRL_SLEW_RATE(1, 1)
>;
pinctrl-single,drive-strength = <
PINCTRL_DRV_STRENGTH(0xb, 0xf)
>;
};
emmc_pins_2: emmc-pins-2 {
pinctrl-single,pins = <
0x028 MUX_M2
>;
pinctrl-single,bias-pulldown = <
PINCTRL_PULLDOWN(0, 1, 0, 1)
>;
pinctrl-single,bias-pullup = <
PINCTRL_PULLUP(0, 1, 0, 1)
>;
pinctrl-single,slew-rate = <
PINCTRL_SLEW_RATE(1, 1)
>;
pinctrl-single,drive-strength = <
PINCTRL_DRV_STRENGTH(0x9, 0xf)
>;
};
emmc_pins_3: emmc-pins-3 {
pinctrl-single,pins = <
0x02c MUX_M2
>;
pinctrl-single,bias-pulldown = <
PINCTRL_PULLDOWN(0, 1, 0, 1)
>;
pinctrl-single,bias-pullup = <
Annotation
- Immediate include surface: `dt-bindings/pinctrl/hisi.h`.
- Atlas domain: Architecture Layer / arch/arm64.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.