1010-clk-starfive-Add-flags-argument-to-JH71X0__MUX-macro.patch 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. From f6c0c8639c7424f915f2f2f18cf86b6b97c7d32a Mon Sep 17 00:00:00 2001
  2. From: Emil Renner Berthing <[email protected]>
  3. Date: Sat, 25 Mar 2023 22:57:06 +0100
  4. Subject: [PATCH 1010/1024] clk: starfive: Add flags argument to JH71X0__MUX
  5. macro
  6. This flag is needed to add the CLK_SET_RATE_PARENT flag on the gmac_tx
  7. clock on the JH7100, which in turn is needed by the dwmac-starfive
  8. driver to set the clock properly for 1000, 100 and 10 Mbps links.
  9. This change was mostly made using coccinelle:
  10. @ match @
  11. expression idx, name, nparents;
  12. @@
  13. JH71X0__MUX(
  14. -idx, name, nparents,
  15. +idx, name, 0, nparents,
  16. ...)
  17. Signed-off-by: Emil Renner Berthing <[email protected]>
  18. ---
  19. .../clk/starfive/clk-starfive-jh7100-audio.c | 2 +-
  20. drivers/clk/starfive/clk-starfive-jh7100.c | 32 +++++++++----------
  21. .../clk/starfive/clk-starfive-jh7110-aon.c | 6 ++--
  22. .../clk/starfive/clk-starfive-jh7110-isp.c | 2 +-
  23. .../clk/starfive/clk-starfive-jh7110-sys.c | 26 +++++++--------
  24. drivers/clk/starfive/clk-starfive-jh71x0.h | 4 +--
  25. 6 files changed, 36 insertions(+), 36 deletions(-)
  26. --- a/drivers/clk/starfive/clk-starfive-jh7100-audio.c
  27. +++ b/drivers/clk/starfive/clk-starfive-jh7100-audio.c
  28. @@ -80,7 +80,7 @@ static const struct jh71x0_clk_data jh71
  29. JH71X0_GDIV(JH7100_AUDCLK_USB_LPM, "usb_lpm", CLK_IGNORE_UNUSED, 4, JH7100_AUDCLK_USB_APB),
  30. JH71X0_GDIV(JH7100_AUDCLK_USB_STB, "usb_stb", CLK_IGNORE_UNUSED, 3, JH7100_AUDCLK_USB_APB),
  31. JH71X0__DIV(JH7100_AUDCLK_APB_EN, "apb_en", 8, JH7100_AUDCLK_DOM7AHB_BUS),
  32. - JH71X0__MUX(JH7100_AUDCLK_VAD_MEM, "vad_mem", 2,
  33. + JH71X0__MUX(JH7100_AUDCLK_VAD_MEM, "vad_mem", 0, 2,
  34. JH7100_AUDCLK_VAD_INTMEM,
  35. JH7100_AUDCLK_AUDIO_12288),
  36. };
  37. --- a/drivers/clk/starfive/clk-starfive-jh7100.c
  38. +++ b/drivers/clk/starfive/clk-starfive-jh7100.c
  39. @@ -24,48 +24,48 @@
  40. #define JH7100_CLK_GMAC_GR_MII_RX (JH7100_CLK_END + 3)
  41. static const struct jh71x0_clk_data jh7100_clk_data[] __initconst = {
  42. - JH71X0__MUX(JH7100_CLK_CPUNDBUS_ROOT, "cpundbus_root", 4,
  43. + JH71X0__MUX(JH7100_CLK_CPUNDBUS_ROOT, "cpundbus_root", 0, 4,
  44. JH7100_CLK_OSC_SYS,
  45. JH7100_CLK_PLL0_OUT,
  46. JH7100_CLK_PLL1_OUT,
  47. JH7100_CLK_PLL2_OUT),
  48. - JH71X0__MUX(JH7100_CLK_DLA_ROOT, "dla_root", 3,
  49. + JH71X0__MUX(JH7100_CLK_DLA_ROOT, "dla_root", 0, 3,
  50. JH7100_CLK_OSC_SYS,
  51. JH7100_CLK_PLL1_OUT,
  52. JH7100_CLK_PLL2_OUT),
  53. - JH71X0__MUX(JH7100_CLK_DSP_ROOT, "dsp_root", 4,
  54. + JH71X0__MUX(JH7100_CLK_DSP_ROOT, "dsp_root", 0, 4,
  55. JH7100_CLK_OSC_SYS,
  56. JH7100_CLK_PLL0_OUT,
  57. JH7100_CLK_PLL1_OUT,
  58. JH7100_CLK_PLL2_OUT),
  59. - JH71X0__MUX(JH7100_CLK_GMACUSB_ROOT, "gmacusb_root", 3,
  60. + JH71X0__MUX(JH7100_CLK_GMACUSB_ROOT, "gmacusb_root", 0, 3,
  61. JH7100_CLK_OSC_SYS,
  62. JH7100_CLK_PLL0_OUT,
  63. JH7100_CLK_PLL2_OUT),
  64. - JH71X0__MUX(JH7100_CLK_PERH0_ROOT, "perh0_root", 2,
  65. + JH71X0__MUX(JH7100_CLK_PERH0_ROOT, "perh0_root", 0, 2,
  66. JH7100_CLK_OSC_SYS,
  67. JH7100_CLK_PLL0_OUT),
  68. - JH71X0__MUX(JH7100_CLK_PERH1_ROOT, "perh1_root", 2,
  69. + JH71X0__MUX(JH7100_CLK_PERH1_ROOT, "perh1_root", 0, 2,
  70. JH7100_CLK_OSC_SYS,
  71. JH7100_CLK_PLL2_OUT),
  72. - JH71X0__MUX(JH7100_CLK_VIN_ROOT, "vin_root", 3,
  73. + JH71X0__MUX(JH7100_CLK_VIN_ROOT, "vin_root", 0, 3,
  74. JH7100_CLK_OSC_SYS,
  75. JH7100_CLK_PLL1_OUT,
  76. JH7100_CLK_PLL2_OUT),
  77. - JH71X0__MUX(JH7100_CLK_VOUT_ROOT, "vout_root", 3,
  78. + JH71X0__MUX(JH7100_CLK_VOUT_ROOT, "vout_root", 0, 3,
  79. JH7100_CLK_OSC_AUD,
  80. JH7100_CLK_PLL0_OUT,
  81. JH7100_CLK_PLL2_OUT),
  82. JH71X0_GDIV(JH7100_CLK_AUDIO_ROOT, "audio_root", 0, 8, JH7100_CLK_PLL0_OUT),
  83. - JH71X0__MUX(JH7100_CLK_CDECHIFI4_ROOT, "cdechifi4_root", 3,
  84. + JH71X0__MUX(JH7100_CLK_CDECHIFI4_ROOT, "cdechifi4_root", 0, 3,
  85. JH7100_CLK_OSC_SYS,
  86. JH7100_CLK_PLL1_OUT,
  87. JH7100_CLK_PLL2_OUT),
  88. - JH71X0__MUX(JH7100_CLK_CDEC_ROOT, "cdec_root", 3,
  89. + JH71X0__MUX(JH7100_CLK_CDEC_ROOT, "cdec_root", 0, 3,
  90. JH7100_CLK_OSC_SYS,
  91. JH7100_CLK_PLL0_OUT,
  92. JH7100_CLK_PLL1_OUT),
  93. - JH71X0__MUX(JH7100_CLK_VOUTBUS_ROOT, "voutbus_root", 3,
  94. + JH71X0__MUX(JH7100_CLK_VOUTBUS_ROOT, "voutbus_root", 0, 3,
  95. JH7100_CLK_OSC_AUD,
  96. JH7100_CLK_PLL0_OUT,
  97. JH7100_CLK_PLL2_OUT),
  98. @@ -76,7 +76,7 @@ static const struct jh71x0_clk_data jh71
  99. JH71X0_GDIV(JH7100_CLK_PLL0_TESTOUT, "pll0_testout", 0, 31, JH7100_CLK_PERH0_SRC),
  100. JH71X0_GDIV(JH7100_CLK_PLL1_TESTOUT, "pll1_testout", 0, 31, JH7100_CLK_DLA_ROOT),
  101. JH71X0_GDIV(JH7100_CLK_PLL2_TESTOUT, "pll2_testout", 0, 31, JH7100_CLK_PERH1_SRC),
  102. - JH71X0__MUX(JH7100_CLK_PLL2_REF, "pll2_refclk", 2,
  103. + JH71X0__MUX(JH7100_CLK_PLL2_REF, "pll2_refclk", 0, 2,
  104. JH7100_CLK_OSC_SYS,
  105. JH7100_CLK_OSC_AUD),
  106. JH71X0__DIV(JH7100_CLK_CPU_CORE, "cpu_core", 8, JH7100_CLK_CPUNBUS_ROOT_DIV),
  107. @@ -142,7 +142,7 @@ static const struct jh71x0_clk_data jh71
  108. JH71X0__DIV(JH7100_CLK_NOC_COG, "noc_cog", 8, JH7100_CLK_DLA_ROOT),
  109. JH71X0_GATE(JH7100_CLK_NNE_AHB, "nne_ahb", 0, JH7100_CLK_AHB_BUS),
  110. JH71X0__DIV(JH7100_CLK_NNEBUS_SRC1, "nnebus_src1", 4, JH7100_CLK_DSP_ROOT),
  111. - JH71X0__MUX(JH7100_CLK_NNE_BUS, "nne_bus", 2,
  112. + JH71X0__MUX(JH7100_CLK_NNE_BUS, "nne_bus", 0, 2,
  113. JH7100_CLK_CPU_AXI,
  114. JH7100_CLK_NNEBUS_SRC1),
  115. JH71X0_GATE(JH7100_CLK_NNE_AXI, "nne_axi", 0, JH7100_CLK_NNE_BUS),
  116. @@ -166,7 +166,7 @@ static const struct jh71x0_clk_data jh71
  117. JH71X0_GDIV(JH7100_CLK_USBPHY_125M, "usbphy_125m", 0, 8, JH7100_CLK_USBPHY_ROOTDIV),
  118. JH71X0_GDIV(JH7100_CLK_USBPHY_PLLDIV25M, "usbphy_plldiv25m", 0, 32,
  119. JH7100_CLK_USBPHY_ROOTDIV),
  120. - JH71X0__MUX(JH7100_CLK_USBPHY_25M, "usbphy_25m", 2,
  121. + JH71X0__MUX(JH7100_CLK_USBPHY_25M, "usbphy_25m", 0, 2,
  122. JH7100_CLK_OSC_SYS,
  123. JH7100_CLK_USBPHY_PLLDIV25M),
  124. JH71X0_FDIV(JH7100_CLK_AUDIO_DIV, "audio_div", JH7100_CLK_AUDIO_ROOT),
  125. @@ -200,12 +200,12 @@ static const struct jh71x0_clk_data jh71
  126. JH71X0_GDIV(JH7100_CLK_GMAC_GTX, "gmac_gtxclk", 0, 255, JH7100_CLK_GMAC_ROOT_DIV),
  127. JH71X0_GDIV(JH7100_CLK_GMAC_RMII_TX, "gmac_rmii_txclk", 0, 8, JH7100_CLK_GMAC_RMII_REF),
  128. JH71X0_GDIV(JH7100_CLK_GMAC_RMII_RX, "gmac_rmii_rxclk", 0, 8, JH7100_CLK_GMAC_RMII_REF),
  129. - JH71X0__MUX(JH7100_CLK_GMAC_TX, "gmac_tx", 3,
  130. + JH71X0__MUX(JH7100_CLK_GMAC_TX, "gmac_tx", 0, 3,
  131. JH7100_CLK_GMAC_GTX,
  132. JH7100_CLK_GMAC_TX_INV,
  133. JH7100_CLK_GMAC_RMII_TX),
  134. JH71X0__INV(JH7100_CLK_GMAC_TX_INV, "gmac_tx_inv", JH7100_CLK_GMAC_TX),
  135. - JH71X0__MUX(JH7100_CLK_GMAC_RX_PRE, "gmac_rx_pre", 2,
  136. + JH71X0__MUX(JH7100_CLK_GMAC_RX_PRE, "gmac_rx_pre", 0, 2,
  137. JH7100_CLK_GMAC_GR_MII_RX,
  138. JH7100_CLK_GMAC_RMII_RX),
  139. JH71X0__INV(JH7100_CLK_GMAC_RX_INV, "gmac_rx_inv", JH7100_CLK_GMAC_RX_PRE),
  140. --- a/drivers/clk/starfive/clk-starfive-jh7110-aon.c
  141. +++ b/drivers/clk/starfive/clk-starfive-jh7110-aon.c
  142. @@ -26,7 +26,7 @@
  143. static const struct jh71x0_clk_data jh7110_aonclk_data[] = {
  144. /* source */
  145. JH71X0__DIV(JH7110_AONCLK_OSC_DIV4, "osc_div4", 4, JH7110_AONCLK_OSC),
  146. - JH71X0__MUX(JH7110_AONCLK_APB_FUNC, "apb_func", 2,
  147. + JH71X0__MUX(JH7110_AONCLK_APB_FUNC, "apb_func", 0, 2,
  148. JH7110_AONCLK_OSC_DIV4,
  149. JH7110_AONCLK_OSC),
  150. /* gmac0 */
  151. @@ -39,7 +39,7 @@ static const struct jh71x0_clk_data jh71
  152. JH7110_AONCLK_GMAC0_GTXCLK,
  153. JH7110_AONCLK_GMAC0_RMII_RTX),
  154. JH71X0__INV(JH7110_AONCLK_GMAC0_TX_INV, "gmac0_tx_inv", JH7110_AONCLK_GMAC0_TX),
  155. - JH71X0__MUX(JH7110_AONCLK_GMAC0_RX, "gmac0_rx", 2,
  156. + JH71X0__MUX(JH7110_AONCLK_GMAC0_RX, "gmac0_rx", 0, 2,
  157. JH7110_AONCLK_GMAC0_RGMII_RXIN,
  158. JH7110_AONCLK_GMAC0_RMII_RTX),
  159. JH71X0__INV(JH7110_AONCLK_GMAC0_RX_INV, "gmac0_rx_inv", JH7110_AONCLK_GMAC0_RX),
  160. @@ -48,7 +48,7 @@ static const struct jh71x0_clk_data jh71
  161. /* rtc */
  162. JH71X0_GATE(JH7110_AONCLK_RTC_APB, "rtc_apb", 0, JH7110_AONCLK_APB_BUS),
  163. JH71X0__DIV(JH7110_AONCLK_RTC_INTERNAL, "rtc_internal", 1022, JH7110_AONCLK_OSC),
  164. - JH71X0__MUX(JH7110_AONCLK_RTC_32K, "rtc_32k", 2,
  165. + JH71X0__MUX(JH7110_AONCLK_RTC_32K, "rtc_32k", 0, 2,
  166. JH7110_AONCLK_RTC_OSC,
  167. JH7110_AONCLK_RTC_INTERNAL),
  168. JH71X0_GATE(JH7110_AONCLK_RTC_CAL, "rtc_cal", 0, JH7110_AONCLK_OSC),
  169. --- a/drivers/clk/starfive/clk-starfive-jh7110-isp.c
  170. +++ b/drivers/clk/starfive/clk-starfive-jh7110-isp.c
  171. @@ -53,7 +53,7 @@ static const struct jh71x0_clk_data jh71
  172. JH7110_ISPCLK_MIPI_RX0_PXL),
  173. JH71X0_GATE(JH7110_ISPCLK_VIN_PIXEL_IF3, "vin_pixel_if3", 0,
  174. JH7110_ISPCLK_MIPI_RX0_PXL),
  175. - JH71X0__MUX(JH7110_ISPCLK_VIN_P_AXI_WR, "vin_p_axi_wr", 2,
  176. + JH71X0__MUX(JH7110_ISPCLK_VIN_P_AXI_WR, "vin_p_axi_wr", 0, 2,
  177. JH7110_ISPCLK_MIPI_RX0_PXL,
  178. JH7110_ISPCLK_DVP_INV),
  179. /* ispv2_top_wrapper */
  180. --- a/drivers/clk/starfive/clk-starfive-jh7110-sys.c
  181. +++ b/drivers/clk/starfive/clk-starfive-jh7110-sys.c
  182. @@ -36,18 +36,18 @@
  183. static const struct jh71x0_clk_data jh7110_sysclk_data[] __initconst = {
  184. /* root */
  185. - JH71X0__MUX(JH7110_SYSCLK_CPU_ROOT, "cpu_root", 2,
  186. + JH71X0__MUX(JH7110_SYSCLK_CPU_ROOT, "cpu_root", 0, 2,
  187. JH7110_SYSCLK_OSC,
  188. JH7110_SYSCLK_PLL0_OUT),
  189. JH71X0__DIV(JH7110_SYSCLK_CPU_CORE, "cpu_core", 7, JH7110_SYSCLK_CPU_ROOT),
  190. JH71X0__DIV(JH7110_SYSCLK_CPU_BUS, "cpu_bus", 2, JH7110_SYSCLK_CPU_CORE),
  191. - JH71X0__MUX(JH7110_SYSCLK_GPU_ROOT, "gpu_root", 2,
  192. + JH71X0__MUX(JH7110_SYSCLK_GPU_ROOT, "gpu_root", 0, 2,
  193. JH7110_SYSCLK_PLL2_OUT,
  194. JH7110_SYSCLK_PLL1_OUT),
  195. JH71X0_MDIV(JH7110_SYSCLK_PERH_ROOT, "perh_root", 2, 2,
  196. JH7110_SYSCLK_PLL0_OUT,
  197. JH7110_SYSCLK_PLL2_OUT),
  198. - JH71X0__MUX(JH7110_SYSCLK_BUS_ROOT, "bus_root", 2,
  199. + JH71X0__MUX(JH7110_SYSCLK_BUS_ROOT, "bus_root", 0, 2,
  200. JH7110_SYSCLK_OSC,
  201. JH7110_SYSCLK_PLL2_OUT),
  202. JH71X0__DIV(JH7110_SYSCLK_NOCSTG_BUS, "nocstg_bus", 3, JH7110_SYSCLK_BUS_ROOT),
  203. @@ -62,7 +62,7 @@ static const struct jh71x0_clk_data jh71
  204. JH71X0__DIV(JH7110_SYSCLK_PLL2_DIV2, "pll2_div2", 2, JH7110_SYSCLK_PLL2_OUT),
  205. JH71X0__DIV(JH7110_SYSCLK_AUDIO_ROOT, "audio_root", 8, JH7110_SYSCLK_PLL2_OUT),
  206. JH71X0__DIV(JH7110_SYSCLK_MCLK_INNER, "mclk_inner", 64, JH7110_SYSCLK_AUDIO_ROOT),
  207. - JH71X0__MUX(JH7110_SYSCLK_MCLK, "mclk", 2,
  208. + JH71X0__MUX(JH7110_SYSCLK_MCLK, "mclk", 0, 2,
  209. JH7110_SYSCLK_MCLK_INNER,
  210. JH7110_SYSCLK_MCLK_EXT),
  211. JH71X0_GATE(JH7110_SYSCLK_MCLK_OUT, "mclk_out", 0, JH7110_SYSCLK_MCLK_INNER),
  212. @@ -96,7 +96,7 @@ static const struct jh71x0_clk_data jh71
  213. JH71X0__DIV(JH7110_SYSCLK_OSC_DIV2, "osc_div2", 2, JH7110_SYSCLK_OSC),
  214. JH71X0__DIV(JH7110_SYSCLK_PLL1_DIV4, "pll1_div4", 2, JH7110_SYSCLK_PLL1_DIV2),
  215. JH71X0__DIV(JH7110_SYSCLK_PLL1_DIV8, "pll1_div8", 2, JH7110_SYSCLK_PLL1_DIV4),
  216. - JH71X0__MUX(JH7110_SYSCLK_DDR_BUS, "ddr_bus", 4,
  217. + JH71X0__MUX(JH7110_SYSCLK_DDR_BUS, "ddr_bus", 0, 4,
  218. JH7110_SYSCLK_OSC_DIV2,
  219. JH7110_SYSCLK_PLL1_DIV2,
  220. JH7110_SYSCLK_PLL1_DIV4,
  221. @@ -186,7 +186,7 @@ static const struct jh71x0_clk_data jh71
  222. JH71X0__DIV(JH7110_SYSCLK_GMAC1_RMII_RTX, "gmac1_rmii_rtx", 30,
  223. JH7110_SYSCLK_GMAC1_RMII_REFIN),
  224. JH71X0_GDIV(JH7110_SYSCLK_GMAC1_PTP, "gmac1_ptp", 0, 31, JH7110_SYSCLK_GMAC_SRC),
  225. - JH71X0__MUX(JH7110_SYSCLK_GMAC1_RX, "gmac1_rx", 2,
  226. + JH71X0__MUX(JH7110_SYSCLK_GMAC1_RX, "gmac1_rx", 0, 2,
  227. JH7110_SYSCLK_GMAC1_RGMII_RXIN,
  228. JH7110_SYSCLK_GMAC1_RMII_RTX),
  229. JH71X0__INV(JH7110_SYSCLK_GMAC1_RX_INV, "gmac1_rx_inv", JH7110_SYSCLK_GMAC1_RX),
  230. @@ -270,11 +270,11 @@ static const struct jh71x0_clk_data jh71
  231. JH71X0_MDIV(JH7110_SYSCLK_I2STX0_LRCK_MST, "i2stx0_lrck_mst", 64, 2,
  232. JH7110_SYSCLK_I2STX0_BCLK_MST_INV,
  233. JH7110_SYSCLK_I2STX0_BCLK_MST),
  234. - JH71X0__MUX(JH7110_SYSCLK_I2STX0_BCLK, "i2stx0_bclk", 2,
  235. + JH71X0__MUX(JH7110_SYSCLK_I2STX0_BCLK, "i2stx0_bclk", 0, 2,
  236. JH7110_SYSCLK_I2STX0_BCLK_MST,
  237. JH7110_SYSCLK_I2STX_BCLK_EXT),
  238. JH71X0__INV(JH7110_SYSCLK_I2STX0_BCLK_INV, "i2stx0_bclk_inv", JH7110_SYSCLK_I2STX0_BCLK),
  239. - JH71X0__MUX(JH7110_SYSCLK_I2STX0_LRCK, "i2stx0_lrck", 2,
  240. + JH71X0__MUX(JH7110_SYSCLK_I2STX0_LRCK, "i2stx0_lrck", 0, 2,
  241. JH7110_SYSCLK_I2STX0_LRCK_MST,
  242. JH7110_SYSCLK_I2STX_LRCK_EXT),
  243. /* i2stx1 */
  244. @@ -285,11 +285,11 @@ static const struct jh71x0_clk_data jh71
  245. JH71X0_MDIV(JH7110_SYSCLK_I2STX1_LRCK_MST, "i2stx1_lrck_mst", 64, 2,
  246. JH7110_SYSCLK_I2STX1_BCLK_MST_INV,
  247. JH7110_SYSCLK_I2STX1_BCLK_MST),
  248. - JH71X0__MUX(JH7110_SYSCLK_I2STX1_BCLK, "i2stx1_bclk", 2,
  249. + JH71X0__MUX(JH7110_SYSCLK_I2STX1_BCLK, "i2stx1_bclk", 0, 2,
  250. JH7110_SYSCLK_I2STX1_BCLK_MST,
  251. JH7110_SYSCLK_I2STX_BCLK_EXT),
  252. JH71X0__INV(JH7110_SYSCLK_I2STX1_BCLK_INV, "i2stx1_bclk_inv", JH7110_SYSCLK_I2STX1_BCLK),
  253. - JH71X0__MUX(JH7110_SYSCLK_I2STX1_LRCK, "i2stx1_lrck", 2,
  254. + JH71X0__MUX(JH7110_SYSCLK_I2STX1_LRCK, "i2stx1_lrck", 0, 2,
  255. JH7110_SYSCLK_I2STX1_LRCK_MST,
  256. JH7110_SYSCLK_I2STX_LRCK_EXT),
  257. /* i2srx */
  258. @@ -300,11 +300,11 @@ static const struct jh71x0_clk_data jh71
  259. JH71X0_MDIV(JH7110_SYSCLK_I2SRX_LRCK_MST, "i2srx_lrck_mst", 64, 2,
  260. JH7110_SYSCLK_I2SRX_BCLK_MST_INV,
  261. JH7110_SYSCLK_I2SRX_BCLK_MST),
  262. - JH71X0__MUX(JH7110_SYSCLK_I2SRX_BCLK, "i2srx_bclk", 2,
  263. + JH71X0__MUX(JH7110_SYSCLK_I2SRX_BCLK, "i2srx_bclk", 0, 2,
  264. JH7110_SYSCLK_I2SRX_BCLK_MST,
  265. JH7110_SYSCLK_I2SRX_BCLK_EXT),
  266. JH71X0__INV(JH7110_SYSCLK_I2SRX_BCLK_INV, "i2srx_bclk_inv", JH7110_SYSCLK_I2SRX_BCLK),
  267. - JH71X0__MUX(JH7110_SYSCLK_I2SRX_LRCK, "i2srx_lrck", 2,
  268. + JH71X0__MUX(JH7110_SYSCLK_I2SRX_LRCK, "i2srx_lrck", 0, 2,
  269. JH7110_SYSCLK_I2SRX_LRCK_MST,
  270. JH7110_SYSCLK_I2SRX_LRCK_EXT),
  271. /* pdm */
  272. @@ -314,7 +314,7 @@ static const struct jh71x0_clk_data jh71
  273. JH71X0_GATE(JH7110_SYSCLK_TDM_AHB, "tdm_ahb", 0, JH7110_SYSCLK_AHB0),
  274. JH71X0_GATE(JH7110_SYSCLK_TDM_APB, "tdm_apb", 0, JH7110_SYSCLK_APB0),
  275. JH71X0_GDIV(JH7110_SYSCLK_TDM_INTERNAL, "tdm_internal", 0, 64, JH7110_SYSCLK_MCLK),
  276. - JH71X0__MUX(JH7110_SYSCLK_TDM_TDM, "tdm_tdm", 2,
  277. + JH71X0__MUX(JH7110_SYSCLK_TDM_TDM, "tdm_tdm", 0, 2,
  278. JH7110_SYSCLK_TDM_INTERNAL,
  279. JH7110_SYSCLK_TDM_EXT),
  280. JH71X0__INV(JH7110_SYSCLK_TDM_TDM_INV, "tdm_tdm_inv", JH7110_SYSCLK_TDM_TDM),
  281. --- a/drivers/clk/starfive/clk-starfive-jh71x0.h
  282. +++ b/drivers/clk/starfive/clk-starfive-jh71x0.h
  283. @@ -61,10 +61,10 @@ struct jh71x0_clk_data {
  284. .parents = { [0] = _parent }, \
  285. }
  286. -#define JH71X0__MUX(_idx, _name, _nparents, ...) \
  287. +#define JH71X0__MUX(_idx, _name, _flags, _nparents, ...) \
  288. [_idx] = { \
  289. .name = _name, \
  290. - .flags = 0, \
  291. + .flags = _flags, \
  292. .max = ((_nparents) - 1) << JH71X0_CLK_MUX_SHIFT, \
  293. .parents = { __VA_ARGS__ }, \
  294. }