LCOV - code coverage report
Current view: top level - zephyr/dt-bindings/clock - renesas_rzg_clock.h Coverage Total Hit
Test: new.info Lines: 3.8 % 52 2
Test Date: 2025-09-05 20:47:19

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2024 Renesas Electronics Corporation
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_RENESAS_RZG_CLOCK_H_
       8              : #define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_RENESAS_RZG_CLOCK_H_
       9              : 
      10              : /** RZ clock configuration values */
      11            1 : #define RZ_IP_MASK         0xFF000000UL
      12            0 : #define RZ_IP_SHIFT        24UL
      13            0 : #define RZ_IP_CH_MASK      0xFF0000UL
      14            0 : #define RZ_IP_CH_SHIFT     16UL
      15            0 : #define RZ_CLOCK_MASK      0xFF00UL
      16            0 : #define RZ_CLOCK_SHIFT     8UL
      17            0 : #define RZ_CLOCK_DIV_MASK  0xFFUL
      18            0 : #define RZ_CLOCK_DIV_SHIFT 0UL
      19              : 
      20            0 : #define RZ_IP_GTM   0UL /* General Timer */
      21            0 : #define RZ_IP_GPT   1UL /* General PWM Timer */
      22            0 : #define RZ_IP_SCIF  2UL /* Serial Communications Interface with FIFO */
      23            0 : #define RZ_IP_RIIC  3UL /* I2C Bus Interface */
      24            0 : #define RZ_IP_RSPI  4UL /* Renesas Serial Peripheral Interface */
      25            0 : #define RZ_IP_MHU   5UL /* Message Handling Unit */
      26            0 : #define RZ_IP_DMAC  6UL /* Direct Memory Access Controller */
      27            0 : #define RZ_IP_CANFD 7UL /* CANFD Interface (RS-CANFD) */
      28            0 : #define RZ_IP_ADC   8UL /* A/D Converter */
      29              : 
      30            0 : #define RZ_CLOCK_ICLK    0UL  /* Cortex-A55 Clock */
      31            0 : #define RZ_CLOCK_I2CLK   1UL  /* Cortex-M33 Clock */
      32            0 : #define RZ_CLOCK_I3CLK   2UL  /* Cortex-M33 FPU Clock */
      33            0 : #define RZ_CLOCK_S0CLK   3UL  /* DDR-PHY Clock */
      34            0 : #define RZ_CLOCK_OC0CLK  4UL  /* OCTA0 Clock */
      35            0 : #define RZ_CLOCK_OC1CLK  5UL  /* OCTA1 Clock */
      36            0 : #define RZ_CLOCK_SPI0CLK 6UL  /* SPI0 Clock */
      37            0 : #define RZ_CLOCK_SPI1CLK 7UL  /* SPI1 Clock */
      38            0 : #define RZ_CLOCK_SD0CLK  8UL  /* SDH0 Clock */
      39            0 : #define RZ_CLOCK_SD1CLK  9UL  /* SDH1 Clock */
      40            0 : #define RZ_CLOCK_SD2CLK  10UL /* SDH2 Clock */
      41            0 : #define RZ_CLOCK_M0CLK   11UL /* VCP LCDC Clock */
      42            0 : #define RZ_CLOCK_HPCLK   12UL /* Ethernet Clock */
      43            0 : #define RZ_CLOCK_TSUCLK  13UL /* TSU Clock */
      44            0 : #define RZ_CLOCK_ZTCLK   14UL /* JAUTH Clock */
      45            0 : #define RZ_CLOCK_P0CLK   15UL /* APB-BUS Clock */
      46            0 : #define RZ_CLOCK_P1CLK   16UL /* AXI-BUS Clock */
      47            0 : #define RZ_CLOCK_P2CLK   17UL /* P2CLK */
      48            0 : #define RZ_CLOCK_P3CLK   18UL /* P3CLK */
      49            0 : #define RZ_CLOCK_P4CLK   19UL /* P4CLK */
      50            0 : #define RZ_CLOCK_P5CLK   20UL /* P5CLK */
      51            0 : #define RZ_CLOCK_ATCLK   21UL /* ATCLK */
      52            0 : #define RZ_CLOCK_OSCCLK  22UL /* OSC Clock */
      53            0 : #define RZ_CLOCK_OSCCLK2 23UL /* OSC2 Clock */
      54              : 
      55            0 : #define RZ_CLOCK(IP, ch, clk, div)                                                                 \
      56              :         ((RZ_IP_##IP << RZ_IP_SHIFT) | ((ch) << RZ_IP_CH_SHIFT) | ((clk) << RZ_CLOCK_SHIFT) |      \
      57              :          ((div) << RZ_CLOCK_DIV_SHIFT))
      58              : 
      59              : /**
      60              :  * Pack clock configurations in a 32-bit value
      61              :  * as expected for the Device Tree `clocks` property on Renesas RZ/G.
      62              :  *
      63              :  * @param ch Peripheral channel/unit
      64              :  */
      65              : 
      66              : /* SCIF */
      67            1 : #define RZ_CLOCK_SCIF(ch) RZ_CLOCK(SCIF, ch, RZ_CLOCK_P0CLK, 1)
      68              : 
      69              : /* GPT */
      70            0 : #define RZ_CLOCK_GPT(ch) RZ_CLOCK(GPT, ch, RZ_CLOCK_P0CLK, 1)
      71              : 
      72              : /* MHU */
      73            0 : #define RZ_CLOCK_MHU(ch) RZ_CLOCK(MHU, ch, RZ_CLOCK_P1CLK, 2)
      74              : 
      75              : /* ADC */
      76            0 : #define RZ_CLOCK_ADC(ch) RZ_CLOCK(ADC, ch, RZ_CLOCK_TSUCLK, 1)
      77              : 
      78              : /* RIIC */
      79            0 : #define RZ_CLOCK_RIIC(ch) RZ_CLOCK(RIIC, ch, RZ_CLOCK_P0CLK, 1)
      80              : 
      81              : /* GTM */
      82            0 : #define RZ_CLOCK_GTM(ch) RZ_CLOCK(GTM, ch, RZ_CLOCK_P0CLK, 1)
      83              : 
      84              : /* CAN */
      85            0 : #define RZ_CLOCK_CANFD(ch) RZ_CLOCK(CANFD, ch, RZ_CLOCK_P4CLK, 2)
      86              : 
      87              : /* RSPI */
      88            0 : #define RZ_CLOCK_RSPI(ch) RZ_CLOCK(RSPI, ch, RZ_CLOCK_P0CLK, 1)
      89              : 
      90              : /* DMAC */
      91            0 : #define RZ_CLOCK_DMAC(ch) RZ_CLOCK(DMAC, ch, RZ_CLOCK_P3CLK, 1)
      92              : 
      93              : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_RENESAS_RZG_CLOCK_H_ */
        

Generated by: LCOV version 2.0-1