Files
RedBear-OS/mk/fstools.mk
T
vasilito 2ee9efd8d0 intel: combo PHY initialization for Xe2/Gen11+
Add display_combo_phy.rs for ICL/TGL/ADL/ARL combo PHY setup.
Combo PHY must be initialized before DDI programming on Gen11+.

- display_combo_phy.rs: ComboPhy struct with init_all(), init_phy(),
  power_up_lanes(), is_enabled(). Programs ICL_PORT_CL_DW5 (power),
  ICL_PORT_CL_DW10 (lane power-up), ICL_PORT_CL_DW12 (idle mask).
  Supports 5 combo PHY bases (A-E): 0x162000, 0x6C000, 0x160000,
  0x161000, 0x16B000.

- mod.rs: add ComboPhy to IntelDriver (Option, Xe2-only). Initialize
  in constructor before power wells when has_combo_phy == true.

Linux reference: intel_combo_phy.c, intel_combo_phy_regs.h

Errors in redox-driver-sys are pre-existing (dma.rs, io.rs),
unrelated to Intel changes.
2026-05-30 07:41:25 +03:00

64 lines
1.8 KiB
Makefile

# Configuration file for the Red Bear OS installer, Cookbook and RedoxFS FUSE
fstools: $(FSTOOLS_TAG) $(FSTOOLS)
GOING_TO_PODMAN_AGAIN?=0
# These tools run inside Podman if it is used, or on the host if Podman is not used
$(FSTOOLS): | prefix $(CONTAINER_TAG) $(FSTOOLS_TAG)
ifeq ($(PODMAN_BUILD),1)
ifeq ($(FSTOOLS_IN_PODMAN),1)
$(PODMAN_RUN) make $@
else
$(MAKE) $@ PODMAN_BUILD=0 SKIP_CHECK_TOOLS=1 GOING_TO_PODMAN_AGAIN=1
endif
else
rm -rf $@ $@.partial
mkdir -p $@.partial
ln -s ../../recipes $@.partial/recipes
ln -s ../../local $@.partial/local
$(MAKE) fstools_fetch PODMAN_BUILD=$(GOING_TO_PODMAN_AGAIN)
# Compile installer and redoxfs for host (may be outside of podman container)
cd $@.partial && \
export CARGO_TARGET_DIR=../$@-target && \
$(HOST_CARGO) install --root . --path recipes/core/installer/source --locked $(INSTALLER_FEATURES) && \
$(HOST_CARGO) install --root . --path recipes/core/redoxfs/source --locked $(REDOXFS_FEATURES)
mv $@.partial $@
touch $@
endif
fstools_fetch: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
ifneq ($(REDBEAR_RELEASE),)
./local/scripts/restore-sources.sh --release=$(REDBEAR_RELEASE) core/installer core/redoxfs
else
$(REPO_BIN) fetch installer redoxfs
endif
endif
CARGO_OFFLINE_FLAG=
ifeq ($(REPO_OFFLINE),1)
CARGO_OFFLINE_FLAG=--offline
endif
$(FSTOOLS_TAG): $(CONTAINER_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
# Fetch host tool git dependencies (e.g. pkgar from Redox) before offline build
$(HOST_CARGO) fetch --locked --manifest-path Cargo.toml
$(HOST_CARGO) build --manifest-path Cargo.toml --release --locked $(CARGO_OFFLINE_FLAG)
mkdir -p $(@D)
touch $@
endif
fstools_clean: FORCE
rm -rf target
rm -rf $(FSTOOLS)
rm -rf $(FSTOOLS)-target
rm -f $(FSTOOLS_TAG)