LCOV - code coverage report
Current view: top level - zephyr/dt-bindings/pinctrl - silabs-pinctrl-siwx91x.h Coverage Total Hit
Test: new.info Lines: 0.0 % 11 0
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2024 Silicon Laboratories Inc.
       3              :  * SPDX-License-Identifier: Apache-2.0
       4              :  */
       5              : 
       6              : #ifndef INCLUDE_ZEPHYR_DT_BINDINGS_PINCTRL_SILABS_PINCTRL_SIWX91X_H_
       7              : #define INCLUDE_ZEPHYR_DT_BINDINGS_PINCTRL_SILABS_PINCTRL_SIWX91X_H_
       8              : 
       9              : #include <zephyr/dt-bindings/dt-util.h>
      10              : 
      11              : #if !defined(FIELD_PREP)
      12              : /* Upstream does not make these macros available to DeviceTree */
      13            0 : #define LSB_GET(value)          ((value) & -(value))
      14            0 : #define FIELD_GET(mask, value)  (((value) & (mask)) / LSB_GET(mask))
      15            0 : #define FIELD_PREP(mask, value) (((value) * LSB_GET(mask)) & (mask))
      16              : #endif
      17              : 
      18            0 : #define SIWX91X_PINCTRL_PORT_MASK    0x0000000FUL
      19            0 : #define SIWX91X_PINCTRL_PIN_MASK     0x000000F0UL
      20            0 : #define SIWX91X_PINCTRL_ULPPIN_MASK  0x00000F00UL
      21            0 : #define SIWX91X_PINCTRL_MODE_MASK    0x0003F000UL
      22            0 : #define SIWX91X_PINCTRL_ULPMODE_MASK 0x00FC0000UL
      23            0 : #define SIWX91X_PINCTRL_PAD_MASK     0xFF000000UL
      24              : 
      25              : /* Declare an integer representing the pinctrl/gpio state of a signal on SiWx91x.
      26              :  * @param mode          HP GPIO mode, 0xFF if HP GPIO mux isn't used
      27              :  * @param ulpmode       ULP GPIO mode, 0xFF if ULP GPIO mux isn't used
      28              :  * @param pad           HP pad number, 0xFF if HP pad isn't used, 0 if host pad
      29              :  * @param port          GPIO port number (0-4)
      30              :  * @param pin           HP GPIO pin number, value is unused if mode is 0xFF
      31              :  * @param ulppin        ULP GPIO pin number, value is unused if ulpmode is 0xFF
      32              :  */
      33            0 : #define SIWX91X_GPIO(mode, ulpmode, pad, port, pin, ulppin)                                        \
      34              :         (FIELD_PREP(SIWX91X_PINCTRL_PORT_MASK, port) | FIELD_PREP(SIWX91X_PINCTRL_PIN_MASK, pin) | \
      35              :          FIELD_PREP(SIWX91X_PINCTRL_ULPPIN_MASK, ulppin) |                                         \
      36              :          FIELD_PREP(SIWX91X_PINCTRL_MODE_MASK, mode) |                                             \
      37              :          FIELD_PREP(SIWX91X_PINCTRL_ULPMODE_MASK, ulpmode) |                                       \
      38              :          FIELD_PREP(SIWX91X_PINCTRL_PAD_MASK, pad))
      39              : 
      40              : #endif /* INCLUDE_ZEPHYR_DT_BINDINGS_PINCTRL_SILABS_PINCTRL_SIWX91X_H_ */
        

Generated by: LCOV version 2.0-1