Switch 2: DT services

Revision as of 00:50, 31 January 2026 by Hexkyz (talk | contribs) (Created page with "DT (Device Tree) appears to be a port of libfdt for the Switch 2. These services are exclusive to Switch 2. = dt = This is a TIPC interface so the command numbers are subtracted by 16. {| class="wikitable" border="1" |- ! Cmd || Name |- | 0 || GetNode |- | 1 || |- | 4 || |- | 5 || |- | 6 || |- | 7 || |- | 8 || |- | 9 || |- | 10 || HasProperty |- | 11 || |- | 12 || GetProperty |- | 15 || |- | 16 || |- | 17 || |-...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

DT (Device Tree) appears to be a port of libfdt for the Switch 2.

These services are exclusive to Switch 2.

dt

This is a TIPC interface so the command numbers are subtracted by 16.

Cmd Name
0 GetNode
1
4
5
6
7
8
9
10 HasProperty
11
12 GetProperty
15
16
17
18
19
20
21 GetPath
22
24
25
26

GetNode

Unofficial name.

Takes a type-0x5 input buffer containing a string Path. Returns an output u32 NodeOffset.

HasProperty

Unofficial name.

Takes a type-0x5 input buffer containing a string Property and an input u32 NodeOffset. Returns an output bool.

GetProperty

Unofficial name.

Takes a type-0x5 input buffer containing a string Property, a type-0x6 output buffer and two input u32s NodeOffset and Index. Returns an output u32.

GetPath

Unofficial name.

Takes a type-0x6 output buffer and an input u32 NodeOffset. No output.

Nodes

NodeOffset Path
0x0 "/"
0xE4 "/chosen"
0x108 "/interrupt-controller@f400000"
0x1F0 "/pinmux@2430000"
0x244 "/pinmux@2430000/init-pins"
0x254 "/pinmux@2430000/init-pins/extperiph1_clk_pc2"
0x2D0 "/pinmux@2430000/init-pins/extperiph2_clk_pc3"
0x34C "/pinmux@2430000/init-pins/cam_i2c_scl_pc4"
0x3E4 "/pinmux@2430000/init-pins/cam_i2c_sda_pc5"
0x47C "/pinmux@2430000/init-pins/soc_gpio23_pc6"
0x4F4 "/pinmux@2430000/init-pins/soc_gpio24_pc7"
0x56C "/pinmux@2430000/init-pins/soc_gpio27_pd0"
0x5F4 "/pinmux@2430000/init-pins/soc_gpio55_pd1"
0x66C "/pinmux@2430000/init-pins/soc_gpio29_pd2"
0x6E4 "/pinmux@2430000/init-pins/soc_gpio33_pd3"
0x75C "/pinmux@2430000/init-pins/soc_gpio32_pd4"
0x7D4 "/pinmux@2430000/init-pins/soc_gpio35_pd5"
0x84C "/pinmux@2430000/init-pins/soc_gpio37_pd6"
0x8C4 "/pinmux@2430000/init-pins/soc_gpio56_pd7"
0x93C "/pinmux@2430000/init-pins/uart1_tx_pe0"
0x9B4 "/pinmux@2430000/init-pins/uart1_rx_pe1"
0xA2C "/pinmux@2430000/init-pins/uart1_rts_pe2"
0xAA4 "/pinmux@2430000/init-pins/uart1_cts_pe3"
0xB24 "/pinmux@2432000"
0xB78 "/pinmux@2432000/init-pins"
0xB88 "/pinmux@2432000/init-pins/soc_gpio167_pp0"
0xC00 "/pinmux@2432000/init-pins/soc_gpio168_pp1"
0xC78 "/pinmux@2432000/init-pins/soc_gpio169_pp2"
0xCF0 "/pinmux@2432000/init-pins/soc_gpio170_pp3"
0xD68 "/pinmux@2432000/init-pins/dap4_sclk_pp4"
0xDE0 "/pinmux@2432000/init-pins/dap4_dout_pp5"
0xE58 "/pinmux@2432000/init-pins/dap4_din_pp6"
0xED0 "/pinmux@2432000/init-pins/dap4_fs_pp7"
0xF44 "/pinmux@2432000/init-pins/soc_gpio171_pq0"
0xFBC "/pinmux@2432000/init-pins/soc_gpio172_pq1"
0x1034 "/pinmux@2432000/init-pins/soc_gpio173_pq2"
0x10B4 "/pinmux@2434000"
0x1108 "/pinmux@2434000/init-pins"
0x1118 "/pinmux@2434000/init-pins/soc_gpio13_pf0"
0x11A0 "/pinmux@2434000/init-pins/soc_gpio14_pf1"
0x1218 "/pinmux@2434000/init-pins/soc_gpio15_pf2"
0x1290 "/pinmux@2434000/init-pins/soc_gpio16_pf3"
0x1308 "/pinmux@2434000/init-pins/soc_gpio17_pf4"
0x1380 "/pinmux@2434000/init-pins/soc_gpio18_pf5"
0x13F8 "/pinmux@2434000/init-pins/soc_gpio20_pf6"
0x1470 "/pinmux@2434000/init-pins/soc_gpio21_pf7"
0x14E8 "/pinmux@2434000/init-pins/soc_gpio22_pg0"
0x1560 "/pinmux@2434000/init-pins/soc_gpio06_pg1"
0x15D8 "/pinmux@2434000/init-pins/uart4_tx_pg2"
0x1650 "/pinmux@2434000/init-pins/uart4_rx_pg3"
0x16C8 "/pinmux@2434000/init-pins/uart4_rts_pg4"
0x1740 "/pinmux@2434000/init-pins/uart4_cts_pg5"
0x17B8 "/pinmux@2434000/init-pins/soc_gpio41_pg6"
0x1830 "/pinmux@2434000/init-pins/soc_gpio42_pg7"
0x18A8 "/pinmux@2434000/init-pins/soc_gpio43_ph0"
0x1920 "/pinmux@2434000/init-pins/soc_gpio44_ph1"
0x1998 "/pinmux@2434000/init-pins/gen1_i2c_scl_ph2"
0x1A24 "/pinmux@2434000/init-pins/gen1_i2c_sda_ph3"
0x1AB0 "/pinmux@2434000/init-pins/soc_gpio07_ph5"
0x1B30 "/pinmux@2437000"
0x1B84 "/pinmux@2437000/init-pins"
0x1B94 "/pinmux@2437000/init-pins/pex_l0_clkreq_n_pw0"
0x1C20 "/pinmux@2437000/init-pins/pex_l0_rst_n_pw1"
0x1CAC "/pinmux@2437000/init-pins/pex_l1_clkreq_n_pw2"
0x1D38 "/pinmux@2437000/init-pins/pex_l1_rst_n_pw3"
0x1DC4 "/pinmux@2437000/init-pins/pex_l2_clkreq_n_pw4"
0x1E50 "/pinmux@2437000/init-pins/pex_l2_rst_n_pw5"
0x1EDC "/pinmux@2437000/init-pins/pex_l3_clkreq_n_pw6"
0x1F68 "/pinmux@2437000/init-pins/pex_l3_rst_n_pw7"
0x1FF4 "/pinmux@2437000/init-pins/pex_wake_n_px0"
0x207C "/pinmux@2437000/init-pins/dp_aux_ch0_hpd_px1"
0x2110 "/pinmux@2438000"
0x2164 "/pinmux@2438000/init-pins"
0x2174 "/pinmux@2438000/init-pins/sdmmc1_clk_pu0"
0x21EC "/pinmux@2438000/init-pins/sdmmc1_cmd_pu1"
0x2264 "/pinmux@2438000/init-pins/sdmmc1_dat0_pu2"
0x22DC "/pinmux@2438000/init-pins/sdmmc1_dat1_pu3"
0x2354 "/pinmux@2438000/init-pins/sdmmc1_dat2_pu4"
0x23CC "/pinmux@2438000/init-pins/sdmmc1_dat3_pu5"
0x244C "/pinmux@243b000"
0x24A0 "/pinmux@243b000/init-pins"
0x24B0 "/pinmux@243b000/init-pins/qspi0_sck_pl0"
0x2528 "/pinmux@243b000/init-pins/qspi0_io0_pl1"
0x25A0 "/pinmux@243b000/init-pins/qspi0_io1_pl2"
0x2618 "/pinmux@243b000/init-pins/qspi0_cs_n_pl3"
0x2690 "/pinmux@243b000/init-pins/soc_gpio152_pl4"
0x2708 "/pinmux@243b000/init-pins/soc_gpio153_pl5"
0x2780 "/pinmux@243b000/init-pins/soc_gpio154_pl6"
0x27F8 "/pinmux@243b000/init-pins/soc_gpio155_pl7"
0x2870 "/pinmux@243b000/init-pins/soc_gpio156_pm0"
0x28E8 "/pinmux@243b000/init-pins/soc_gpio157_pm1"
0x2960 "/pinmux@243b000/init-pins/soc_gpio158_pm2"
0x29D8 "/pinmux@243b000/init-pins/soc_gpio159_pm3"
0x2A50 "/pinmux@243b000/init-pins/soc_gpio160_pm4"
0x2AC8 "/pinmux@243b000/init-pins/soc_gpio161_pm5"
0x2B40 "/pinmux@243b000/init-pins/soc_gpio162_pm6"
0x2BB8 "/pinmux@243b000/init-pins/uart7_tx_pm7"
0x2C30 "/pinmux@243b000/init-pins/uart7_rx_pn0"
0x2CA8 "/pinmux@243b000/init-pins/uart7_rts_pn1"
0x2D20 "/pinmux@243b000/init-pins/uart7_cts_pn2"
0x2DA0 "/pinmux@c301000"
0x2DF4 "/pinmux@c301000/init-pins"
0x2E04 "/pinmux@c301000/init-pins/ao_bootv_ctl_n_paa0"
0x2E80 "/pinmux@c301000/init-pins/ao_soc_gpio00_paa1"
0x2F0C "/pinmux@c301000/init-pins/ao_vcomp_alert_paa2"
0x2F98 "/pinmux@c301000/init-pins/ao_pwm1_paa3"
0x3020 "/pinmux@c301000/init-pins/ao_batt_oc_paa4"
0x30A8 "/pinmux@c301000/init-pins/ao_soc_gpio04_paa5"
0x3134 "/pinmux@c301000/init-pins/ao_soc_gpio25_paa6"
0x31B0 "/pinmux@c301000/init-pins/ao_soc_gpio26_paa7"
0x322C "/pinmux@c301000/init-pins/ao_hdmi_cec_pbb0"
0x32B8 "/pinmux@c301000/init-pins/ao_spi2_sck_pcc0"
0x3334 "/pinmux@c301000/init-pins/ao_spi2_miso_pcc1"
0x33B0 "/pinmux@c301000/init-pins/ao_spi2_mosi_pcc2"
0x342C "/pinmux@c301000/init-pins/ao_spi2_cs0_pcc3"
0x34A8 "/pinmux@c301000/init-pins/ao_spi2_cs1_pcc4"
0x3524 "/pinmux@c301000/init-pins/ao_uart3_tx_pcc5"
0x35B0 "/pinmux@c301000/init-pins/ao_uart3_rx_pcc6"
0x363C "/pinmux@c301000/init-pins/ao_gen2_i2c_scl_pcc7"
0x36DC "/pinmux@c301000/init-pins/ao_gen2_i2c_sda_pdd0"
0x377C "/pinmux@c301000/init-pins/ao_gen8_i2c_scl_pdd1"
0x381C "/pinmux@c301000/init-pins/ao_gen8_i2c_sda_pdd2"
0x38BC "/pinmux@c301000/init-pins/ao_touch_clk_pdd3"
0x3948 "/pinmux@c301000/init-pins/ao_dmic1_clk_pdd4"
0x39C4 "/pinmux@c301000/init-pins/ao_dmic1_dat_pdd5"
0x3A40 "/pinmux@c301000/init-pins/ao_soc_gpio19_pdd6"
0x3ABC "/pinmux@c301000/init-pins/ao_pwm2_pdd7"
0x3B44 "/pinmux@c301000/init-pins/ao_pwm3_pee0"
0x3BCC "/pinmux@c301000/init-pins/ao_pwm7_pee1"
0x3C54 "/pinmux@c301000/init-pins/ao_soc_gpio49_pee2"
0x3CD0 "/pinmux@c301000/init-pins/ao_soc_gpio82_pee3"
0x3D4C "/pinmux@c301000/init-pins/ao_soc_gpio50_pee4"
0x3DC8 "/pinmux@c301000/init-pins/ao_soc_gpio83_pee5"
0x3E44 "/pinmux@c301000/init-pins/ao_soc_gpio69_pff0"
0x3ED0 "/pinmux@c301000/init-pins/ao_soc_gpio70_pff1"
0x3F5C "/pinmux@c301000/init-pins/ao_soc_gpio71_pff2"
0x3FE8 "/pinmux@c301000/init-pins/ao_soc_gpio72_pff3"
0x4074 "/pinmux@c301000/init-pins/ao_soc_gpio73_pff4"
0x4100 "/pinmux@c301000/init-pins/ao_soc_gpio74_pff5"
0x418C "/pinmux@c301000/init-pins/ao_soc_gpio80_pff6"
0x4218 "/pinmux@c301000/init-pins/ao_soc_gpio76_pff7"
0x4294 "/pinmux@c301000/init-pins/ao_soc_gpio77_pgg0"
0x4310 "/pinmux@c301000/init-pins/ao_soc_gpio84_pgg1"
0x438C "/pinmux@c301000/init-pins/ao_uart2_tx_pgg2"
0x4418 "/pinmux@c301000/init-pins/ao_uart2_rx_pgg3"
0x44A4 "/pinmux@c301000/init-pins/ao_uart2_rts_pgg4"
0x4530 "/pinmux@c301000/init-pins/ao_uart2_cts_pgg5"
0x45BC "/pinmux@c301000/init-pins/ao_soc_gpio85_pgg6"
0x4648 "/pinmux@c301000/init-pins/ao_uart5_tx_pgg7"
0x46D4 "/pinmux@c301000/init-pins/ao_uart5_rx_phh0"
0x4760 "/pinmux@c301000/init-pins/ao_uart5_rts_phh1"
0x47EC "/pinmux@c301000/init-pins/ao_uart5_cts_phh2"
0x4878 "/pinmux@c301000/init-pins/ao_soc_gpio86_phh3"
0x490C "/pinmux@243d000"
0x4960 "/pinmux@243d000/init-pins"
0x4970 "/pinmux@243d000/init-pins/gpu_pwr_req_pa0"
0x49E8 "/pinmux@243d000/init-pins/gp_pwm5_pa1"
0x4A6C "/pinmux@243d000/init-pins/gp_pwm6_pa2"
0x4AF0 "/pinmux@243d000/init-pins/spi3_sck_pa3"
0x4B68 "/pinmux@243d000/init-pins/spi3_miso_pa4"
0x4BE0 "/pinmux@243d000/init-pins/spi3_mosi_pa5"
0x4C58 "/pinmux@243d000/init-pins/spi3_cs0_pa6"
0x4CD0 "/pinmux@243d000/init-pins/spi3_cs1_pa7"
0x4D48 "/pinmux@243d000/init-pins/spi1_sck_pb0"
0x4DC0 "/pinmux@243d000/init-pins/spi1_miso_pb1"
0x4E38 "/pinmux@243d000/init-pins/spi1_mosi_pb2"
0x4EB0 "/pinmux@243d000/init-pins/spi1_cs0_pb3"
0x4F28 "/pinmux@243d000/init-pins/spi1_cs1_pb4"
0x4FA8 "/pinmux@2440000"
0x4FFC "/pinmux@2440000/init-pins"
0x500C "/pinmux@2440000/init-pins/gen4_i2c_scl_ps0"
0x50A8 "/pinmux@2440000/init-pins/gen4_i2c_sda_ps1"
0x5144 "/pinmux@2440000/init-pins/soc_gpio75_ps2"
0x51CC "/pinmux@2440000/init-pins/gen7_i2c_scl_ps3"
0x5268 "/pinmux@2440000/init-pins/gen7_i2c_sda_ps4"
0x5304 "/pinmux@2440000/init-pins/soc_gpio78_ps5"
0x538C "/pinmux@2440000/init-pins/gen9_i2c_scl_ps6"
0x5418 "/pinmux@2440000/init-pins/gen9_i2c_sda_ps7"
0x54A4 "/pinmux@2440000/init-pins/soc_gpio81_pt0"
0x552C "/pinmux@2440000/init-pins/soc_gpio36_pt1"
0x55A4 "/pinmux@2440000/init-pins/soc_gpio53_pt2"
0x561C "/pinmux@2440000/init-pins/soc_gpio38_pt3"
0x5694 "/pinmux@2440000/init-pins/soc_gpio40_pt4"
0x570C "/pinmux@2440000/init-pins/soc_gpio34_pt5"
0x5794 "/pinmux@2440000/init-pins/usb_vbus_en0_pt6"
0x5820 "/pinmux@2440000/init-pins/usb_vbus_en1_pt7"
0x58B4 "/pinmux@2441000"
0x5908 "/pinmux@2441000/init-pins"
0x5918 "/pinmux@2441000/init-pins/ufs0_ref_clk_pv0"
0x5994 "/pinmux@2441000/init-pins/ufs0_rst_n_pv1"
0x5A14 "/pinmux@2448000"
0x5A68 "/pinmux@2448000/init-pins"
0x5A78 "/pinmux@2448000/init-pins/dap3_clk_pj0"
0x5AF0 "/pinmux@2448000/init-pins/dap3_dout_pj1"
0x5B68 "/pinmux@2448000/init-pins/dap3_din_pj2"
0x5BE0 "/pinmux@2448000/init-pins/dap3_fs_pj3"
0x5C54 "/pinmux@2448000/init-pins/soc_gpio57_pj4"
0x5CCC "/pinmux@2448000/init-pins/soc_gpio58_pj5"
0x5D44 "/pinmux@2448000/init-pins/soc_gpio59_pj6"
0x5DBC "/pinmux@2448000/init-pins/soc_gpio60_pj7"
0x5E34 "/pinmux@2448000/init-pins/soc_gpio45_pk0"
0x5EAC "/pinmux@2448000/init-pins/soc_gpio46_pk1"
0x5F24 "/pinmux@2448000/init-pins/soc_gpio47_pk2"
0x5F9C "/pinmux@2448000/init-pins/soc_gpio48_pk3"
0x601C "/pinmux@244f000"
0x6070 "/pinmux@244f000/init-pins"
0x6080 "/pinmux@244f000/init-pins/soc_gpio61_pr0"
0x60F8 "/pinmux@244f000/init-pins/soc_gpio62_pr1"
0x6170 "/pinmux@244f000/init-pins/soc_gpio63_pr2"
0x61E8 "/pinmux@244f000/init-pins/soc_gpio64_pr3"
0x6260 "/pinmux@244f000/init-pins/soc_gpio65_pr4"
0x62D8 "/pinmux@244f000/init-pins/soc_gpio66_pr5"
0x6350 "/pinmux@244f000/init-pins/soc_gpio67_pr6"
0x63C8 "/pinmux@244f000/init-pins/soc_gpio68_pr7"
0x6448 "/gpio@2200000"
0x6564 "/gpio@2200000/gpio-pads"
0x6A38 "/gpio@c2f0000"
0x6B34 "/gpio@c2f0000/gpio-pads"
0x6D08 "/i2c@3160000"
0x6DC8 "/i2c@c240000"
0x6E6C "/i2c@c240000/extcon@51"
0x6EA0 "/i2c@c240000/extcon-inspection@50"
0x6EE4 "/i2c@3180000"
0x6F88 "/i2c@3180000/ucsi_ccg@8"
0x6FC0 "/i2c@3190000"
0x7064 "/i2c@3190000/max77986@6b"
0x70B8 "/i2c@31a0000"
0x7170 "/i2c@31a0000/max77851-pmic@3c"
0x71C8 "/i2c@31a0000/max77851-pmic@3c/regulators"
0x71D8 "/i2c@31a0000/max77851-pmic@3c/regulators/ldo1"
0x71F8 "/i2c@31a0000/max77851-pmic@3c/regulators/ldo3"
0x7218 "/i2c@31a0000/max77851-pmic@3c/regulators/ldo4"
0x7238 "/i2c@31a0000/max77851-pmic@3c/regulators/buck0"
0x7258 "/i2c@31a0000/max77851-pmic@3c/regulators/buck2"
0x7278 "/i2c@31a0000/max77851-pmic@3c/regulators/buck4"
0x72A0 "/i2c@31a0000/max77851-rtc@68"
0x72F8 "/i2c@31a0000/da9092@6a"
0x7340 "/i2c@31a0000/da9092@6a/regulators"
0x7350 "/i2c@31a0000/da9092@6a/regulators/BUCK1"
0x7380 "/i2c@31a0000/da9092@6a/regulators/BUCK2"
0x73B8 "/i2c@31a0000/da9092@69"
0x7400 "/i2c@31a0000/da9092@69/regulators"
0x7410 "/i2c@31a0000/da9092@69/regulators/BUCK1"
0x7448 "/i2c@31a0000/max77801@18"
0x74AC "/i2c@31b0000"
0x7554 "/i2c@31c0000"
0x75F8 "/i2c@31c0000/temp-sensor@4c"
0x7644 "/i2c@31c0000/temp-sensor@4c/loc"
0x7670 "/i2c@31c0000/temp-sensor@4c/ext"
0x76B0 "/i2c@31c0000/bh1730fvc@29"
0x76E8 "/i2c@31c0000/audio-codec@1a"
0x7740 "/i2c@c250000"
0x77E4 "/i2c@c250000/max17050@36"
0x7840 "/i2c@c250000/max17050@36/gpio-irq"
0x7870 "/i2c@31e0000"
0x7930 "/pwm@32c0000"
0x79AC "/pwm@32c0000/pwm-devices"
0x79D8 "/pwm@32d0000"
0x7A64 "/pwm@32d0000/pwm-devices"
0x7A90 "/spi@3210000"
0x7B34 "/spi@3210000/property"
0x7B44 "/spi@3210000/property/clk"
0x7B60 "/spi@3210000/property/dma-tx"
0x7B80 "/spi@3210000/property/dma-rx"
0x7BA4 "/spi@3210000/ig2200@0"
0x7C4C "/spi@c260000"
0x7CF0 "/spi@c260000/property"
0x7D00 "/spi@c260000/property/clk"
0x7D1C "/spi@c260000/property/dma-tx"
0x7D3C "/spi@c260000/property/dma-rx"
0x7D60 "/spi@c260000/sixaxissensor@0"
0x7DEC "/spi@3230000"
0x7E90 "/spi@3230000/property"
0x7EA0 "/spi@3230000/property/clk"
0x7EBC "/spi@3230000/property/dma-tx"
0x7EDC "/spi@3230000/property/dma-rx"
0x7F00 "/spi@3230000/touchpannel@0"
0x7FA8 "/spi@c270000"
0x804C "/spi@c270000/property"
0x805C "/spi@c270000/property/clk"
0x8078 "/spi@c270000/property/dma-tx"
0x8098 "/spi@c270000/property/dma-rx"
0x80C0 "/spi@c280000"
0x8164 "/spi@c280000/property"
0x8174 "/spi@c280000/property/clk"
0x8190 "/spi@c280000/property/dma-tx"
0x81B0 "/spi@c280000/property/dma-rx"
0x81D8 "/pmc@c370000"
0x86B4 "/tachometer@39c0000"
0x8748 "/pcie@14100000"
0x88A4 "/pcie@14120000"
0x8A00 "/pcie@14140000"
0x8B68 "/soctherm@d280000"
0x8BC8 "/power"
0x8BD4 "/power/battery"
0x8C30 "/power/nintendo,charger"
0x8C70 "/power/nintendo,fuel-gauge"
0x8CB0 "/power/nintendo,usb-power"
0x8CE4 "/xhc"
0x8D24 "/ppc"
0x8D60 "/audio"
0x8D6C "/audio/nintendo,audio-system"
0x8DC8 "/bluetooth"
0x8DD8 "/bluetooth/nintendo,bluetooth"
0x8E34 "/pwm-fan"
0x8E84 "/wlan"
0x8E90 "/wlan/wlan-common"
0x8EC8 "/wlan/wlan-unicorn"
0x8F08 "/pd-controller"
0x8F60 "/usb"
0x8F68 "/usb/ports"
0x8FB4 "/usb/ports/port@0"
0x9060 "/usb/ports/port@1"
0x90D0 "/usb/ports/port@2"

Properties

NodeOffset Name Value
0x0 "model" "Nintendo Ounce, MP"