STRUCT TI_ST_PLAT_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so struct ti_st_plat_data(9) is from the Kernel API Manual, and it's literally the platform data shared between the ST driver and the platform-specific board file which adds the ST device. main character struct energy, no cap πŸ’–

✨ SYNOPSIS ✨

here's the struct exactly as it appears, bestie β€” do not come for the spacing:

       struct ti_st_plat_data {
           u32 nshutdown_gpio;
           unsigned char dev_name[UART_DEV_NAME_LEN];
           u32 flow_cntrl;
           u32 baud_rate;
           int (*suspend)(struct platform_device *, pm_message_t);
           int (*resume)(struct platform_device *);
           int (*chip_enable) (struct kim_data_s *);
           int (*chip_disable) (struct kim_data_s *);
           int (*chip_asleep) (struct kim_data_s *);
           int (*chip_awake) (struct kim_data_s *);
        };

🫢 Members 🫢

  • nshutdown_gpio β€” the Host's GPIO line to which the chip's BT_EN is connected. that's the pin's whole vibe check πŸ”Œ
  • dev_name β€” the UART/TTY name to which the chip is interfaced, like /dev/ttyS1 ✨
  • flow_cntrl β€” should always be 1, since UART's CTS/RTS is used for PM purposes. no cap, always 1, periodt πŸ‘‘
  • baud_rate β€” the baud rate supported by the Host UART controller; this will be shared across with the chip via a HCI VS command from the User-Space Init Mgr application. slay πŸ¦‹
  • suspend β€” the OG page leaves this line with no separate blurb; its resume description is right below πŸ‘‡
  • resume β€” legacy PM routines hooked to platform specific board file, so as to take chip-host interface specific action. 😭
  • chip_enable β€” no separate text on this line in the OG page; it sits with chip_disable below 🫢
  • chip_disable β€” Platform/Interface specific mux mode setting, GPIO configuring, Host side PM disabling etc.. can be done here. πŸ’…
  • chip_asleep β€” no separate blurb on this line in the OG page; see chip_awake below πŸŒ™
  • chip_awake β€” Chip specific deep sleep states is communicated to Host specific board-xx.c to take actions such as cut UART clocks when chip asleep or run host faster when chip awake etc.. πŸ”₯

πŸ‘€ SEE ALSO πŸ‘€

Kernel file: ./include/linux/ti_wilink_st.h

the whole cross-ref squad:

  • struct st_proto_s(9)
  • struct st_data_s(9)
  • st_int_write(9)
  • st_write(9)
  • struct chip_version(9)
  • struct kim_data_s(9)
  • struct bts_header(9)
  • struct bts_action(9)
  • struct hci_command(9)

this page came from ./include/linux, date stamp October 2026, and the manual title is struct ti_st_plat_data(9) β€” bye bestie, stay iconic πŸ’œ

πŸ“¦ where this page comes from