tda1997x.h 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) 2017 Gateworks Corporation
  4. */
  5. #ifndef _DT_BINDINGS_MEDIA_TDA1997X_H
  6. #define _DT_BINDINGS_MEDIA_TDA1997X_H
  7. /* TDA19973 36bit Video Port control registers */
  8. #define TDA1997X_VP36_35_32 0
  9. #define TDA1997X_VP36_31_28 1
  10. #define TDA1997X_VP36_27_24 2
  11. #define TDA1997X_VP36_23_20 3
  12. #define TDA1997X_VP36_19_16 4
  13. #define TDA1997X_VP36_15_12 5
  14. #define TDA1997X_VP36_11_08 6
  15. #define TDA1997X_VP36_07_04 7
  16. #define TDA1997X_VP36_03_00 8
  17. /* TDA19971 24bit Video Port control registers */
  18. #define TDA1997X_VP24_V23_20 0
  19. #define TDA1997X_VP24_V19_16 1
  20. #define TDA1997X_VP24_V15_12 3
  21. #define TDA1997X_VP24_V11_08 4
  22. #define TDA1997X_VP24_V07_04 6
  23. #define TDA1997X_VP24_V03_00 7
  24. /* Pin groups */
  25. #define TDA1997X_VP_OUT_EN 0x80 /* enable output group */
  26. #define TDA1997X_VP_HIZ 0x40 /* hi-Z output group when not used */
  27. #define TDA1997X_VP_SWP 0x10 /* pin-swap output group */
  28. #define TDA1997X_R_CR_CBCR_3_0 (0 | TDA1997X_VP_OUT_EN | TDA1997X_VP_HIZ)
  29. #define TDA1997X_R_CR_CBCR_7_4 (1 | TDA1997X_VP_OUT_EN | TDA1997X_VP_HIZ)
  30. #define TDA1997X_R_CR_CBCR_11_8 (2 | TDA1997X_VP_OUT_EN | TDA1997X_VP_HIZ)
  31. #define TDA1997X_B_CB_3_0 (3 | TDA1997X_VP_OUT_EN | TDA1997X_VP_HIZ)
  32. #define TDA1997X_B_CB_7_4 (4 | TDA1997X_VP_OUT_EN | TDA1997X_VP_HIZ)
  33. #define TDA1997X_B_CB_11_8 (5 | TDA1997X_VP_OUT_EN | TDA1997X_VP_HIZ)
  34. #define TDA1997X_G_Y_3_0 (6 | TDA1997X_VP_OUT_EN | TDA1997X_VP_HIZ)
  35. #define TDA1997X_G_Y_7_4 (7 | TDA1997X_VP_OUT_EN | TDA1997X_VP_HIZ)
  36. #define TDA1997X_G_Y_11_8 (8 | TDA1997X_VP_OUT_EN | TDA1997X_VP_HIZ)
  37. /* pinswapped groups */
  38. #define TDA1997X_R_CR_CBCR_3_0_S (TDA1997X_R_CR_CBCR_3_0 | TDA1997X_VP_SWAP)
  39. #define TDA1997X_R_CR_CBCR_7_4_S (TDA1997X_R_CR_CBCR_7_4 | TDA1997X_VP_SWAP)
  40. #define TDA1997X_R_CR_CBCR_11_8_S (TDA1997X_R_CR_CBCR_11_8 | TDA1997X_VP_SWAP)
  41. #define TDA1997X_B_CB_3_0_S (TDA1997X_B_CB_3_0 | TDA1997X_VP_SWAP)
  42. #define TDA1997X_B_CB_7_4_S (TDA1997X_B_CB_7_4 | TDA1997X_VP_SWAP)
  43. #define TDA1997X_B_CB_11_8_S (TDA1997X_B_CB_11_8 | TDA1997X_VP_SWAP)
  44. #define TDA1997X_G_Y_3_0_S (TDA1997X_G_Y_3_0 | TDA1997X_VP_SWAP)
  45. #define TDA1997X_G_Y_7_4_S (TDA1997X_G_Y_7_4 | TDA1997X_VP_SWAP)
  46. #define TDA1997X_G_Y_11_8_S (TDA1997X_G_Y_11_8 | TDA1997X_VP_SWAP)
  47. /* Audio bus DAI format */
  48. #define TDA1997X_I2S16 1 /* I2S 16bit */
  49. #define TDA1997X_I2S32 2 /* I2S 32bit */
  50. #define TDA1997X_SPDIF 3 /* SPDIF */
  51. #define TDA1997X_OBA 4 /* One Bit Audio */
  52. #define TDA1997X_DST 5 /* Direct Stream Transfer */
  53. #define TDA1997X_I2S16_HBR 6 /* HBR straight in I2S 16bit mode */
  54. #define TDA1997X_I2S16_HBR_DEMUX 7 /* HBR demux in I2S 16bit mode */
  55. #define TDA1997X_I2S32_HBR_DEMUX 8 /* HBR demux in I2S 32bit mode */
  56. #define TDA1997X_SPDIF_HBR_DEMUX 9 /* HBR demux in SPDIF mode */
  57. /* Audio bus channel layout */
  58. #define TDA1997X_LAYOUT0 0 /* 2-channel */
  59. #define TDA1997X_LAYOUT1 1 /* 8-channel */
  60. /* Audio bus clock */
  61. #define TDA1997X_ACLK_16FS 0
  62. #define TDA1997X_ACLK_32FS 1
  63. #define TDA1997X_ACLK_64FS 2
  64. #define TDA1997X_ACLK_128FS 3
  65. #define TDA1997X_ACLK_256FS 4
  66. #define TDA1997X_ACLK_512FS 5
  67. #endif /* _DT_BINDINGS_MEDIA_TDA1997X_H */