uzbek-plus/linux/dts/msm8916-jz08-aurora-bam1.dts
q 105bef466a Project Aurora: mainline ARM64 Linux on JZ08AU (MSM8916) LTE modem
Sanitized research log, build/reproducibility docs, DTS, kernel configs,
patches, initramfs sources, bootchain migration plans and test logs.
B5 direct boot PASS; B6 modem lifecycle in progress.
No dumps, NV/EFS, vendor firmware or device identifiers included.
2026-09-30 17:23:18 +03:00

120 lines
3.5 KiB
Text

// SPDX-License-Identifier: GPL-2.0-only
/*
* Project Aurora — JZ08AU-XPA-7J-R3 (MSM8916, 512 MB, ST7735S SPI panel).
* RAM-BOOT MODEM1: EMMC1 + MPSS remoteproc (native Aurora firmware, rmtfs -r). No BAM-DMUX/WWAN/WCNSS. Everything that could touch
* storage, radios or power management is explicitly disabled.
*
* Hardware facts from stock Aurora dtb_01 (see NOTES.md S2.1/S12):
* console = BLSP1 UART2 serial@78b0000, GPIO4 (TX) / GPIO5 (RX), 115200 8N1.
* RAM size (memory@80000000 reg) is filled in by lk2nd from SMEM.
*/
/dts-v1/;
#include "msm8916-pm8916.dtsi" /* + RPM regulators (USB PHY L7/L13) */
/ {
model = "JZ08AU Aurora (RAM boot BAM1)";
compatible = "jz08au,aurora", "qcom,msm8916";
chassis-type = "embedded";
aliases {
serial0 = &blsp_uart2;
mmc0 = &sdhc_1; /* eMMC */
};
chosen {
stdout-path = "serial0:115200n8";
};
};
&blsp_uart2 {
pinctrl-0 = <&blsp_uart2_console_default>;
pinctrl-1 = <&blsp_uart2_console_sleep>;
pinctrl-names = "default", "sleep";
status = "okay";
};
/* --- RAM boot MODEM1 safety: no SD slot, no Wi-Fi, no modem data plane --- */
/* sdhc_1 (eMMC): enabled below, READ-ONLY enforced by initramfs (blockdev --setro) */
&sdhc_2 { status = "disabled"; };
/* usb: see peripheral block below */
/* mpss: enabled below */
&bam_dmux { status = "okay"; }; /* B4b1: data-plane mux driver (no bearer) */
&bam_dmux_dma { status = "okay"; };
&wcnss { status = "disabled"; }; /* WCNSS/pronto remoteproc */
/*
* USB peripheral only (ChipIdea ci-hdrc + qcom,usb-hs-phy-msm8916, upstream bindings).
* Stock Aurora: HSUSB_1p8 = L7 1.8 V, HSUSB_3p3 = L13 3.075 V, otg-control = 2 (PMIC VBUS detect),
* PHY init-seq identical to upstream. VBUS detect via PM8916 USB_IN (as on JZ02). No host, no role switch.
*/
&pm8916_usbin {
status = "okay";
};
&usb {
dr_mode = "peripheral";
extcon = <&pm8916_usbin>;
status = "okay";
};
&usb_hs_phy {
extcon = <&pm8916_usbin>;
};
/*
* Internal eMMC (stock: bootdevice=7824900.sdhci, qcom,bus-width 8, nonremovable,
* vdd = 8916_l8 2.85-2.9 V, vdd-io = 8916_l5 1.8 V). Upstream msm8916.dtsi already provides
* bus-width = <8>, non-removable, mmc-ddr-1_8v (no HS200 = conservative), sdc1 pinctrl;
* msm8916-pm8916.dtsi provides vmmc = pm8916_l8, vqmmc = pm8916_l5. Only enable it here.
*/
&sdhc_1 {
status = "okay";
};
/*
* MPSS (modem) remoteproc, native Aurora firmware from the RO-mounted modem FAT.
* mpss_mem: stock Aurora "modem_adsp_region" base 0x86800000 size 78 MiB (0x4e00000);
* Aurora modem.mdt load span 0x86800000..0x8b300000 (75 MiB), same as stock PIL log.
* mba_mem: upstream dynamic 1 MiB. pll-supply (pm8916_l7), cx/mx rpmpd from msm8916(-pm8916).dtsi.
* Driver has auto_boot = false: MSS starts only when rmtfs (-s) requests it.
* BAM-DMUX stays disabled (no data plane at this stage).
*/
&mba_mem {
status = "okay";
};
&mpss_mem {
reg = <0x0 0x86800000 0x0 0x4e00000>;
status = "okay";
};
&mpss {
pinctrl-0 = <&sim_ctrl_default>;
pinctrl-names = "default";
status = "okay";
};
/*
* SIM routing as found on stock Aurora (dtb_01 gpio-leds default-state and live
* Android /sys/kernel/debug/gpio): gpio1 (sim3_switch) high, gpio20 (sim_hotdet),
* gpio22 (sim1_switch), gpio23 (sim2_switch) low. Passive routing only.
*/
&tlmm {
sim_ctrl_default: sim-ctrl-default-state {
sim-low-pins {
pins = "gpio20", "gpio22", "gpio23";
function = "gpio";
bias-disable;
output-low;
};
sim-high-pins {
pins = "gpio1";
function = "gpio";
bias-disable;
output-high;
};
};
};