Angel Pons | 54c5472 | 2020-04-05 13:20:54 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 2 | |
Vladimir Serbinenko | 75c8387 | 2014-09-05 01:01:31 +0200 | [diff] [blame] | 3 | #include <device/azalia_device.h> |
| 4 | |
| 5 | const u32 cim_verb_data[] = { |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 6 | /* --- Codec #0 --- */ |
| 7 | 0x111d76e5, // Codec Vendor / Device ID: IDT 92HD99 |
| 8 | 0x103c18f9, // Subsystem ID |
Angel Pons | e495105 | 2019-12-05 23:12:18 +0100 | [diff] [blame] | 9 | 115, // Number of 4 dword sets |
Angel Pons | ec21170 | 2019-12-19 19:37:21 +0100 | [diff] [blame] | 10 | AZALIA_SUBVENDOR(0, 0x103c18F9), |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 11 | |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 12 | /* Ext. Microphone Connector: External,Right; MicIn,3.5mm; Black,JD; DA,Seq */ |
Angel Pons | ec21170 | 2019-12-19 19:37:21 +0100 | [diff] [blame] | 13 | AZALIA_PIN_CFG(0, 0x0a, 0x04a11020), |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 14 | |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 15 | /* Headphones Connector: External,Right; HP,3.5mm; Black,JD; DA,Seq */ |
Angel Pons | ec21170 | 2019-12-19 19:37:21 +0100 | [diff] [blame] | 16 | AZALIA_PIN_CFG(0, 0x0b, 0x0421101f), |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 17 | |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 18 | /* Not connected: N/A,N/A; Other,Unknown; Unknown,JD; DA,Seq */ |
Angel Pons | ec21170 | 2019-12-19 19:37:21 +0100 | [diff] [blame] | 19 | AZALIA_PIN_CFG(0, 0x0c, 0x40f000f0), |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 20 | |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 21 | /* Internal Speakers: Fixed,Int; Speaker,Other Analog; Unknown,nJD; DA,Seq */ |
Angel Pons | ec21170 | 2019-12-19 19:37:21 +0100 | [diff] [blame] | 22 | AZALIA_PIN_CFG(0, 0x0d, 0x90170110), |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 23 | |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 24 | /* Not connected */ |
Angel Pons | ec21170 | 2019-12-19 19:37:21 +0100 | [diff] [blame] | 25 | AZALIA_PIN_CFG(0, 0x0f, 0x40f000f0), |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 26 | |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 27 | /* Internal Microphone: Fixed,Int,Top; Mic In,ATIPI; Unknown,nJD; DA,Seq */ |
Angel Pons | ec21170 | 2019-12-19 19:37:21 +0100 | [diff] [blame] | 28 | AZALIA_PIN_CFG(0, 0x11, 0xd5a30140), |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 29 | |
| 30 | /* |
| 31 | * Hardware EQ Parameters |
| 32 | * Sample Rate 88200 |
| 33 | */ |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 34 | 0x0227a63f, 0x0227a73e, 0x0227a8eb, 0x0227a93f, |
| 35 | 0x0227aa3e, 0x0227abeb, 0x0227ac00, 0x0227ad80, |
| 36 | 0x0227a681, 0x0227a782, 0x0227a829, 0x0227a981, |
| 37 | 0x0227aa82, 0x0227ab29, 0x0227ac01, 0x0227ad80, |
| 38 | 0x0227a63f, 0x0227a73e, 0x0227a8eb, 0x0227a93f, |
| 39 | 0x0227aa3e, 0x0227abeb, 0x0227ac02, 0x0227ad80, |
| 40 | 0x0227a67e, 0x0227a77b, 0x0227a846, 0x0227a97e, |
| 41 | 0x0227aa7b, 0x0227ab46, 0x0227ac03, 0x0227ad80, |
| 42 | 0x0227a6c1, 0x0227a77f, 0x0227a898, 0x0227a9c1, |
| 43 | 0x0227aa7f, 0x0227ab98, 0x0227ac04, 0x0227ad80, |
| 44 | 0x0227a63e, 0x0227a7d1, 0x0227a84f, 0x0227a93e, |
| 45 | 0x0227aad1, 0x0227ab4f, 0x0227ac05, 0x0227ad80, |
| 46 | 0x0227a683, 0x0227a7be, 0x0227a855, 0x0227a983, |
| 47 | 0x0227aabe, 0x0227ab55, 0x0227ac06, 0x0227ad80, |
| 48 | 0x0227a63d, 0x0227a7b9, 0x0227a856, 0x0227a93d, |
| 49 | 0x0227aab9, 0x0227ab56, 0x0227ac07, 0x0227ad80, |
| 50 | 0x0227a67c, 0x0227a741, 0x0227a8ab, 0x0227a97c, |
| 51 | 0x0227aa41, 0x0227abab, 0x0227ac08, 0x0227ad80, |
| 52 | 0x0227a6c3, 0x0227a775, 0x0227a85a, 0x0227a9c3, |
| 53 | 0x0227aa75, 0x0227ab5a, 0x0227ac09, 0x0227ad80, |
| 54 | 0x0227a63f, 0x0227a79e, 0x0227a829, 0x0227a93f, |
| 55 | 0x0227aa9e, 0x0227ab29, 0x0227ac0a, 0x0227ad80, |
| 56 | 0x0227a682, 0x0227a7e3, 0x0227a867, 0x0227a982, |
| 57 | 0x0227aae3, 0x0227ab67, 0x0227ac0b, 0x0227ad80, |
| 58 | 0x0227a63e, 0x0227a74f, 0x0227a89d, 0x0227a93e, |
| 59 | 0x0227aa4f, 0x0227ab9d, 0x0227ac0c, 0x0227ad80, |
| 60 | 0x0227a67d, 0x0227a71c, 0x0227a899, 0x0227a97d, |
| 61 | 0x0227aa1c, 0x0227ab99, 0x0227ac0d, 0x0227ad80, |
| 62 | 0x0227a6c2, 0x0227a712, 0x0227a839, 0x0227a9c2, |
| 63 | 0x0227aa12, 0x0227ab39, 0x0227ac0e, 0x0227ad80, |
| 64 | 0x0227a63f, 0x0227a708, 0x0227a856, 0x0227a93f, |
| 65 | 0x0227aa08, 0x0227ab56, 0x0227ac0f, 0x0227ad80, |
| 66 | 0x0227a68e, 0x0227a7ed, 0x0227a89d, 0x0227a98e, |
| 67 | 0x0227aaed, 0x0227ab9d, 0x0227ac10, 0x0227ad80, |
| 68 | 0x0227a637, 0x0227a78f, 0x0227a853, 0x0227a937, |
| 69 | 0x0227aa8f, 0x0227ab53, 0x0227ac11, 0x0227ad80, |
| 70 | 0x0227a671, 0x0227a712, 0x0227a863, 0x0227a971, |
| 71 | 0x0227aa12, 0x0227ab63, 0x0227ac12, 0x0227ad80, |
| 72 | 0x0227a6c9, 0x0227a768, 0x0227a856, 0x0227a9c9, |
| 73 | 0x0227aa68, 0x0227ab56, 0x0227ac13, 0x0227ad80, |
| 74 | 0x0227a642, 0x0227a709, 0x0227a838, 0x0227a942, |
| 75 | 0x0227aa09, 0x0227ab38, 0x0227ac14, 0x0227ad80, |
| 76 | 0x0227a69c, 0x0227a78a, 0x0227a867, 0x0227a99c, |
| 77 | 0x0227aa8a, 0x0227ab67, 0x0227ac15, 0x0227ad80, |
| 78 | 0x0227a634, 0x0227a717, 0x0227a8e3, 0x0227a934, |
| 79 | 0x0227aa17, 0x0227abe3, 0x0227ac16, 0x0227ad80, |
| 80 | 0x0227a663, 0x0227a775, 0x0227a899, 0x0227a963, |
| 81 | 0x0227aa75, 0x0227ab99, 0x0227ac17, 0x0227ad80, |
| 82 | 0x0227a6c9, 0x0227a7de, 0x0227a8e5, 0x0227a9c9, |
| 83 | 0x0227aade, 0x0227abe5, 0x0227ac18, 0x0227ad80, |
| 84 | 0x0227a640, 0x0227a700, 0x0227a800, 0x0227a940, |
| 85 | 0x0227aa00, 0x0227ab00, 0x0227ac19, 0x0227ad80, |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 86 | |
| 87 | /* |
| 88 | * Hardware EQ Parameters |
| 89 | * Sample Rate 96000 |
| 90 | */ |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 91 | 0x0227a63f, 0x0227a74e, 0x0227a888, 0x0227a93f, |
| 92 | 0x0227aa4e, 0x0227ab88, 0x0227ac1a, 0x0227ad80, |
| 93 | 0x0227a681, 0x0227a762, 0x0227a8ee, 0x0227a981, |
| 94 | 0x0227aa62, 0x0227abee, 0x0227ac1b, 0x0227ad80, |
| 95 | 0x0227a63f, 0x0227a74e, 0x0227a888, 0x0227a93f, |
| 96 | 0x0227aa4e, 0x0227ab88, 0x0227ac1c, 0x0227ad80, |
| 97 | 0x0227a67e, 0x0227a79a, 0x0227a8e7, 0x0227a97e, |
| 98 | 0x0227aa9a, 0x0227abe7, 0x0227ac1d, 0x0227ad80, |
| 99 | 0x0227a6c1, 0x0227a760, 0x0227a8c3, 0x0227a9c1, |
| 100 | 0x0227aa60, 0x0227abc3, 0x0227ac1e, 0x0227ad80, |
| 101 | 0x0227a63e, 0x0227a7e9, 0x0227a84b, 0x0227a93e, |
| 102 | 0x0227aae9, 0x0227ab4b, 0x0227ac1f, 0x0227ad80, |
| 103 | 0x0227a683, 0x0227a76c, 0x0227a8f2, 0x0227a983, |
| 104 | 0x0227aa6c, 0x0227abf2, 0x0227ac20, 0x0227ad80, |
| 105 | 0x0227a63d, 0x0227a7e7, 0x0227a880, 0x0227a93d, |
| 106 | 0x0227aae7, 0x0227ab80, 0x0227ac21, 0x0227ad80, |
| 107 | 0x0227a67c, 0x0227a793, 0x0227a80e, 0x0227a97c, |
| 108 | 0x0227aa93, 0x0227ab0e, 0x0227ac22, 0x0227ad80, |
| 109 | 0x0227a6c3, 0x0227a72f, 0x0227a835, 0x0227a9c3, |
| 110 | 0x0227aa2f, 0x0227ab35, 0x0227ac23, 0x0227ad80, |
| 111 | 0x0227a63f, 0x0227a7a5, 0x0227a8fe, 0x0227a93f, |
| 112 | 0x0227aaa5, 0x0227abfe, 0x0227ac24, 0x0227ad80, |
| 113 | 0x0227a682, 0x0227a798, 0x0227a89d, 0x0227a982, |
| 114 | 0x0227aa98, 0x0227ab9d, 0x0227ac25, 0x0227ad80, |
| 115 | 0x0227a63e, 0x0227a772, 0x0227a839, 0x0227a93e, |
| 116 | 0x0227aa72, 0x0227ab39, 0x0227ac26, 0x0227ad80, |
| 117 | 0x0227a67d, 0x0227a767, 0x0227a863, 0x0227a97d, |
| 118 | 0x0227aa67, 0x0227ab63, 0x0227ac27, 0x0227ad80, |
| 119 | 0x0227a6c1, 0x0227a7e7, 0x0227a8c8, 0x0227a9c1, |
| 120 | 0x0227aae7, 0x0227abc8, 0x0227ac28, 0x0227ad80, |
| 121 | 0x0227a63f, 0x0227a71b, 0x0227a81a, 0x0227a93f, |
| 122 | 0x0227aa1b, 0x0227ab1a, 0x0227ac29, 0x0227ad80, |
| 123 | 0x0227a68d, 0x0227a763, 0x0227a872, 0x0227a98d, |
| 124 | 0x0227aa63, 0x0227ab72, 0x0227ac2a, 0x0227ad80, |
| 125 | 0x0227a638, 0x0227a733, 0x0227a809, 0x0227a938, |
| 126 | 0x0227aa33, 0x0227ab09, 0x0227ac2b, 0x0227ad80, |
| 127 | 0x0227a672, 0x0227a79c, 0x0227a88e, 0x0227a972, |
| 128 | 0x0227aa9c, 0x0227ab8e, 0x0227ac2c, 0x0227ad80, |
| 129 | 0x0227a6c8, 0x0227a7b1, 0x0227a8dd, 0x0227a9c8, |
| 130 | 0x0227aab1, 0x0227abdd, 0x0227ac2d, 0x0227ad80, |
| 131 | 0x0227a641, 0x0227a7e1, 0x0227a8d8, 0x0227a941, |
| 132 | 0x0227aae1, 0x0227abd8, 0x0227ac2e, 0x0227ad80, |
| 133 | 0x0227a699, 0x0227a70d, 0x0227a820, 0x0227a999, |
| 134 | 0x0227aa0d, 0x0227ab20, 0x0227ac2f, 0x0227ad80, |
| 135 | 0x0227a634, 0x0227a7fe, 0x0227a823, 0x0227a934, |
| 136 | 0x0227aafe, 0x0227ab23, 0x0227ac30, 0x0227ad80, |
| 137 | 0x0227a666, 0x0227a7f2, 0x0227a8e0, 0x0227a966, |
| 138 | 0x0227aaf2, 0x0227abe0, 0x0227ac31, 0x0227ad80, |
| 139 | 0x0227a6c9, 0x0227a720, 0x0227a804, 0x0227a9c9, |
| 140 | 0x0227aa20, 0x0227ab04, 0x0227ac32, 0x0227ad80, |
| 141 | 0x0227a640, 0x0227a700, 0x0227a800, 0x0227a940, |
| 142 | 0x0227aa00, 0x0227ab00, 0x0227ac33, 0x0227ad80, |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 143 | |
| 144 | /* SAFEDSP Parameters */ |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 145 | 0x022782c1, 0x02277127, 0x02277227, 0x02278801, |
| 146 | 0x02278c58, 0x02278e90, 0x0227890a, 0x02278a14, |
| 147 | 0x02278b0f, 0x0017b008, |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 148 | |
| 149 | /* Misc entries */ |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 150 | 0x00b707c0, /* Enable PortB as Output with HP amp */ |
| 151 | 0x00d70740, /* Enable PortD as Output */ |
| 152 | 0x0017a200, /* Disable ClkEn of PortSenseTst */ |
| 153 | 0x0017c621, /* Slave Port - Port A used as microphone input for |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 154 | combo Jack |
| 155 | Master Port - Port B used for Jack Presence Detect |
| 156 | Enable Combo Jack Detection */ |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 157 | 0x0017a208, /* Enable ClkEn of PortSenseTst */ |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 158 | 0x00170500, /* Set power state to D0 */ |
| 159 | |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 160 | /* --- Codec #3 --- */ |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 161 | 0x80862806, // Codec Vendor / Device ID: Intel PantherPoint HDMI |
| 162 | 0x80860101, // Subsystem ID |
Angel Pons | 3012948 | 2019-12-06 00:31:22 +0100 | [diff] [blame] | 163 | // Revision ID: 0x100000 |
| 164 | 4, // Number of 4 dword sets |
Angel Pons | ec21170 | 2019-12-19 19:37:21 +0100 | [diff] [blame] | 165 | AZALIA_SUBVENDOR(3, 0x80860101), |
| 166 | AZALIA_PIN_CFG(3, 0x05, 0x18560010), |
| 167 | AZALIA_PIN_CFG(3, 0x06, 0x18560020), |
| 168 | AZALIA_PIN_CFG(3, 0x07, 0x18560030), |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 169 | }; |
| 170 | |
Vladimir Serbinenko | 75c8387 | 2014-09-05 01:01:31 +0200 | [diff] [blame] | 171 | const u32 pc_beep_verbs[] = { |
Stefan Reinauer | d7bd4eb | 2013-02-11 11:11:36 -0800 | [diff] [blame] | 172 | 0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */ |
| 173 | }; |
| 174 | |
Vladimir Serbinenko | 75c8387 | 2014-09-05 01:01:31 +0200 | [diff] [blame] | 175 | AZALIA_ARRAY_SIZES; |