Re: [PATCH 2/4] pmdomain: qcom: rpmhpd: Add NMXC power domain for Nord

Shawn Guo <[email protected]>
Newsgroups org.kernel.vger.linux-pm,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-remoteproc
Message-ID <ao7mrrW_ob77EAIp@QCOM-aGQu4IUr3Y>
On Wed, Aug 26, 2026 at 03:04:33PM +0200, Konrad Dybcio wrote:
> On 8/26/26 12:27 PM, Shawn Guo wrote:
> > From: Anurag Pateriya <[email protected]>
> > 
> > Add the nmxc.lvl RPMh resource and register it in the Nord power domain
> > table. Nord supplies the NSP memory rail from this dedicated resource
> > rather than from the shared MX rail, so consumers need it exposed as its
> > own power domain.
> > 
> > Signed-off-by: Anurag Pateriya <[email protected]>
> > Signed-off-by: Shawn Guo <[email protected]>
> > ---
> >  drivers/pmdomain/qcom/rpmhpd.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/drivers/pmdomain/qcom/rpmhpd.c b/drivers/pmdomain/qcom/rpmhpd.c
> > index 96e4bd2f5a14..717c44d1c39a 100644
> > --- a/drivers/pmdomain/qcom/rpmhpd.c
> > +++ b/drivers/pmdomain/qcom/rpmhpd.c
> > @@ -198,6 +198,11 @@ static struct rpmhpd mxc_ao = {
> >  	.res_name = "mxc.lvl",
> >  };
> >  
> > +static struct rpmhpd nmxc = {
> > +	.pd = { .name = "nmxc", },
> > +	.res_name = "nmxc.lvl",
> 
> The commandDB sources suggest this shouls be nspmxc.lvl instead..
> 
> Can you dump /sys/kernel/debug/cmd-db?

root@qcom-armv8a:~# cat /sys/kernel/debug/cmd-db
Command DB DUMP
Slave ARC (v16.0)
-------------------------
0x30000: cx.lvl [00 00 10 00 10 00 c0 00 00 01 80 01 a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30004: cx.tmr
0x30010: mx.lvl [00 00 10 00 c0 00 00 01 80 01 a0 01 b0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30014: mx.tmr
0x30020: ebi.lvl [00 00 10 00 c0 00 00 01 80 01 a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30024: ebi.tmr
0x30030: gfx.lvl [00 00 01 00 c0 00 00 01 80 01 a0 01 b0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30034: gfx.tmr
0x30040: ddr.lvl [00 00 20 00 80 00 a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30044: ddr.tmr
0x30050: mmcx.lvl [00 00 01 00 c0 00 00 01 80 01 a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30054: mmcx.tmr
0x30060: nsp0.lvl [00 00 01 00 c0 00 00 01 80 01 a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30064: nsp0.tmr
0x30070: mxc.lvl [00 00 10 00 c0 00 00 01 80 01 a0 01 b0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30074: mxc.tmr
0x30080: nsp1.lvl [00 00 01 00 c0 00 00 01 80 01 a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30084: nsp1.tmr
0x30090: nsp2.lvl [00 00 01 00 c0 00 00 01 80 01 a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x30094: nsp2.tmr
0x300a0: nsp3.lvl [00 00 01 00 c0 00 00 01 80 01 a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x300a4: nsp3.tmr
0x300b0: nmxc.lvl [00 00 10 00 c0 00 00 01 80 01 a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x300b4: nmxc.tmr
0x300c0: gic.lvl [00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x300c4: gic.tmr
0x300d0: ds.lvl [00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x300d4: ds.tmr
0x300e0: gfx1.lvl [00 00 01 00 c0 00 00 01 80 01 a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x300e4: gfx1.tmr
0x300f0: xo.lvl [00 00 20 00 50 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
0x300f4: xo.tmr
Slave ARC (v16.0)
-------------------------
0x00000: cx.mol [80 00]
0x00000: mx.mol [c0 00]
0x00000: ebi.mol [c0 00]
0x00000: gfx.mol [80 00]
0x00000: ddr.mol [a0 00]
0x00000: mmcx.mol [80 00]
0x00000: nsp0.mol [80 00]
0x00000: mxc.mol [c0 00]
0x00000: nsp1.mol [80 00]
0x00000: nsp2.mol [80 00]
0x00000: nsp3.mol [80 00]
0x00000: nmxc.mol [c0 00]
0x00000: gic.mol [20 00]
0x00000: ds.mol [20 00]
0x00000: gfx1.mol [80 00]
0x00000: xo.mol [80 00]
Slave BCM (v16.0)
-------------------------
0x50000: MC0 [40 d0 1b 01 40 00 00 00]
0x50094: MC1 [40 d0 1b 01 40 00 00 00]
0x5009c: MC2 [40 d0 1b 01 40 00 00 00]
0x50080: MC3 [40 d0 1b 01 40 00 00 00]
0x50004: SH0 [c0 ea 21 01 00 01 01 00]
0x50008: SH1 [c0 ea 21 01 00 01 01 00]
0x50098: SH2 [c0 ea 21 01 00 01 01 00]
0x50084: SH3 [c0 ea 21 01 00 01 01 00]
0x50010: SN0 [10 e4 1f 00 40 00 03 00]
0x50014: SN1 [10 e4 1f 00 40 00 03 00]
0x50018: SN2 [10 e4 1f 00 10 00 03 00]
0x5001c: SN3 [10 e4 1f 00 10 00 03 00]
0x50024: SN4 [10 e4 1f 00 10 00 03 00]
0x50028: MM0 [b0 db 23 00 40 00 04 00]
0x5002c: MM1 [b0 db 23 00 40 00 04 00]
0x50030: CN0 [e0 22 02 00 04 00 05 00]
0x50034: CN1 [e0 22 02 00 04 00 05 00]
0x50038: CE0 [fc 5c 00 00 08 00 06 00]
0x50070: CE1 [fc 5c 00 00 08 00 06 00]
0x50074: CE2 [fc 5c 00 00 08 00 06 00]
0x5003c: IP0 [28 00 00 00 08 00 07 00]
0x50040: QUP0 [14 00 00 00 04 00 08 00]
0x50044: QUP1 [14 00 00 00 04 00 08 00]
0x50048: QUP2 [14 00 00 00 04 00 08 00]
0x50068: QUP3 [14 00 00 00 04 00 08 00]
0x5004c: C0N0 [60 b7 47 00 40 00 09 00]
0x50050: C1N0 [60 b7 47 00 40 00 0a 00]
0x50054: C2N0 [60 b7 47 00 40 00 0b 00]
0x50058: C3N0 [60 b7 47 00 40 00 0c 00]
0x5005c: CP0 [30 75 00 00 04 00 0d 00]
0x50060: DCP0 [30 75 00 00 04 00 0e 00]
0x50064: DTP0 [80 38 01 00 04 00 0f 00]
0x5006c: ALC [01 00 00 00 00 00 11 00]
0x50088: ACV [01 00 00 00 00 00 12 00]
Slave VRM (v1.0)
-------------------------
0x4d000: vrm.aoss [03 da 00 00]
0x4d004: vrm.ds [03 da 00 00]
0x40200: S1A_E0 [01 0b 00 00]
0x40300: S3A_E0 [01 0d 00 00]
0x40000: S5A_E0 [01 11 00 00]
0x40400: S6A_E0 [01 13 00 00]
0x40500: S8A_E0 [01 17 00 00]
0x40500: vrm.ebi [01 17 00 00]
0x40600: L4A_E0 [01 49 00 00]
0x40700: L6A_E0 [01 4b 00 00]
0x40800: L7A_E0 [01 4c 00 00]
0x40b00: L8A_E0 [01 4d 00 00]
0x4a000: C1A_E0 [02 69 00 00]
0x4a000: vrm.xob [02 69 00 00]
0x4a100: C2A_E0 [02 6a 00 00]
0x4a100: lnbclka2 [02 6a 00 00]
0x4a200: C3A_E0 [02 6b 00 00]
0x4a200: lnbclka3 [02 6b 00 00]
0x4a300: C4A_E0 [02 6c 00 00]
0x4a300: divclka1 [02 6c 00 00]
0x40c00: S1E_E0 [01 1b 00 00]
0x40c00: vrm.nsp3 [01 1b 00 00]
0x40d00: S7E_E0 [01 1d 00 00]
0x40d00: vrm.mx [01 1d 00 00]
0x40e00: L1E_E0 [01 4f 00 00]
0x40f00: L2E_E0 [01 50 00 00]
0x41600: L3E_E0 [01 51 00 00]
0x41700: S1F_E0 [01 1f 00 00]
0x41700: vrm.nsp1 [01 1f 00 00]
0x40100: S7F_E0 [01 21 00 00]
0x41800: S8F_E0 [01 23 00 00]
0x41000: L1F_E0 [01 52 00 00]
0x41900: L3F_E0 [01 54 00 00]
0x41a00: S1G_E0 [01 25 00 00]
0x41a00: vrm.nsp0 [01 25 00 00]
0x41b00: S5G_E0 [01 27 00 00]
0x41100: L2G_E0 [01 56 00 00]
0x41c00: S1H_E0 [01 2b 00 00]
0x41c00: vrm.nsp2 [01 2b 00 00]
0x41d00: S5H_E0 [01 2d 00 00]
0x41d00: vrm.mxc [01 2d 00 00]
0x41200: L1H_E0 [01 58 00 00]
0x40900: L2H_E0 [01 59 00 00]
0x41e00: S2I_E0 [01 31 00 00]
0x41e00: vrm.gfx [01 31 00 00]
0x41f00: S7I_E0 [01 00 00 00]
0x41f00: vrm.mmcx [01 00 00 00]
0x41300: L1I_E0 [01 5b 00 00]
0x40a00: L2I_E0 [01 5c 00 00]
0x42000: L3I_E0 [01 5d 00 00]
0x42100: S7J_E0 [01 00 00 00]
0x42100: vrm.gfx1 [01 00 00 00]
0x41400: L1K_E0 [01 61 00 00]
0x41500: L2K_E0 [01 62 00 00]
0x42200: L3K_E0 [01 63 00 00]
0x42300: S1L_E0 [01 00 00 00]
0x42300: vrm.nmxc [01 00 00 00]
0x42400: S2L_E0 [01 45 00 00]
0x42400: vrm.cx [01 45 00 00]
0x42500: L3L_E0 [01 66 00 00]
0x4a400: vrm.sail [02 67 00 00]

Shawn
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.