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