Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | RT5640/RT5639 audio CODEC |
| 2 | |
| 3 | This device supports I2C only. |
| 4 | |
| 5 | Required properties: |
| 6 | |
| 7 | - compatible : One of "realtek,rt5640" or "realtek,rt5639". |
| 8 | |
| 9 | - reg : The I2C address of the device. |
| 10 | |
| 11 | - interrupts : The CODEC's interrupt output. |
| 12 | |
| 13 | Optional properties: |
| 14 | |
| 15 | - clocks: The phandle of the master clock to the CODEC |
| 16 | - clock-names: Should be "mclk" |
| 17 | |
| 18 | - realtek,in1-differential |
| 19 | - realtek,in2-differential |
| 20 | - realtek,in3-differential |
| 21 | Boolean. Indicate MIC1/2/3 input are differential, rather than single-ended. |
| 22 | |
| 23 | - realtek,lout-differential |
| 24 | Boolean. Indicate LOUT output is differential, rather than stereo. |
| 25 | |
| 26 | - realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin. |
| 27 | |
| 28 | - realtek,dmic1-data-pin |
| 29 | 0: dmic1 is not used |
| 30 | 1: using IN1P pin as dmic1 data pin |
| 31 | 2: using GPIO3 pin as dmic1 data pin |
| 32 | |
| 33 | - realtek,dmic2-data-pin |
| 34 | 0: dmic2 is not used |
| 35 | 1: using IN1N pin as dmic2 data pin |
| 36 | 2: using GPIO4 pin as dmic2 data pin |
| 37 | |
| 38 | - realtek,jack-detect-source |
| 39 | u32. Valid values: |
| 40 | 0: jack-detect is not used |
| 41 | 1: Use GPIO1 for jack-detect |
| 42 | 2: Use JD1_IN4P for jack-detect |
| 43 | 3: Use JD2_IN4N for jack-detect |
| 44 | 4: Use GPIO2 for jack-detect |
| 45 | 5: Use GPIO3 for jack-detect |
| 46 | 6: Use GPIO4 for jack-detect |
| 47 | |
| 48 | - realtek,jack-detect-not-inverted |
| 49 | bool. Normal jack-detect switches give an inverted signal, set this bool |
| 50 | in the rare case you've a jack-detect switch which is not inverted. |
| 51 | |
| 52 | - realtek,over-current-threshold-microamp |
| 53 | u32, micbias over-current detection threshold in µA, valid values are |
| 54 | 600, 1500 and 2000µA. |
| 55 | |
| 56 | - realtek,over-current-scale-factor |
| 57 | u32, micbias over-current detection scale-factor, valid values are: |
| 58 | 0: Scale current by 0.5 |
| 59 | 1: Scale current by 0.75 |
| 60 | 2: Scale current by 1.0 |
| 61 | 3: Scale current by 1.5 |
| 62 | |
| 63 | Pins on the device (for linking into audio routes) for RT5639/RT5640: |
| 64 | |
| 65 | * DMIC1 |
| 66 | * DMIC2 |
| 67 | * MICBIAS1 |
| 68 | * IN1P |
| 69 | * IN1N |
| 70 | * IN2P |
| 71 | * IN2N |
| 72 | * IN3P |
| 73 | * IN3N |
| 74 | * HPOL |
| 75 | * HPOR |
| 76 | * LOUTL |
| 77 | * LOUTR |
| 78 | * SPOLP |
| 79 | * SPOLN |
| 80 | * SPORP |
| 81 | * SPORN |
| 82 | |
| 83 | Additional pins on the device for RT5640: |
| 84 | |
| 85 | * MONOP |
| 86 | * MONON |
| 87 | |
| 88 | Example: |
| 89 | |
| 90 | rt5640 { |
| 91 | compatible = "realtek,rt5640"; |
| 92 | reg = <0x1c>; |
| 93 | interrupt-parent = <&gpio>; |
| 94 | interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_HIGH>; |
| 95 | realtek,ldo1-en-gpios = |
| 96 | <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>; |
| 97 | }; |