1077365a9SGeert Uytterhoeven# SPDX-License-Identifier: GPL-2.0 2077365a9SGeert Uytterhoeven# 3077365a9SGeert Uytterhoeven# Renesas SH and SH Mobile PINCTRL drivers 4077365a9SGeert Uytterhoeven# 5077365a9SGeert Uytterhoeven 6077365a9SGeert Uytterhoevenmenu "Renesas pinctrl drivers" 7077365a9SGeert Uytterhoeven 8077365a9SGeert Uytterhoevenconfig PINCTRL_RENESAS 9077365a9SGeert Uytterhoeven bool "Renesas SoC pin control support" if COMPILE_TEST && !(ARCH_RENESAS || SUPERH) 10077365a9SGeert Uytterhoeven default y if ARCH_RENESAS || SUPERH 11077365a9SGeert Uytterhoeven select PINCTRL_PFC_EMEV2 if ARCH_EMEV2 12077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A73A4 if ARCH_R8A73A4 13077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7740 if ARCH_R8A7740 14077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7742 if ARCH_R8A7742 15077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7743 if ARCH_R8A7743 16077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7744 if ARCH_R8A7744 17077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7745 if ARCH_R8A7745 18077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77470 if ARCH_R8A77470 19077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A774A1 if ARCH_R8A774A1 20077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A774B1 if ARCH_R8A774B1 21077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A774C0 if ARCH_R8A774C0 22077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A774E1 if ARCH_R8A774E1 23077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7778 if ARCH_R8A7778 24077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7779 if ARCH_R8A7779 25077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7790 if ARCH_R8A7790 26077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7791 if ARCH_R8A7791 27077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7792 if ARCH_R8A7792 28077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7793 if ARCH_R8A7793 29077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A7794 if ARCH_R8A7794 30077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77950 if ARCH_R8A77950 31077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77951 if ARCH_R8A77951 32077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77960 if ARCH_R8A77960 33077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77961 if ARCH_R8A77961 34077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77965 if ARCH_R8A77965 35077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77970 if ARCH_R8A77970 36077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77980 if ARCH_R8A77980 37077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77990 if ARCH_R8A77990 38077365a9SGeert Uytterhoeven select PINCTRL_PFC_R8A77995 if ARCH_R8A77995 39741a7370SUlrich Hecht select PINCTRL_PFC_R8A779A0 if ARCH_R8A779A0 40030ac6d7SGeert Uytterhoeven select PINCTRL_PFC_R8A779F0 if ARCH_R8A779F0 41*bfc69bdbSBiju Das select PINCTRL_RZG2L if ARCH_R9A07G043 42c4c4637eSLad Prabhakar select PINCTRL_RZG2L if ARCH_R9A07G044 430c8fce49SBiju Das select PINCTRL_RZG2L if ARCH_R9A07G054 44077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7203 if CPU_SUBTYPE_SH7203 45077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7264 if CPU_SUBTYPE_SH7264 46077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7269 if CPU_SUBTYPE_SH7269 47077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH73A0 if ARCH_SH73A0 48077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7720 if CPU_SUBTYPE_SH7720 49077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7722 if CPU_SUBTYPE_SH7722 50077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7723 if CPU_SUBTYPE_SH7723 51077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7724 if CPU_SUBTYPE_SH7724 52077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7734 if CPU_SUBTYPE_SH7734 53077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7757 if CPU_SUBTYPE_SH7757 54077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7785 if CPU_SUBTYPE_SH7785 55077365a9SGeert Uytterhoeven select PINCTRL_PFC_SH7786 if CPU_SUBTYPE_SH7786 56077365a9SGeert Uytterhoeven select PINCTRL_PFC_SHX3 if CPU_SUBTYPE_SHX3 57077365a9SGeert Uytterhoeven help 58077365a9SGeert Uytterhoeven This enables pin control drivers for Renesas SuperH and ARM platforms 59077365a9SGeert Uytterhoeven 60540d9757SGeert Uytterhoevenconfig PINCTRL_SH_PFC 61077365a9SGeert Uytterhoeven bool 62540d9757SGeert Uytterhoeven select GENERIC_PINCONF 63540d9757SGeert Uytterhoeven select PINMUX 64540d9757SGeert Uytterhoeven select PINCONF 65540d9757SGeert Uytterhoeven help 66540d9757SGeert Uytterhoeven This enables common pin control functionality for EMMA Mobile, R-Car, 67540d9757SGeert Uytterhoeven R-Mobile, RZ/G, SH, and SH-Mobile platforms. 68540d9757SGeert Uytterhoeven 69540d9757SGeert Uytterhoevenconfig PINCTRL_SH_PFC_GPIO 70540d9757SGeert Uytterhoeven bool 71540d9757SGeert Uytterhoeven select GPIOLIB 72540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 73077365a9SGeert Uytterhoeven help 74077365a9SGeert Uytterhoeven This enables pin control and GPIO drivers for SH/SH Mobile platforms 75077365a9SGeert Uytterhoeven 76077365a9SGeert Uytterhoevenconfig PINCTRL_SH_FUNC_GPIO 77077365a9SGeert Uytterhoeven bool 78540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC_GPIO 79077365a9SGeert Uytterhoeven help 80077365a9SGeert Uytterhoeven This enables legacy function GPIOs for SH platforms 81077365a9SGeert Uytterhoeven 82077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_EMEV2 83077365a9SGeert Uytterhoeven bool "pin control support for Emma Mobile EV2" if COMPILE_TEST 84540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 85077365a9SGeert Uytterhoeven 86077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77995 87077365a9SGeert Uytterhoeven bool "pin control support for R-Car D3" if COMPILE_TEST 88540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 89077365a9SGeert Uytterhoeven 90077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7794 91077365a9SGeert Uytterhoeven bool "pin control support for R-Car E2" if COMPILE_TEST 92540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 93077365a9SGeert Uytterhoeven 94077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77990 95077365a9SGeert Uytterhoeven bool "pin control support for R-Car E3" if COMPILE_TEST 96540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 97077365a9SGeert Uytterhoeven 98077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7779 99077365a9SGeert Uytterhoeven bool "pin control support for R-Car H1" if COMPILE_TEST 100540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 101077365a9SGeert Uytterhoeven 102077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7790 103077365a9SGeert Uytterhoeven bool "pin control support for R-Car H2" if COMPILE_TEST 104540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 105077365a9SGeert Uytterhoeven 106077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77950 107077365a9SGeert Uytterhoeven bool "pin control support for R-Car H3 ES1.x" if COMPILE_TEST 108540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 109077365a9SGeert Uytterhoeven 110077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77951 111077365a9SGeert Uytterhoeven bool "pin control support for R-Car H3 ES2.0+" if COMPILE_TEST 112540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 113077365a9SGeert Uytterhoeven 114077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7778 115077365a9SGeert Uytterhoeven bool "pin control support for R-Car M1A" if COMPILE_TEST 116540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 117077365a9SGeert Uytterhoeven 118077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7793 119077365a9SGeert Uytterhoeven bool "pin control support for R-Car M2-N" if COMPILE_TEST 120540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 121077365a9SGeert Uytterhoeven 122077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7791 123077365a9SGeert Uytterhoeven bool "pin control support for R-Car M2-W" if COMPILE_TEST 124540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 125077365a9SGeert Uytterhoeven 126077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77965 127077365a9SGeert Uytterhoeven bool "pin control support for R-Car M3-N" if COMPILE_TEST 128540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 129077365a9SGeert Uytterhoeven 130077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77960 131077365a9SGeert Uytterhoeven bool "pin control support for R-Car M3-W" if COMPILE_TEST 132540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 133077365a9SGeert Uytterhoeven 134077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77961 135077365a9SGeert Uytterhoeven bool "pin control support for R-Car M3-W+" if COMPILE_TEST 136540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 137077365a9SGeert Uytterhoeven 138030ac6d7SGeert Uytterhoevenconfig PINCTRL_PFC_R8A779F0 139030ac6d7SGeert Uytterhoeven bool "pin control support for R-Car S4-8" if COMPILE_TEST 140030ac6d7SGeert Uytterhoeven select PINCTRL_SH_PFC 141030ac6d7SGeert Uytterhoeven 142077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7792 143077365a9SGeert Uytterhoeven bool "pin control support for R-Car V2H" if COMPILE_TEST 144540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 145077365a9SGeert Uytterhoeven 146077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77980 147077365a9SGeert Uytterhoeven bool "pin control support for R-Car V3H" if COMPILE_TEST 148540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 149077365a9SGeert Uytterhoeven 150077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77970 151077365a9SGeert Uytterhoeven bool "pin control support for R-Car V3M" if COMPILE_TEST 152540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 153077365a9SGeert Uytterhoeven 154741a7370SUlrich Hechtconfig PINCTRL_PFC_R8A779A0 155741a7370SUlrich Hecht bool "pin control support for R-Car V3U" if COMPILE_TEST 156741a7370SUlrich Hecht select PINCTRL_SH_PFC 157741a7370SUlrich Hecht 158077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7740 159077365a9SGeert Uytterhoeven bool "pin control support for R-Mobile A1" if COMPILE_TEST 160077365a9SGeert Uytterhoeven select PINCTRL_SH_PFC_GPIO 161077365a9SGeert Uytterhoeven 162077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A73A4 163077365a9SGeert Uytterhoeven bool "pin control support for R-Mobile APE6" if COMPILE_TEST 164077365a9SGeert Uytterhoeven select PINCTRL_SH_PFC_GPIO 165077365a9SGeert Uytterhoeven 166077365a9SGeert Uytterhoevenconfig PINCTRL_RZA1 167077365a9SGeert Uytterhoeven bool "pin control support for RZ/A1" 168077365a9SGeert Uytterhoeven depends on OF 169077365a9SGeert Uytterhoeven depends on ARCH_R7S72100 || COMPILE_TEST 170540d9757SGeert Uytterhoeven select GENERIC_PINCONF 171077365a9SGeert Uytterhoeven select GENERIC_PINCTRL_GROUPS 172077365a9SGeert Uytterhoeven select GENERIC_PINMUX_FUNCTIONS 173540d9757SGeert Uytterhoeven select GPIOLIB 174077365a9SGeert Uytterhoeven help 175077365a9SGeert Uytterhoeven This selects pinctrl driver for Renesas RZ/A1 platforms. 176077365a9SGeert Uytterhoeven 177077365a9SGeert Uytterhoevenconfig PINCTRL_RZA2 178077365a9SGeert Uytterhoeven bool "pin control support for RZ/A2" 179077365a9SGeert Uytterhoeven depends on OF 180077365a9SGeert Uytterhoeven depends on ARCH_R7S9210 || COMPILE_TEST 181077365a9SGeert Uytterhoeven select GENERIC_PINCTRL_GROUPS 182077365a9SGeert Uytterhoeven select GENERIC_PINMUX_FUNCTIONS 183540d9757SGeert Uytterhoeven select GPIOLIB 184077365a9SGeert Uytterhoeven help 185077365a9SGeert Uytterhoeven This selects GPIO and pinctrl driver for Renesas RZ/A2 platforms. 186077365a9SGeert Uytterhoeven 187c4c4637eSLad Prabhakarconfig PINCTRL_RZG2L 188*bfc69bdbSBiju Das bool "pin control support for RZ/{G2L,G2UL,V2L}" if COMPILE_TEST 189c4c4637eSLad Prabhakar depends on OF 190c4c4637eSLad Prabhakar select GPIOLIB 191c4c4637eSLad Prabhakar select GENERIC_PINCTRL_GROUPS 192c4c4637eSLad Prabhakar select GENERIC_PINMUX_FUNCTIONS 193c4c4637eSLad Prabhakar select GENERIC_PINCONF 194c4c4637eSLad Prabhakar help 195*bfc69bdbSBiju Das This selects GPIO and pinctrl driver for Renesas RZ/{G2L,G2UL,V2L} 1960c8fce49SBiju Das platforms. 197c4c4637eSLad Prabhakar 198077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A77470 199077365a9SGeert Uytterhoeven bool "pin control support for RZ/G1C" if COMPILE_TEST 200540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 201077365a9SGeert Uytterhoeven 202077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7745 203077365a9SGeert Uytterhoeven bool "pin control support for RZ/G1E" if COMPILE_TEST 204540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 205077365a9SGeert Uytterhoeven 206077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7742 207077365a9SGeert Uytterhoeven bool "pin control support for RZ/G1H" if COMPILE_TEST 208540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 209077365a9SGeert Uytterhoeven 210077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7743 211077365a9SGeert Uytterhoeven bool "pin control support for RZ/G1M" if COMPILE_TEST 212540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 213077365a9SGeert Uytterhoeven 214077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A7744 215077365a9SGeert Uytterhoeven bool "pin control support for RZ/G1N" if COMPILE_TEST 216540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 217077365a9SGeert Uytterhoeven 218077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A774C0 219077365a9SGeert Uytterhoeven bool "pin control support for RZ/G2E" if COMPILE_TEST 220540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 221077365a9SGeert Uytterhoeven 222077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A774E1 223077365a9SGeert Uytterhoeven bool "pin control support for RZ/G2H" if COMPILE_TEST 224540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 225077365a9SGeert Uytterhoeven 226077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A774A1 227077365a9SGeert Uytterhoeven bool "pin control support for RZ/G2M" if COMPILE_TEST 228540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 229077365a9SGeert Uytterhoeven 230077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_R8A774B1 231077365a9SGeert Uytterhoeven bool "pin control support for RZ/G2N" if COMPILE_TEST 232540d9757SGeert Uytterhoeven select PINCTRL_SH_PFC 233077365a9SGeert Uytterhoeven 234077365a9SGeert Uytterhoevenconfig PINCTRL_RZN1 235077365a9SGeert Uytterhoeven bool "pin control support for RZ/N1" 236077365a9SGeert Uytterhoeven depends on OF 237077365a9SGeert Uytterhoeven depends on ARCH_RZN1 || COMPILE_TEST 238077365a9SGeert Uytterhoeven select GENERIC_PINCONF 239077365a9SGeert Uytterhoeven help 240077365a9SGeert Uytterhoeven This selects pinctrl driver for Renesas RZ/N1 devices. 241077365a9SGeert Uytterhoeven 242077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7203 243077365a9SGeert Uytterhoeven bool "pin control support for SH7203" if COMPILE_TEST 244077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 245077365a9SGeert Uytterhoeven 246077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7264 247077365a9SGeert Uytterhoeven bool "pin control support for SH7264" if COMPILE_TEST 248077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 249077365a9SGeert Uytterhoeven 250077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7269 251077365a9SGeert Uytterhoeven bool "pin control support for SH7269" if COMPILE_TEST 252077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 253077365a9SGeert Uytterhoeven 254077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7720 255077365a9SGeert Uytterhoeven bool "pin control support for SH7720" if COMPILE_TEST 256077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 257077365a9SGeert Uytterhoeven 258077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7722 259077365a9SGeert Uytterhoeven bool "pin control support for SH7722" if COMPILE_TEST 260077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 261077365a9SGeert Uytterhoeven 262077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7734 263077365a9SGeert Uytterhoeven bool "pin control support for SH7734" if COMPILE_TEST 264077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 265077365a9SGeert Uytterhoeven 266077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7757 267077365a9SGeert Uytterhoeven bool "pin control support for SH7757" if COMPILE_TEST 268077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 269077365a9SGeert Uytterhoeven 270077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7785 271077365a9SGeert Uytterhoeven bool "pin control support for SH7785" if COMPILE_TEST 272077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 273077365a9SGeert Uytterhoeven 274077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7786 275077365a9SGeert Uytterhoeven bool "pin control support for SH7786" if COMPILE_TEST 276077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 277077365a9SGeert Uytterhoeven 278077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH73A0 279077365a9SGeert Uytterhoeven bool "pin control support for SH-Mobile AG5" if COMPILE_TEST 280077365a9SGeert Uytterhoeven select PINCTRL_SH_PFC_GPIO 281077365a9SGeert Uytterhoeven select REGULATOR 282077365a9SGeert Uytterhoeven 283077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7723 284077365a9SGeert Uytterhoeven bool "pin control support for SH-Mobile R2" if COMPILE_TEST 285077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 286077365a9SGeert Uytterhoeven 287077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SH7724 288077365a9SGeert Uytterhoeven bool "pin control support for SH-Mobile R2R" if COMPILE_TEST 289077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 290077365a9SGeert Uytterhoeven 291077365a9SGeert Uytterhoevenconfig PINCTRL_PFC_SHX3 292077365a9SGeert Uytterhoeven bool "pin control support for SH-X3" if COMPILE_TEST 293077365a9SGeert Uytterhoeven select PINCTRL_SH_FUNC_GPIO 294077365a9SGeert Uytterhoeven 295077365a9SGeert Uytterhoevenendmenu 296