• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1diff --git a/adapter/khdf/linux/model/audio/Kconfig b/adapter/khdf/linux/model/audio/Kconfig
2index 224afcc5..c42d11fc 100644
3--- a/adapter/khdf/linux/model/audio/Kconfig
4+++ b/adapter/khdf/linux/model/audio/Kconfig
5@@ -50,6 +50,13 @@ config DRIVERS_HDF_AUDIO_CAP_REPORT
6     help
7         Answer Y to choice capture event report.
8
9+config DRIVERS_HDF_AUDIO_T507
10+    bool "Enable HDF Audio Codec driver for T507"
11+    default n
12+    depends on DRIVERS_HDF_AUDIO
13+    help
14+        Answer Y to choice HDF Audio Codec driver.
15+
16 config DRIVERS_HDF_AUDIO_TEST
17     bool "Enable HDF Audio driver Test"
18     default n
19diff --git a/adapter/khdf/linux/model/audio/Makefile b/adapter/khdf/linux/model/audio/Makefile
20index 875b1681..c1ed5524 100644
21--- a/adapter/khdf/linux/model/audio/Makefile
22+++ b/adapter/khdf/linux/model/audio/Makefile
23@@ -20,6 +20,8 @@ KHDF_AUDIO_IMX8MM_DIR = $(KHDF_AUDIO_BASE_ROOT_DIR)/device/board/osware/$(DEVICE
24 KHDF_AUDIO_IMX8MM_INC_DIR = drivers/hdf/framework/../../../device/board/osware/$(DEVICE_NAME)/drivers/audio
25 KHDF_AUDIO_A311D_DIR = $(KHDF_AUDIO_BASE_ROOT_DIR)/device/board/unionman/$(DEVICE_NAME)/kernel/hdf/audio
26 KHDF_AUDIO_A311D_INC_DIR = drivers/hdf/framework/../../../device/board/unionman/$(DEVICE_NAME)/kernel/hdf/audio
27+KHDF_AUDIO_T507_DIR = $(KHDF_AUDIO_BASE_ROOT_DIR)/device/board/$(PRODUCT_COMPANY)/$(DEVICE_NAME)/kernel/hdf/driver/audio
28+KHDF_AUDIO_T507_INC_DIR = drivers/hdf/framework/../../../device/board/$(PRODUCT_COMPANY)/$(DEVICE_NAME)/kernel/hdf/driver/audio
29
30 audio_hdmi_codec-objs := \
31           $(KHDF_AUDIO_ROOT_DIR)/hdmi/src/audio_hdmi_codec_adapter.o \
32@@ -70,6 +72,18 @@ obj-$(CONFIG_DRIVERS_HDF_AUDIO_A311D) += \
33           $(KHDF_AUDIO_A311D_DIR)/linux_drv/src/axg_snd_card.o \
34           $(KHDF_AUDIO_A311D_DIR)/linux_drv/src/nau8540.o
35
36+obj-$(CONFIG_DRIVERS_HDF_AUDIO_T507) += \
37+          $(KHDF_AUDIO_T507_DIR)/codec/t507/src/t507_codec_adapter.o \
38+          $(KHDF_AUDIO_T507_DIR)/codec/t507/src/t507_codec_impl_linux.o \
39+          $(KHDF_AUDIO_T507_DIR)/codec/t507/src/t507_codec_ops.o \
40+          $(KHDF_AUDIO_T507_DIR)/dai/src/t507_dai_ahub_adapter.o \
41+          $(KHDF_AUDIO_T507_DIR)/dai/src/t507_dai_ahub_impl_linux.o \
42+          $(KHDF_AUDIO_T507_DIR)/dai/src/t507_dai_ahub_ops.o \
43+          $(KHDF_AUDIO_T507_DIR)/dsp/src/dsp_adapter.o \
44+          $(KHDF_AUDIO_T507_DIR)/dsp/src/dsp_ops.o \
45+          $(KHDF_AUDIO_T507_DIR)/soc/src/t507_dma_adapter.o \
46+          $(KHDF_AUDIO_T507_DIR)/soc/src/t507_dma_ops.o
47+
48 obj-$(CONFIG_DRIVERS_HDF_AUDIO_IMX8MM) += \
49           $(KHDF_AUDIO_IMX8MM_DIR)/soc/src/sai_driver.o \
50           $(KHDF_AUDIO_IMX8MM_DIR)/soc/src/dma_driver.o \
51@@ -110,3 +124,9 @@ ccflags-$(CONFIG_DRIVERS_HDF_AUDIO_IMX8MM) += \
52              -I$(srctree)/$(KHDF_AUDIO_IMX8MM_INC_DIR)/soc/include \
53              -I$(srctree)/$(KHDF_AUDIO_IMX8MM_INC_DIR)/dsp/include \
54              -I$(srctree)/$(KHDF_AUDIO_IMX8MM_INC_DIR)/include
55+
56+ccflags-$(CONFIG_DRIVERS_HDF_AUDIO_T507) += \
57+             -I$(srctree)/$(KHDF_AUDIO_T507_INC_DIR)/codec/t507/include \
58+             -I$(srctree)/$(KHDF_AUDIO_T507_INC_DIR)/dai/include \
59+             -I$(srctree)/$(KHDF_AUDIO_T507_INC_DIR)/dsp/include \
60+             -I$(srctree)/$(KHDF_AUDIO_T507_INC_DIR)/soc/include
61diff --git a/framework/core/manager/src/devsvc_manager.c b/framework/core/manager/src/devsvc_manager.c
62index ef339e39..2a1b6700 100644
63--- a/framework/core/manager/src/devsvc_manager.c
64+++ b/framework/core/manager/src/devsvc_manager.c
65@@ -299,7 +299,8 @@ int DevSvcManagerListServiceByInterfaceDesc(
66             interfaceDesc, serviceNum);
67         return HDF_FAILURE;
68     }
69-    for (uint32_t i = 0; i < serviceNum; i++) {
70+    uint32_t i;
71+    for (i = 0; i < serviceNum; i++) {
72         HdfSbufWriteString(reply, serviceNames[i]);
73     }
74     return status;
75diff --git a/framework/model/input/driver/touchscreen/touch_gt911.c b/framework/model/input/driver/touchscreen/touch_gt911.c
76index f2ab20be..a8305d5b 100644
77--- a/framework/model/input/driver/touchscreen/touch_gt911.c
78+++ b/framework/model/input/driver/touchscreen/touch_gt911.c
79@@ -117,6 +117,11 @@ static void ParsePointData(ChipDevice *device, FrameData *frame, uint8_t *buf, u
80                                   ((buf[GT_POINT_SIZE * i + GT_X_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET);
81             frame->fingers[i].y = (buf[GT_POINT_SIZE * i + GT_Y_LOW] & ONE_BYTE_MASK) |
82                                   ((buf[GT_POINT_SIZE * i + GT_Y_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET);
83+#elif defined(CONFIG_ARCH_SUN50IW9)
84+            frame->fingers[i].x = (buf[GT_POINT_SIZE * i + GT_X_LOW] & ONE_BYTE_MASK) |
85+                                  ((buf[GT_POINT_SIZE * i + GT_X_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET);
86+            frame->fingers[i].y = (buf[GT_POINT_SIZE * i + GT_Y_LOW] & ONE_BYTE_MASK) |
87+                                  ((buf[GT_POINT_SIZE * i + GT_Y_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET);
88 #else
89             frame->fingers[i].y = (buf[GT_POINT_SIZE * i + GT_X_LOW] & ONE_BYTE_MASK) |
90                                   ((buf[GT_POINT_SIZE * i + GT_X_HIGH] & ONE_BYTE_MASK) << ONE_BYTE_OFFSET);
91diff --git a/framework/model/input/driver/touchscreen/touch_gt911.h b/framework/model/input/driver/touchscreen/touch_gt911.h
92index 79246b73..ca824980 100644
93--- a/framework/model/input/driver/touchscreen/touch_gt911.h
94+++ b/framework/model/input/driver/touchscreen/touch_gt911.h
95@@ -79,6 +79,28 @@ uint8_t firmWareParm[FIRMWARE_LEN] = {
96     0x22, 0x03, 0x00, 0x00, 0x33, 0x00, 0x0F, 0x00, 0x00, 0x28,
97     0x50, 0x3C, 0x50, 0x00, 0x00, 0x05, 0x5F, 0xEB, 0x01
98 };
99+#elif defined(CONFIG_ARCH_SUN50IW9)
100+uint8_t firmWareParm[FIRMWARE_LEN] = {
101+0x80,0x47,0x45,0x20,0x03,0x00,0x05,0x05,0x35,0x00,0x01,0xC8,
102+        0x1E,0x0F,0x50,0x32,0x03,0x05,0x00,0x00,0x00,0x00,
103+        0x00,0x00,0x04,0x18,0x1A,0x1E,0x14,0x8C,0x2E,0x0E,
104+        0x1E,0x20,0xEB,0x04,0x00,0x00,0x00,0xBA,0x02,0x2D,
105+        0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
106+        0x00,0x0F,0x2D,0x94,0xD5,0x02,0x07,0x00,0x00,0x04,
107+        0xE6,0x10,0x00,0xBB,0x14,0x00,0x92,0x1A,0x00,0x78,
108+        0x20,0x00,0x61,0x28,0x00,0x61,0x00,0x00,0x00,0x00,
109+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
110+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
111+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
112+        0x00,0x00,0x1C,0x1A,0x18,0x16,0x14,0x12,0x10,0x0E,
113+        0x0C,0x0A,0x08,0x06,0x04,0x02,0x00,0x00,0x00,0x00,
114+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
115+        0x00,0x00,0x2A,0x29,0x28,0x26,0x24,0x22,0x21,0x20,
116+        0x1F,0x1E,0x1D,0x1C,0x18,0x16,0x00,0x02,0x04,0x06,
117+        0x08,0x0A,0x0C,0x0F,0x10,0x12,0x13,0x14,0x00,0x00,
118+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
119+        0x00,0x00,0x00,0x00,0xCB,0x01
120+};
121 #else
122 uint8_t firmWareParm[FIRMWARE_LEN] = {
123     0x80, 0x47, 0x45, 0xC0, 0x03, 0xE0, 0x01, 0x05, 0x3D, 0x00, 0x01, 0x08, 0x28, 0x0F,
124