es8311.h 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef __ES8311_H__
  2. #define __ES8311_H__
  3. #define I2C_REQ 400*1000
  4. #define ADC_VOLUME_GAIN 0xDF //0xEF
  5. #define DADC_GAIN 0x1A //0x17
  6. #define BCLK_DIV 0x13 //0x07
  7. #define ES8311_ADDR 0x18
  8. /* ES8311_REGISTER NAME_REG_REGISTER ADDRESS */
  9. #define ES8311_RESET_REG00 0x00 /*reset digital,csm,clock manager etc.*/
  10. /* Clock Scheme Register definition */
  11. #define ES8311_CLK_MANAGER_REG01 0x01 /* select clk src for mclk, enable clock for codec */
  12. #define ES8311_CLK_MANAGER_REG02 0x02 /* clk divider and clk multiplier */
  13. #define ES8311_CLK_MANAGER_REG03 0x03 /* adc fsmode and osr */
  14. #define ES8311_CLK_MANAGER_REG04 0x04 /* dac osr */
  15. #define ES8311_CLK_MANAGER_REG05 0x05 /* clk divier for adc and dac */
  16. #define ES8311_CLK_MANAGER_REG06 0x06 /* bclk inverter and divider */
  17. #define ES8311_CLK_MANAGER_REG07 0x07 /* tri-state, lrck divider */
  18. #define ES8311_CLK_MANAGER_REG08 0x08 /* lrck divider */
  19. #define ES8311_SDPIN_REG09 0x09 /* dac serial digital port */
  20. #define ES8311_SDPIN_REG09_DACWL_MASK (7 << 2)
  21. #define ES8311_SDPIN_REG09_DACWL_SHIFT 2
  22. #define ES8311_SDPOUT_REG0A 0x0A /* adc serial digital port */
  23. #define ES8311_SDPOUT_REG0A_ADCWL_MASK (7 << 2)
  24. #define ES8311_SDPOUT_REG0A_ADCWL_SHIFT 2
  25. #define ES8311_SYSTEM_REG0B 0x0B /* system */
  26. #define ES8311_SYSTEM_REG0C 0x0C /* system */
  27. #define ES8311_SYSTEM_REG0D 0x0D /* system, power up/down */
  28. #define ES8311_SYSTEM_REG0E 0x0E /* system, power up/down */
  29. #define ES8311_SYSTEM_REG0F 0x0F /* system, low power */
  30. #define ES8311_SYSTEM_REG10 0x10 /* system */
  31. #define ES8311_SYSTEM_REG11 0x11 /* system */
  32. #define ES8311_SYSTEM_REG12 0x12 /* system, Enable DAC */
  33. #define ES8311_SYSTEM_REG13 0x13 /* system */
  34. #define ES8311_SYSTEM_REG14 0x14 /* system, select DMIC, select analog pga gain */
  35. #define ES8311_ADC_REG15 0x15 /* ADC, adc ramp rate, dmic sense */
  36. #define ES8311_ADC_REG16 0x16 /* ADC */
  37. #define ES8311_ADC_REG17 0x17 /* ADC, volume */
  38. #define ES8311_ADC_REG18 0x18 /* ADC, alc enable and winsize */
  39. #define ES8311_ADC_REG19 0x19 /* ADC, alc maxlevel */
  40. #define ES8311_ADC_REG1A 0x1A /* ADC, alc automute */
  41. #define ES8311_ADC_REG1B 0x1B /* ADC, alc automute, adc hpf s1 */
  42. #define ES8311_ADC_REG1C 0x1C /* ADC, equalizer, hpf s2 */
  43. #define ES8311_DAC_REG31 0x31 /* DAC, mute */
  44. #define ES8311_DAC_REG32 0x32 /* DAC, volume */
  45. #define ES8311_DAC_REG33 0x33 /* DAC, offset */
  46. #define ES8311_DAC_REG34 0x34 /* DAC, drc enable, drc winsize */
  47. #define ES8311_DAC_REG35 0x35 /* DAC, drc maxlevel, minilevel */
  48. #define ES8311_DAC_REG37 0x37 /* DAC, ramprate */
  49. #define ES8311_GPIO_REG44 0x44 /* GPIO, dac2adc for test */
  50. #define ES8311_GP_REG45 0x45 /* GP CONTROL */
  51. #define ES8311_CHD1_REGFD 0xFD /* CHIP ID1 */
  52. #define ES8311_CHD2_REGFE 0xFE /* CHIP ID2 */
  53. #define ES8311_CHVER_REGFF 0xFF /* VERSION */
  54. #define ES8311_CHD1_REGFD 0xFD /* CHIP ID1 */
  55. #define ES8311_MAX_REGISTER 0xFF
  56. const audio_codec_opts_t codec_opts_es8311;
  57. #endif /* __ES8311_H__ */