STRUCT ST_LSM6DSX_SHUB_SETTINGS(9)
β¨ struct st_lsm6dsx_shub_settings β ST IMU hw i2c controller settings β¨
Okay bestie, so this is a page straight out of the Kernel API Manual, and it's literally all about struct st_lsm6dsx_shub_settings β the ST IMU hardware i2c controller settings π
. It's giving "one struct to rule the sensor hub" energy, and we're gonna go through every single field together, no cap. π«Ά
πΈ SYNOPSIS πΈ
struct st_lsm6dsx_shub_settings {
struct st_lsm6dsx_reg page_mux;
struct {
bool sec_page;
u8 addr;
u8 mask;
} master_en;
struct {
bool sec_page;
u8 addr;
u8 mask;
} pullup_en;
struct st_lsm6dsx_reg aux_sens;
struct st_lsm6dsx_reg wr_once;
struct st_lsm6dsx_reg emb_func;
u8 num_ext_dev;
struct {
bool sec_page;
u8 addr;
} shub_out;
u8 slv0_addr;
u8 dw_slv0_addr;
u8 batch_en;
u8 pause;
};
Look at her. Iconic. Not a single field out of place. π
π Members π
page_muxβ the register page mux info, and yes she comes with heraddr+maskbesties along for the ride.master_enβ master config register info (addr+mask). Very main character energy for the master config.pullup_enβ the i2c controller pull-up register info (addr+mask). Pull-ups are literally the support system of i2c, we stan. βaux_sensβ aux sensor register info (addr+mask). The aux sensor said "I'm here too!" and honestly? Valid.wr_onceβ write_once register info (addr+mask). One write, one time, no repeating yourself. πemb_funcβ embedded function register info (addr+mask). The embedded functions are doing the most and we love that for them. π₯num_ext_devβ max number of slave devices. It's theu8that keeps the whole friend group from getting too big. πshub_outβ sensor hub first output register info. Note the vibe: this one's abool sec_page+u8 addrsituation β nomaskinvited to this party, iykyk. πslv0_addrβ slave0 address, but make it the secondary page. Very "you'll find me in the second location" of her. πdw_slv0_addrβ slave0 write register address, also in the secondary page. So yes,slv0_addranddw_slv0_addrare lowkey siblings and they both live in the secondary page. π¦batch_enβ Enable/disable FIFO batching. Flip her on, flip her off, she contains multitudes. π₯pauseβ controller pause value. Sometimes the controller just needs a little break, and honestly same. πΈ
π SEE ALSO π
Kernel file ./drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h, plus the whole squad:
struct st_lsm6dsx_fifo_ops(9)struct st_lsm6dsx_hw_ts_settings(9)struct st_lsm6dsx_ext_dev_settings(9)struct st_lsm6dsx_settings(9)struct st_lsm6dsx_sensor(9)struct st_lsm6dsx_hw(9)
Go read them fr fr, they're all in the same friend group. π«Ά
Bestie note: this page lives at ./drivers/iio/imu/st_lsm6dsx, dated October 2026, and it's part of the Kernel API Manual. That's the whole footer, but cuter. πβ¨
Ok that's the whole page, you ate that, periodt. ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms