From 2f7e352d4d59f7903bf748a73ce0ec8f3fb7256f Mon Sep 17 00:00:00 2001 From: erebion Date: Thu, 1 Oct 2026 22:07:58 +0200 Subject: [PATCH] add notes on the phone's components --- notes/components.md | 191 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 notes/components.md diff --git a/notes/components.md b/notes/components.md new file mode 100644 index 0000000..2f60b68 --- /dev/null +++ b/notes/components.md @@ -0,0 +1,191 @@ +# Downstream.. things + +I really don't know what the stuff collected here is called. + +## Table with a lot of hex numbers + +| channel | downstream | upstream | +| ------- | ---------- | -------- | +| 0x35 0x00 | pm7250b-ibat-lvl0 | | +| 0x35 0x01 | pm7250b-ibat-lvl1 | | +| 0x35 0x02 | pm7250b-vbat-lvl0 | | +| 0x35 0x03 | pm7250b-vbat-lvl1 | | +| 0x35 0x04 | pm7250b-vbat-lvl2 | | +| 0x35 0x05 | pm7250b-bcl-lvl0 | | +| 0x35 0x06 | pm7250b-bcl-lvl1 | | +| 0x35 0x07 | pm7250b-bcl-lvl2 | | +| 0x38 0x02 | pm6150l-vph-lvl0 | | +| 0x38 0x03 | pm6150l-vph-lvl1 | | +| 0x38 0x04 | pm6150l-vph-lvl2 | | +| 0x38 0x05 | pm6150l-bcl-lvl0 | | +| 0x38 0x06 | pm6150l-bcl-lvl1 | | +| 0x38 0x07 | pm6150l-bcl-lvl2 | | +| 0x39 0x00 | modem-lte-sub6-pa1 | | +| 0x39 0x01 | modem-lte-sub6-pa2 | | +| 0x39 0x06 | modem-mmw0-usr | | +| 0x39 0x07 | modem-mmw1-usr | | +| 0x39 0x08 | modem-mmw2-usr | | +| 0x39 0x09 | modem-mmw3-usr | | +| 0x39 0x0a | modem-skin-usr | | +| 0x39 0x17 | modem-wifi-usr | | +| 0x39 0x18 | modem-ambient-usr | | +| 0x39 0x05 | modem-0-usr | | +| 0x39 0x19 | modem-1-usr | | +| 0x39 0x0d | modem-streamer-usr | | +| 0x39 0x0e | modem-mmw0-mod-usr | | +| 0x39 0x0f | modem-mmw1-mod-usr | | +| 0x39 0x10 | modem-mmw2-mod-usr | | +| 0x39 0x11 | modem-mmw3-mod-usr | | +| 0x39 0x1a | modem-mmw-pa1-usr | | +| 0x39 0x1b | modem-mmw-pa2-usr | | +| 0x39 0x1c | modem-mmw-pa3-usr | | +| 0x3a 0x00 | aoss-0-usr | | +| 0x3a 0x01 | cpu-0-0-usr | | +| 0x3a 0x01 | cpu-0-0-step | | +| 0x3a 0x02 | cpu-0-1-usr | | +| 0x3a 0x02 | cpu-0-1-step | | +| 0x3a 0x03 | cpu-0-2-usr | | +| 0x3a 0x03 | cpu-0-2-step | | +| 0x3a 0x04 | cpu-0-3-usr | | +| 0x3a 0x04 | cpu-0-3-step | | +| 0x3a 0x05 | cpu-0-4-usr | | +| 0x3a 0x05 | cpu-0-4-step | | +| 0x3a 0x06 | cpu-0-5-usr | | +| 0x3a 0x06 | cpu-0-5-step | | +| 0x3a 0x07 | cpuss-0-usr | | +| 0x3a 0x08 | cpuss-1-usr | | +| 0x3a 0x09 | cpu-1-0-usr | | +| 0x3a 0x09 | cpu-1-0-step | | +| 0x3a 0x0a | cpu-1-1-usr | | +| 0x3a 0x0a | cpu-1-1-step | | +| 0x3a 0x0b | cpu-1-2-usr | | +| 0x3a 0x0b | cpu-1-2-step | | +| 0x3a 0x0c | cpu-1-3-usr | | +| 0x3a 0x0c | cpu-1-3-step | | +| 0x3a 0x0d | gpuss-0-usr | | +| 0x3a 0x0e | gpuss-1-usr | | +| 0x3a 0x10 | min-temp-0-lowf | | +| 0x3a 0x10 | min-temp-0-lowc | | +| 0x3b 0x00 | aoss-1-usr | | +| 0x3b 0x01 | cwlan-usr | | +| 0x3b 0x02 | audio-usr | | +| 0x3b 0x03 | ddr-usr | | +| 0x3b 0x04 | q6-hvx-usr | | +| 0x3b 0x04 | q6-hvx-step | | +| 0x3b 0x05 | camera-usr | | +| 0x3b 0x06 | mdm-core-0-usr | | +| 0x3b 0x07 | mdm-core-1-usr | | +| 0x3b 0x08 | mdm-vec-usr | | +| 0x3b 0x09 | mdm-scl-usr | | +| 0x3b 0x0a | npu-usr | | +| 0x3b 0x0a | npu-step | | +| 0x3b 0x0b | video-usr | | +| 0x3b 0x10 | min-temp-1-lowf | | +| 0x3b 0x10 | min-temp-1-lowc | | +| 0x58 0x4d | chg-skin-therm-usr | | +| 0x58 0x4f | conn-therm-usr | | +| 0x59 0x4e | sdm-skin-therm-usr | | +| 0x59 0x4e | msm-therm-usr | | +| 0x59 0x53 | rfc—cam-pa3-usr | | +| 0x5a 0x4d | pa-therm1-usr | pa_therm_1 (not yet added) | +| 0x5a 0x4f | pa-therm0-usr | pa_therm_0 (not yet added) | +| 0x5a 0x54 | camera-therm-usr | downstream calls it camera-therm-usr, probably matches what is rear_cam_flash_therm for FP4? | +| 0x5a 0x55 | quiet-therm-usr | quiet_therm (not yet added) | +| 0x5a 0x55 | quiet-therm-step | quiet_therm (not yet added) | +| 0x5b 0x644 | xo-therm-usr | | + +### even more hex numbers + +| hex | name | +| --- | ---- | +| 0x33 | pm6350_tz | +| 0x34 | pm7250b-tz | +| 0x36 | soc | +| 0x37 | pm6150l-tz | + +## that tm thing with "@" + +Someone really needs to tell me how those things are called, not knowing the right term makes it all much more complicated. + +Also, why are there multiple adc_tm@3400 in the downstream Device Tree..? + +Example: + +``` + adc_tm@3400 { + compatible = "qcom,adc-tm7"; + reg = <0x3400>; + interrupts = <0x06 0x34 0x00 0x01>; + interrupt-names = "thr-int-en"; + #address-cells = <0x01>; + #size-cells = <0x00>; + #thermal-sensor-cells = <0x01>; + io-channels = <0x7f 0x644>; + phandle = <0x5b>; + + xo_therm { + reg = <0x644>; + qcom,ratiometric; + qcom,hw-settle-time = <0xc8>; + }; + }; +``` + +and + +``` + adc_tm@3400 { + compatible = "qcom,adc-tm5-iio"; + reg = <0x3400 0x100>; + #thermal-sensor-cells = <0x01>; + #address-cells = <0x01>; + #size-cells = <0x00>; + io-channels = <0x7c 0x4e 0x7c 0x53>; + phandle = <0x59>; + + msm_therm { + reg = <0x4e>; + qcom,ratiometric; + qcom,hw-settle-time = <0xc8>; + }; + + rfc_cam_therm { + reg = <0x53>; + qcom,ratiometric; + qcom,hw-settle-time = <0xc8>; + }; + }; + }; +``` + +The `compatible` string differs. My understanding is that this defines what something is, but how can it be two things at the same time..? + +| which tm thing (compatible) | what is listed there | +| -------------- | -------------------- | +| adc_tm@3400 (qcom,adc-tm7) | xo_therm | +| adc_tm@3400 (qcom,adc-tm5-iio) | msm_therm, rfc_cam_therm | +| adc_tm@3500 (qcom,adc-tm5) | charger_skin_therm, conn_therm | +| adc_tm@3500 (qcom,adc-tm5) | pa_therm1, pa_therm0, rear_cam_flash_therm, quiet_therm | + +## Components + +Some interesting compatible strings in the downstram device tree. + +| compatible string | component | bindings file | +| ----------------- | --------- | ------------- | +| awinic,aw882xx_smartpa | audio amplifier | [./Documentation/devicetree/bindings/sound/awinic,aw88395.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/sound/awinic,aw88395.yaml) | +| egistec,et580 | probably a touch sensor, egistec makes those (they have one named ET300, no idea whether that is similar) | n/a | +| foursemi,fs16xx | digital audio amplifier? | another foursemi amp: [./Documentation/devicetree/bindings/sound/foursemi,fs2105s.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/sound/foursemi,fs2105s.yaml) | +| nxp,pn553 | NFC controller | [./Documentation/devicetree/bindings/net/nfc/nxp,nci.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/net/nfc/nxp,nci.yaml) | +| nxp sn1x0-spi | ? (only did a very quick search so far) | | +| qca,wcn3990 | Bluetooth, actually a wcn3991 | [./Documentation/devicetree/bindings/net/bluetooth/qcom,wcn3990-bt.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/net/bluetooth/qcom,wcn3990-bt.yaml) | +| qcom,fsa4480-i2c | USB-C analog audio switch | [./Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml) | +| qcom,tsens24xx | temperature sensor | ? | +| qcom,vfe-lite170 | camera or camera related | | +| qcom,vfe170_150 | camera or camera related | | +| qcom,wcd937x-codec | audio codec | [./Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/sound/qcom,wcd937x.yaml) | +| qcom,wcd937x-slave | audio related | perhaps this [./Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/sound/qcom,wcd937x-sdw.yaml) | +| qcom,wcd938x-codec | audio codec | [./Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/sound/qcom,wcd938x.yaml) | +| qcom,wcd938x-slave | audio related | perhaps this [./Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/sound/qcom,wcd938x-sdw.yaml) | +| rohm,bu520x1nvx | hall sensor | none | +| sony,pn553-pm-ops | NFC controller | [./Documentation/devicetree/bindings/net/nfc/nxp,nci.yaml](https://www.kernel.org/doc/Documentation/devicetree/bindings/net/nfc/nxp,nci.yaml) |