1menu "PHY"
2
3    config ESP_PHY_CALIBRATION_AND_DATA_STORAGE
4        bool "Store phy calibration data in NVS"
5        default y
6        help
7            If this option is enabled, NVS will be initialized and calibration data will be loaded from there.
8            PHY calibration will be skipped on deep sleep wakeup. If calibration data is not found, full calibration
9            will be performed and stored in NVS. Normally, only partial calibration will be performed.
10            If this option is disabled, full calibration will be performed.
11
12            If it's easy that your board calibrate bad data, choose 'n'.
13            Two cases for example, you should choose 'n':
14            1.If your board is easy to be booted up with antenna disconnected.
15            2.Because of your board design, each time when you do calibration, the result are too unstable.
16            If unsure, choose 'y'.
17
18    menuconfig ESP_PHY_INIT_DATA_IN_PARTITION
19        bool "Use a partition to store PHY init data"
20        default n
21        help
22            If enabled, PHY init data will be loaded from a partition.
23            When using a custom partition table, make sure that PHY data
24            partition is included (type: 'data', subtype: 'phy').
25            With default partition tables, this is done automatically.
26            If PHY init data is stored in a partition, it has to be flashed there,
27            otherwise runtime error will occur.
28
29            If this option is not enabled, PHY init data will be embedded
30            into the application binary.
31
32            If unsure, choose 'n'.
33
34    config ESP_PHY_DEFAULT_INIT_IF_INVALID
35        bool "Reset default PHY init data if invalid"
36        default n
37        depends on ESP_PHY_INIT_DATA_IN_PARTITION
38        help
39            If enabled, PHY init data will be restored to default if
40            it cannot be verified successfully to avoid endless bootloops.
41
42            If unsure, choose 'n'.
43
44    if ESP_PHY_INIT_DATA_IN_PARTITION
45        config ESP_PHY_MULTIPLE_INIT_DATA_BIN
46            bool "Support multiple PHY init data bin"
47            depends on ESP_PHY_INIT_DATA_IN_PARTITION
48            default n
49            help
50                If enabled, the corresponding PHY init data type can be automatically switched
51                according to the country code. China's PHY init data bin is used by default.
52                Can be modified by country information in API esp_wifi_set_country().
53                The priority of switching the PHY init data type is:
54                1. Country configured by API esp_wifi_set_country()
55                and the parameter policy is WIFI_COUNTRY_POLICY_MANUAL.
56                2. Country notified by the connected AP.
57                3. Country configured by API esp_wifi_set_country()
58                and the parameter policy is WIFI_COUNTRY_POLICY_AUTO.
59
60        config ESP_PHY_MULTIPLE_INIT_DATA_BIN_EMBED
61            bool "Support embedded multiple phy init data bin to app bin"
62            depends on ESP_PHY_MULTIPLE_INIT_DATA_BIN
63            default n
64            help
65                If enabled, multiple phy init data bin will embedded into app bin
66                If not enabled, multiple phy init data bin will still leave alone, and need to be flashed by users.
67
68        config ESP_PHY_INIT_DATA_ERROR
69            bool "Terminate operation when PHY init data error"
70            depends on ESP_PHY_MULTIPLE_INIT_DATA_BIN
71            default n
72            help
73                If enabled, when an error occurs while the PHY init data is updated,
74                the program will terminate and restart.
75                If not enabled, the PHY init data will not be updated when an error occurs.
76    endif
77
78    config ESP_PHY_MAX_WIFI_TX_POWER
79        int "Max WiFi TX power (dBm)"
80        range 10 20
81        default 20
82        help
83            Set maximum transmit power for WiFi radio. Actual transmit power for high
84            data rates may be lower than this setting.
85
86    config ESP_PHY_MAX_TX_POWER
87        int
88        default ESP_PHY_MAX_WIFI_TX_POWER
89
90    config ESP_PHY_MAC_BB_PD
91        bool "Power down MAC and baseband of Wi-Fi and Bluetooth when PHY is disabled"
92        depends on ((IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3) && FREERTOS_USE_TICKLESS_IDLE)
93        default n
94        help
95            If enabled, the MAC and baseband of Wi-Fi and Bluetooth will be powered
96            down when PHY is disabled. Enabling this setting reduces power consumption
97            by a small amount but increases RAM use by approximately 4 KB(Wi-Fi only),
98            2 KB(Bluetooth only) or 5.3 KB(Wi-Fi + Bluetooth).
99
100    config ESP_PHY_REDUCE_TX_POWER
101        bool "Reduce PHY TX power when brownout reset"
102        depends on ESP32_BROWNOUT_DET
103        default y
104        help
105            When brownout reset occurs, reduce PHY TX power to keep the code running.
106
107    config ESP_PHY_ENABLE_USB
108        bool "Enable USB when phy init"
109        depends on USB_OTG_SUPPORTED || ESP_CONSOLE_USB_SERIAL_JTAG || ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG
110        default y if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3
111        default n
112        help
113            When using USB Serial/JTAG/OTG/CDC, PHY should enable USB, otherwise USB module
114            can not work properly. Notice: Enabling this configuration option will slightly impact wifi performance.
115
116endmenu  # PHY
117