Kconfig 29.8 KB
Newer Older
W
Wayne Lin 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
config SOC_SERIES_M2354
    bool
    select ARCH_ARM_CORTEX_M23
    select SOC_FAMILY_NUMICRO
    select RT_USING_COMPONENTS_INIT
    select RT_USING_USER_MAIN
    default y

    config BSP_USE_STDDRIVER_SOURCE
        bool "Build StdDriver source"
        default n

    menuconfig BSP_USING_PDMA
        bool "Enable Peripheral Direct Memory Access Controller(PDMA)"
        default y

        if BSP_USING_PDMA
            config  NU_PDMA_MEMFUN_ACTOR_MAX
            int "Specify maximum mem actor for memfun"
            range 1 4
            default 4

            config  NU_PDMA_SGTBL_POOL_SIZE
            int "Specify maximum scatter-gather pool size"
            range 1 32
            default 16
        endif

    config BSP_USING_FMC
        bool "Enable Flash Memory Controller(FMC)"
L
LiuKang 已提交
31
        select RT_USING_FAL
W
Wayne Lin 已提交
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472
        default n

    config BSP_USING_GPIO
        bool "Enable General Purpose I/O(GPIO)"
        select RT_USING_PIN
        default y

    menuconfig BSP_USING_CLK
        bool "Enable Clock Controller(CLK)"
        select RT_USING_PM
        select BSP_USING_TMR
        default y
        help
            Choose this option if you need CLK/PM function.
            Notice: Enable the option will hold timer3 resource

        if BSP_USING_CLK
            config NU_CLK_INVOKE_WKTMR
            bool "Enable SPD1 and DPD mode wakeup timer. (About 6.6 Secs)"
            default y
        endif

    menuconfig BSP_USING_RTC
        bool "Enable Real Time Clock(RTC)"
        select RT_USING_RTC

        config NU_RTC_SUPPORT_IO_RW
            bool "Support device RW entry"
            depends on BSP_USING_RTC && RT_USING_RTC

        config NU_RTC_SUPPORT_MSH_CMD
            bool "Support module shell command"
            depends on BSP_USING_RTC && RT_USING_RTC

    menuconfig BSP_USING_EADC
        bool "Enable Enhanced Analog-to-Digital Converter(EADC)"
        select RT_USING_ADC

        if BSP_USING_EADC
            config BSP_USING_EADC0
                bool "Enable EADC0"
        endif

    menuconfig BSP_USING_TMR
        bool "Enable Timer Controller(TIMER)"

        if BSP_USING_TMR

            config BSP_USING_TIMER
                bool

            config BSP_USING_TPWM
                bool

            config BSP_USING_TIMER_CAPTURE
                bool

            config BSP_USING_TMR0
                bool "Enable TIMER0"
                depends on BSP_USING_TMR

            if BSP_USING_TMR0
                choice
                    prompt "Select TIMER0 function mode"

                    config BSP_USING_TIMER0
                        select BSP_USING_TIMER
                        select RT_USING_HWTIMER
                        bool "TIMER"
                    help
                        Choose this option if you need TIMER function mode.

                    config BSP_USING_TPWM0
                        select BSP_USING_TPWM
                        select RT_USING_PWM
                        bool "TIMER PWM"
                    help
                        Choose this option if you need PWM function mode.

                    config BSP_USING_TIMER0_CAPTURE
                        select BSP_USING_TIMER_CAPTURE
                        select RT_USING_INPUT_CAPTURE
                        bool "TIMER CAPTURE"
                    help
                        Choose this option if you need CAPTURE function mode.

                endchoice
            endif

            config BSP_USING_TMR1
                bool "Enable TIMER1"
                depends on BSP_USING_TMR

            if BSP_USING_TMR1
                choice
                    prompt "Select TIMER1 function mode"

                    config BSP_USING_TIMER1
                        select BSP_USING_TIMER
                        select RT_USING_HWTIMER
                        bool "TIMER"
                        help
                        Choose this option if you need TIMER function mode.

                    config BSP_USING_TPWM1
                        select BSP_USING_TPWM
                        select RT_USING_PWM
                        bool "TIMER PWM"
                    help
                        Choose this option if you need PWM function mode.

                    config BSP_USING_TIMER1_CAPTURE
                        select BSP_USING_TIMER_CAPTURE
                        select RT_USING_INPUT_CAPTURE
                        bool "TIMER CAPTURE"
                    help
                        Choose this option if you need CAPTURE function mode.
                endchoice
             endif

            config BSP_USING_TMR2
                bool "Enable TIMER2"
                depends on BSP_USING_TMR

             if BSP_USING_TMR2
                choice
                    prompt "Select TIMER2 function mode"

                    config BSP_USING_TIMER2
                        select BSP_USING_TIMER
                        select RT_USING_HWTIMER
                        bool "TIMER"
                    help
                        Choose this option if you need TIMER function mode.

                    config BSP_USING_TPWM2
                        select BSP_USING_TPWM
                        select RT_USING_PWM
                        bool "TIMER PWM"
                    help
                        Choose this option if you need PWM function mode.

                    config BSP_USING_TIMER2_CAPTURE
                        select BSP_USING_TIMER_CAPTURE
                        select RT_USING_INPUT_CAPTURE
                        bool "TIMER CAPTURE"
                    help
                        Choose this option if you need CAPTURE function mode.
                endchoice
            endif

            config BSP_USING_TMR3
                bool "Enable TIMER3"
                depends on BSP_USING_TMR

            if BSP_USING_TMR3
                choice
                    prompt "Select TIMER3 function mode"

                    config BSP_USING_TIMER3
                        select BSP_USING_TIMER
                        select RT_USING_HWTIMER
                        bool "TIMER"
                        help
                            Choose this option if you need TIMER function mode.

                    config BSP_USING_TPWM3
                        select BSP_USING_TPWM
                        select RT_USING_PWM
                        bool "TIMER PWM"
                        help
                            Choose this option if you need PWM function mode.

                    config BSP_USING_TIMER3_CAPTURE
                        select BSP_USING_TIMER_CAPTURE
                        select RT_USING_INPUT_CAPTURE
                        bool "TIMER CAPTURE"
                    help
                        Choose this option if you need CAPTURE function mode.
                endchoice
            endif

            config BSP_USING_TMR4
                bool "Enable TIMER4"
                depends on BSP_USING_TMR

            if BSP_USING_TMR4
                choice
                    prompt "Select TIMER4 function mode"

                    config BSP_USING_TIMER4
                        select BSP_USING_TIMER
                        select RT_USING_HWTIMER
                        bool "TIMER"
                        help
                            Choose this option if you need TIMER function mode.

                    config BSP_USING_TPWM4
                        select BSP_USING_TPWM
                        select RT_USING_PWM
                        bool "TIMER PWM"
                        help
                            Choose this option if you need PWM function mode.

                    config BSP_USING_TIMER4_CAPTURE
                        select BSP_USING_TIMER_CAPTURE
                        select RT_USING_INPUT_CAPTURE
                        bool "TIMER CAPTURE"
                    help
                        Choose this option if you need CAPTURE function mode.
                endchoice
            endif

            config BSP_USING_TMR5
                bool "Enable TIMER5"
                depends on BSP_USING_TMR && !BSP_USING_CLK

            if BSP_USING_TMR5
                choice
                    prompt "Select TIMER5 function mode"

                    config BSP_USING_TIMER5
                        select BSP_USING_TIMER
                        select RT_USING_HWTIMER
                        bool "TIMER"
                        help
                            Choose this option if you need TIMER function mode.

                    config BSP_USING_TPWM5
                        select BSP_USING_TPWM
                        select RT_USING_PWM
                        bool "TIMER PWM"
                        help
                            Choose this option if you need PWM function mode.

                    config BSP_USING_TIMER5_CAPTURE
                        select BSP_USING_TIMER_CAPTURE
                        select RT_USING_INPUT_CAPTURE
                        bool "TIMER CAPTURE"
                    help
                        Choose this option if you need CAPTURE function mode.
                endchoice
            endif
    endif

    menuconfig BSP_USING_UART
        bool "Enable Universal Asynchronous Receiver/Transmitters(UART)"
        select RT_USING_SERIAL

        if BSP_USING_UART
            config BSP_USING_UART0
                bool "Enable UART0"

            config BSP_USING_UART0_TX_DMA
                bool "Enable UART0 TX DMA"
                depends on BSP_USING_UART0 && RT_SERIAL_USING_DMA

            config BSP_USING_UART0_RX_DMA
                bool "Enable UART0 RX DMA"
                depends on BSP_USING_UART0 && RT_SERIAL_USING_DMA

            config BSP_USING_UART1
                bool "Enable UART1"

            config BSP_USING_UART1_TX_DMA
                bool "Enable UART1 TX DMA"
                depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA

            config BSP_USING_UART1_RX_DMA
                bool "Enable UART1 RX DMA"
                depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA

            config BSP_USING_UART2
                bool "Enable UART2"

            config BSP_USING_UART2_TX_DMA
                bool "Enable UART2 TX DMA"
                depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA

            config BSP_USING_UART2_RX_DMA
                bool "Enable UART2 RX DMA"
                depends on BSP_USING_UART2 && RT_SERIAL_USING_DMA

            config BSP_USING_UART3
                bool "Enable UART3"

            config BSP_USING_UART3_TX_DMA
                bool "Enable UART3 TX DMA"
                depends on BSP_USING_UART3 && RT_SERIAL_USING_DMA

            config BSP_USING_UART3_RX_DMA
                bool "Enable UART3 RX DMA"
                depends on BSP_USING_UART3 && RT_SERIAL_USING_DMA

            config BSP_USING_UART4
                bool "Enable UART4"

            config BSP_USING_UART4_TX_DMA
                bool "Enable UART4 TX DMA"
                depends on BSP_USING_UART4 && RT_SERIAL_USING_DMA

            config BSP_USING_UART4_RX_DMA
                bool "Enable UART4 RX DMA"
                depends on BSP_USING_UART4 && RT_SERIAL_USING_DMA

            config BSP_USING_UART5
                bool "Enable UART5"

            config BSP_USING_UART5_TX_DMA
                bool "Enable UART5 TX DMA"
                depends on BSP_USING_UART5 && RT_SERIAL_USING_DMA

            config BSP_USING_UART5_RX_DMA
                bool "Enable UART5 RX DMA"
                depends on BSP_USING_UART5 && RT_SERIAL_USING_DMA
       endif

    menuconfig BSP_USING_I2C
        bool "Enable I2C Serial Interface Controller(I2C)"
        select RT_USING_I2C

        if BSP_USING_I2C
            config BSP_USING_I2C0
                bool "Enable I2C0"

            config BSP_USING_I2C1
                bool "Enable I2C1"

            config BSP_USING_I2C2
                bool "Enable I2C2"
        endif

    menuconfig BSP_USING_USCI
        bool "Enable Universal Serial Control Interface Controller(USCI)"

    if BSP_USING_USCI

        config BSP_USING_UUART
            bool

        config BSP_USING_USPI
            bool

        config BSP_USING_USPI_PDMA
            bool
            default n

        config BSP_USING_UI2C
            bool

        config BSP_USING_USCI0
            bool "Enable USCI0"

        if BSP_USING_USCI0
            choice
                prompt "Select USCI0 function mode"

                config BSP_USING_UUART0
                    select RT_USING_SERIAL
                    select BSP_USING_UUART
                    bool "UUART0"
                    help
                        Choose this option if you need UART function mode.

                config BSP_USING_UI2C0
                    select RT_USING_I2C
                    select BSP_USING_UI2C
                    bool "UI2C0"
                    help
                        Choose this option if you need I2C function mode.

                config BSP_USING_USPI0
                    select RT_USING_SPI
                    select BSP_USING_USPI
                    bool "USPI0"
                    help
                        Choose this option if you need SPI function mode.
            endchoice

            config BSP_USING_UUART0_TX_DMA
                bool "Enable UUART0 TX DMA"
                depends on BSP_USING_UUART0 && RT_SERIAL_USING_DMA

            config BSP_USING_UUART0_RX_DMA
                bool "Enable UUART0 RX DMA"
                depends on BSP_USING_UUART0 && RT_SERIAL_USING_DMA

            config BSP_USING_USPI0_PDMA
                bool "Use PDMA for data transferring"
                select BSP_USING_USPI_PDMA
                depends on BSP_USING_USPI0
        endif

        config BSP_USING_USCI1
            bool "Enable USCI1"

            if BSP_USING_USCI1
                choice
                    prompt "Select USCI1 function mode"

                    config BSP_USING_UUART1
                        select RT_USING_SERIAL
                        select BSP_USING_UUART
                        bool "UUART1"
                        help
                          Choose this option if you need UART function mode.

                    config BSP_USING_UI2C1
                        select RT_USING_I2C
                        select BSP_USING_UI2C
                        bool "UI2C1"
                        help
                          Choose this option if you need I2C function mode.

                     config BSP_USING_USPI1
                        select RT_USING_SPI
                        select BSP_USING_USPI
                        bool "USPI1"
                        help
                          Choose this option if you need SPI function mode.
                endchoice

                config BSP_USING_UUART1_TX_DMA
                    bool "Enable UUART1 TX DMA"
                    depends on BSP_USING_UUART1 && RT_SERIAL_USING_DMA

                config BSP_USING_UUART1_RX_DMA
                    bool "Enable UUART1 RX DMA"
                    depends on BSP_USING_UUART1 && RT_SERIAL_USING_DMA

                config BSP_USING_USPI1_PDMA
                    bool "Use PDMA for data transferring"
                    select BSP_USING_USPI_PDMA
                    depends on BSP_USING_USPI1
            endif

    endif

    menuconfig BSP_USING_SDH
        bool "Enable Secure Digital Host Controller(SDH)"
        select RT_USING_DFS
W
Wayne 已提交
473
        select RT_USING_SDIO
W
Wayne Lin 已提交
474 475 476 477 478

        if BSP_USING_SDH
            config BSP_USING_SDH0
                bool "Enable SDH0"

W
Wayne 已提交
479 480
            config BSP_USING_SDH1
                bool "Enable SDH1"
W
Wayne Lin 已提交
481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950
        endif

    menuconfig BSP_USING_CAN
        bool "Enable Controller Area Network(CAN)"
        select RT_USING_CAN

        if BSP_USING_CAN
            config BSP_USING_CAN0
                bool "Enable CAN0"
        endif

    menuconfig BSP_USING_BPWM
        bool "Enable Basic PWM Generator and Capture Timer(BPWM)"
        select RT_USING_PWM

        if BSP_USING_BPWM

            config BSP_USING_BPWM_CAPTURE
                bool

            choice
                prompt "Select BPWM0 function mode"
                config BSP_USING_BPWM0
                    select RT_USING_PWM
                    bool "Enable BPWM0"
                    help
                        Choose this option if you need PWM function mode.

                config BSP_USING_BPWM0_CAPTURE
                    select RT_USING_INPUT_CAPTURE
                    select BSP_USING_BPWM_CAPTURE
                    bool "Enable BPWM0_CAPTURE"
                    help
                        Choose this option if you need PWM capture function mode.
            endchoice

            if BSP_USING_BPWM0_CAPTURE
                config BSP_USING_BPWM0_CAPTURE_CHMSK
                    hex "Specify channel mask for BPWM0_CAP channel."
                    range 0 0x3F
                    default 0
            endif

            choice
                prompt "Select BPWM1 function mode"
                config BSP_USING_BPWM1
                    select RT_USING_PWM
                    bool "Enable BPWM1"
                    help
                        Choose this option if you need PWM function mode.

                config BSP_USING_BPWM1_CAPTURE
                    select RT_USING_INPUT_CAPTURE
                    select BSP_USING_BPWM_CAPTURE
                    bool "Enable BPWM1_CAPTURE"
                    help
                        Choose this option if you need PWM capture function mode.
            endchoice

            if BSP_USING_BPWM1_CAPTURE
                config BSP_USING_BPWM1_CAPTURE_CHMSK
                   hex "Specify channel mask for BPWM1_CAP channel."
                   range 0 0x3F
                   default 0
            endif

        endif

    menuconfig BSP_USING_EPWM
        bool "Enable EPWM Generator and Capture Timer(EPWM)"

        if BSP_USING_EPWM

            config BSP_USING_EPWM_CAPTURE
                bool

            choice
                prompt "Select EPWM0 function mode"
                config BSP_USING_EPWM0
                    select RT_USING_PWM
                    bool "Enable EPWM0"
                    help
                        Choose this option if you need PWM function mode.

                config BSP_USING_EPWM0_CAPTURE
                    select RT_USING_INPUT_CAPTURE
                    select BSP_USING_EPWM_CAPTURE
                    bool "Enable EPWM0_CAPTURE"
                    help
                        Choose this option if you need PWM capture function mode.
            endchoice

            if BSP_USING_EPWM0_CAPTURE
                config BSP_USING_EPWM0_CAPTURE_CHMSK
                    hex "Specify channel mask for EPWM0_CAP channel."
                    range 0 0x3F
                    default 0
            endif

            choice
                prompt "Select EPWM1 function mode"
                config BSP_USING_EPWM1
                    select RT_USING_PWM
                    bool "Enable EPWM1"
                    help
                        Choose this option if you need PWM function mode.

                config BSP_USING_EPWM1_CAPTURE
                    select RT_USING_INPUT_CAPTURE
                    select BSP_USING_EPWM_CAPTURE
                    bool "Enable EPWM1_CAPTURE"
                    help
                        Choose this option if you need PWM capture function mode.
            endchoice

            if BSP_USING_EPWM1_CAPTURE
                config BSP_USING_EPWM1_CAPTURE_CHMSK
                   hex "Specify channel mask for EPWM1_CAP channel."
                   range 0 0x3F
                   default 0
            endif

       endif

    menuconfig BSP_USING_SPI
       bool "Enable Serial Peripheral Interface(SPI)"
       select RT_USING_SPI

       if BSP_USING_SPI
            config BSP_USING_SPI_PDMA
            bool
            default n

            config BSP_USING_SPII2S
            bool
            default n

            choice
                prompt "Select SPI0 function mode"
                config BSP_USING_SPI0_NONE
                bool "NONE"
                help
                    Choose this option if you need not SPI0.

                config BSP_USING_SPI0
                bool "Enable SPI0"
                help
                    Choose this option if you need SPI function mode.

                config BSP_USING_SPII2S0
                    select RT_USING_AUDIO
                    select BSP_USING_SPII2S
                    bool "Enable SPII2S0"
                    help
                      Choose this option if you need SPII2S function mode.
            endchoice

            if BSP_USING_SPI0
                   config BSP_USING_SPI0_PDMA
                       bool "Enable PDMA for SPI0"
                       select BSP_USING_SPI_PDMA
                       depends on BSP_USING_SPI0
            endif

            choice
                prompt "Select SPI1 function mode"
                config BSP_USING_SPI1_NONE
                bool "NONE"
                help
                    Choose this option if you need not SPI1.

                config BSP_USING_SPI1
                bool "Enable SPI1"
                help
                    Choose this option if you need SPI function mode.

                config BSP_USING_SPII2S1
                    select RT_USING_AUDIO
                    select BSP_USING_SPII2S
                    bool "Enable SPII2S1"
                help
                    Choose this option if you need SPII2S function mode.
              endchoice

              if BSP_USING_SPI1
                   config BSP_USING_SPI1_PDMA
                       bool "Enable PDMA for SPI1"
                       select BSP_USING_SPI_PDMA
                       depends on BSP_USING_SPI1
              endif

            choice
                prompt "Select SPI2 function mode"
                config BSP_USING_SPI2_NONE
                bool "NONE"
                help
                    Choose this option if you need not SPI2.

                config BSP_USING_SPI2
                bool "Enable SPI2"
                   help
                      Choose this option if you need SPI function mode.

                 config BSP_USING_SPII2S2
                    select RT_USING_AUDIO
                    select BSP_USING_SPII2S
                    bool "Enable SPII2S2"
                    help
                      Choose this option if you need SPII2S function mode.
            endchoice

              if BSP_USING_SPI2
                   config BSP_USING_SPI2_PDMA
                       bool "Enable PDMA for SPI2"
                       select BSP_USING_SPI_PDMA
                       depends on BSP_USING_SPI2
              endif

            choice
                prompt "Select SPI3 function mode"
                config BSP_USING_SPI3_NONE
                bool "NONE"
                help
                    Choose this option if you need not SPI3.

                config BSP_USING_SPI3
                bool "Enable SPI3"
                help
                    Choose this option if you need SPI function mode.

                config BSP_USING_SPII2S3
                    select RT_USING_AUDIO
                    select BSP_USING_SPII2S
                    bool "Enable SPII2S3"
                    help
                      Choose this option if you need SPII2S function mode.
              endchoice

              if BSP_USING_SPI3
                  config BSP_USING_SPI3_PDMA
                       bool "Enable PDMA for SPI3"
                       select BSP_USING_SPI_PDMA
                       depends on BSP_USING_SPI3
              endif

         endif

    config BSP_USING_I2S
        bool "Enable I2S Controller(I2S)"
        select RT_USING_AUDIO

    if BSP_USING_I2S || BSP_USING_SPII2S
        config NU_I2S_DMA_FIFO_SIZE
        int "DMA Buffer size of capture and playback"
        range 2048 4096
        default 2048
    endif

    menuconfig BSP_USING_QSPI
        bool "Enable Quad Serial Peripheral Interface(QSPI)"
        select RT_USING_SPI
        select RT_USING_QSPI
        select BSP_USING_SPI

        if BSP_USING_QSPI
           config BSP_USING_QSPI0
               bool "Enable QSPI0"

           config BSP_USING_QSPI0_PDMA
                bool "Enable PDMA for QSPI0"
                select BSP_USING_SPI_PDMA
                depends on BSP_USING_QSPI0
        endif

    menuconfig BSP_USING_SCUART
        bool "Enable Smart Card Host Interface - UART(SCUART)"

           if BSP_USING_SCUART
           config BSP_USING_SCUART0
               bool "Enable SCUART0"

           config BSP_USING_SCUART1
               bool "Enable SCUART1"

           config BSP_USING_SCUART2
               bool "Enable SCUART2"
        endif

    menuconfig BSP_USING_ECAP
        bool "Enable Enhanced Input Capture Timer(ECAP)"

         if BSP_USING_ECAP

            config BSP_USING_ECAP0
                select RT_USING_INPUT_CAPTURE
                bool "Enable ECAP0"
                help
                    Choose this option if you need ECAP0.

            if BSP_USING_ECAP0
                config BSP_USING_ECAP0_CHMSK
                hex "Specify channel mask for ECAP0 channel."
                range 0 0x7
                default 0
            endif

            config BSP_USING_ECAP1
                select RT_USING_INPUT_CAPTURE
                bool "Enable ECAP1"
                help
                    Choose this option if you need ECAP1.

            if BSP_USING_ECAP1
                config BSP_USING_ECAP1_CHMSK
                hex "Specify channel mask for ECAP1 channel."
                range 0 0x7
                default 0
            endif

       endif

    menuconfig BSP_USING_QEI
        bool "Enable Quadrature Encoder Interface(QEI)"

        if BSP_USING_QEI
            config BSP_USING_QEI0
            bool "Enable QEI0"
            select RT_USING_PULSE_ENCODER

            config BSP_USING_QEI1
            bool "Enable QEI1"
            select RT_USING_PULSE_ENCODER
        endif

    menuconfig BSP_USING_CRYPTO
        bool "Enable Cryptographic Accelerator(CRYPTO)"
        select RT_USING_HWCRYPTO
        select RT_HWCRYPTO_USING_AES
        select RT_HWCRYPTO_USING_AES_ECB
        select RT_HWCRYPTO_USING_AES_CBC
        select RT_HWCRYPTO_USING_AES_CFB
        select RT_HWCRYPTO_USING_AES_CTR
        select RT_HWCRYPTO_USING_AES_CFB
        select RT_HWCRYPTO_USING_AES_OFB
        select RT_HWCRYPTO_USING_DES
        select RT_HWCRYPTO_USING_DES_ECB
        select RT_HWCRYPTO_USING_DES_CBC
        select RT_HWCRYPTO_USING_3DES
        select RT_HWCRYPTO_USING_3DES_ECB
        select RT_HWCRYPTO_USING_3DES_CBC
        select RT_HWCRYPTO_USING_SHA1
        select RT_HWCRYPTO_USING_SHA2
        select RT_HWCRYPTO_USING_SHA2_224
        select RT_HWCRYPTO_USING_SHA2_256
        select RT_HWCRYPTO_USING_SHA2_384
        select RT_HWCRYPTO_USING_SHA2_512
        select RT_HWCRYPTO_USING_RNG

        if BSP_USING_CRYPTO
            config NU_PRNG_USE_SEED
                bool "Use specified seed value."
                help
                   Specify the seed value to PRNG.

            if NU_PRNG_USE_SEED
                config NU_PRNG_SEED_VALUE
                    hex "Enter seed value"
                    range 0 0xFFFFFFFF
                    default 0
            endif
        endif

        config BSP_USING_TRNG
            bool "Enable True Random Number Generator(TRNG)"
            select BSP_USING_CRYPTO
            select RT_USING_HWCRYPTO
            select RT_HWCRYPTO_USING_RNG

        menuconfig BSP_USING_CRC
            bool "Enable Cyclic Redundancy Check Generator(CRC)"
            select BSP_USING_CRYPTO
            select RT_USING_HWCRYPTO
            select RT_HWCRYPTO_USING_CRC
            select RT_HWCRYPTO_USING_CRC_07
            select RT_HWCRYPTO_USING_CRC_8005
            select RT_HWCRYPTO_USING_CRC_1021
            select RT_HWCRYPTO_USING_CRC_04C11DB7

            if BSP_USING_CRC
                config NU_CRC_USE_PDMA
                bool "Use PDMA for data transferring."
                select BSP_USING_PDMA
                default y
            endif


    menuconfig BSP_USING_SOFT_I2C
        bool "Enable SOFT I2C"

        if BSP_USING_SOFT_I2C
            config BSP_USING_SOFT_I2C0
            bool "Enable SOFT I2C0"
            select RT_USING_I2C
            select RT_USING_I2C_BITOPS
            default n

            if BSP_USING_SOFT_I2C0
                config BSP_SOFT_I2C0_SCL_PIN
                hex "Specify the pin index of SCL of SOFT I2C0"
                range 0 0x7F
                default 0x18

                config BSP_SOFT_I2C0_SDA_PIN
                hex "Specify the pin index of SDA of SOFT I2C0"
                range 0 0x7F
                default 0x17
            endif

            config BSP_USING_SOFT_I2C1
            bool "Enable SOFT I2C1"
            select RT_USING_I2C
            select RT_USING_I2C_BITOPS
            default n

            if BSP_USING_SOFT_I2C1
                config BSP_SOFT_I2C1_SCL_PIN
                hex "Specify the pin index of SCL of SOFT I2C1"
                range 0 0x7F
                default 0x0B

                config BSP_SOFT_I2C1_SDA_PIN
                hex "Specify the pin index of SDA of SOFT I2C1"
                range 0 0x7F
                default 0x0A
            endif
        endif

    config BSP_USING_WDT
        bool "Enable Watchdog Timer(WDT)"
        select RT_USING_WDT
        default y

    config BSP_USING_EBI
        bool "Enable External Bus Interface(EBI)"
        default n

    config BSP_USING_SLCD
        bool "Enable Segment LCD Interface(SLCD)"
        default n

    config BSP_USING_USBD
        bool "Enable Full-Speed USB Device Controller(USBD)"
        select RT_USING_USB_DEVICE

    config BSP_USING_USBH
        bool "Enable Full-Speed USB Host Controller(USBH)"
        select RT_USING_USB_HOST
        select RT_USBH_MSTORAGE

    if BSP_USING_USBH
        config NU_USBHOST_HUB_POLLING_INTERVAL
            int "USB Root Hub Polling Interval(in Mili-seconds)"
            range 100 2000
            default 100
    endif

    config BSP_USING_OTG
        bool "Enable Full-Speed USB On-The-Go(OTG)"
        select BSP_USING_USBH
        select BSP_USING_USBD