arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-pcie-usb2.dtso
Source file repositories/reference/linux-study-clean/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-pcie-usb2.dtso
File Facts
- System
- Linux kernel
- Corpus path
arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-pcie-usb2.dtso- Extension
.dtso- Size
- 1899 bytes
- Lines
- 88
- Domain
- Architecture Layer
- Bucket
- arch/arm64
- Inferred role
- Architecture Layer: arch/arm64
- 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/gpio/gpio.hdt-bindings/phy/phy.hdt-bindings/phy/phy-cadence.hk3-pinctrl.hk3-serdes.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-only OR MIT
/*
* DT overlay for PCIe support (limits USB to 2.0/high-speed)
*
* Copyright (C) 2021 PHYTEC America, LLC - https://www.phytec.com
* Author: Matt McKee <mmckee@phytec.com>
*
* Copyright (C) 2024 PHYTEC America, LLC - https://www.phytec.com
* Author: Nathan Morrisson <nmorrisson@phytec.com>
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/phy/phy-cadence.h>
#include "k3-pinctrl.h"
#include "k3-serdes.h"
&{/} {
pcie_refclk0: pcie-refclk0 {
compatible = "gpio-gate-clock";
pinctrl-names = "default";
pinctrl-0 = <&pcie_usb_sel_pins_default>;
clocks = <&serdes_refclk>;
#clock-cells = <0>;
enable-gpios = <&main_gpio1 7 GPIO_ACTIVE_HIGH>;
};
};
&main_pmx0 {
pcie_usb_sel_pins_default: pcie-usb-sel-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x017c, PIN_OUTPUT, 7) /* (T1) PRG0_PRU0_GPO7.GPIO1_7 */
>;
};
pcie_pins_default: pcie-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x0098, PIN_OUTPUT, 7) /* (W19) GPMC0_WAIT0.GPIO0_37 */
>;
};
};
&pcie0_rc {
pinctrl-names = "default";
pinctrl-0 = <&pcie_pins_default>;
reset-gpios = <&main_gpio0 37 GPIO_ACTIVE_HIGH>;
phys = <&serdes0_pcie_usb_link>;
phy-names = "pcie-phy";
num-lanes = <1>;
status = "okay";
};
&serdes0_pcie_usb_link {
cdns,phy-type = <PHY_TYPE_PCIE>;
};
&serdes_ln_ctrl {
idle-states = <AM64_SERDES0_LANE0_PCIE0>;
};
&serdes0 {
assigned-clock-parents = <&pcie_refclk0>, <&pcie_refclk0>, <&pcie_refclk0>;
};
&serdes_refclk {
clock-frequency = <100000000>;
Annotation
- Immediate include surface: `dt-bindings/gpio/gpio.h`, `dt-bindings/phy/phy.h`, `dt-bindings/phy/phy-cadence.h`, `k3-pinctrl.h`, `k3-serdes.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.