From 7d9521f93bd5878720761c3d619b9335daf517c3 Mon Sep 17 00:00:00 2001 From: phl0 Date: Sat, 8 Sep 2018 22:50:24 +0200 Subject: [PATCH 1/3] CM108AH is 0x013c / HS100 is never used ... --- cm108.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/cm108.c b/cm108.c index 64b62f9d..f40824f0 100644 --- a/cm108.c +++ b/cm108.c @@ -134,7 +134,7 @@ static int cm108_write (char *name, int iomask, int iodata); // CM108B is 0012. // CM119B is 0013. -// CM108AH is 0139 programmable by MSEL and MODE pin. +// CM108AH is 013c programmable by MSEL and MODE pin. // CM119A is 013A programmable by MSEL and MODE pin. // To make matters even more confusing, these can be overridden @@ -144,11 +144,10 @@ static int cm108_write (char *name, int iomask, int iodata); #define CMEDIA_PID1_MIN 0x0008 // range for CM108, CM109, CM119 (no following letters) #define CMEDIA_PID1_MAX 0x000f -#define CMEDIA_PID_CM108AH 0x0139 // CM108AH +#define CMEDIA_PID_CM108AH 0x013c // CM108AH #define CMEDIA_PID_CM108B 0x0012 // CM108B #define CMEDIA_PID_CM119A 0x013a // CM119A #define CMEDIA_PID_CM119B 0x0013 // CM119B -#define CMEDIA_PID_HS100 0x013c // HS100 // The SSS chips seem to be pretty much compatible but they have only two GPIO. // https://irongarment.wordpress.com/2011/03/29/cm108-compatible-chips-with-gpio/ @@ -169,7 +168,6 @@ static int cm108_write (char *name, int iomask, int iodata); // CM119 0d8c 0008-000f * 8 // CM119A 0d8c 013a * 8 // CM119B 0d8c 0013 8 -// HS100 0d8c 013c 0 // // SSS1621 0c76 1605 2 per ZL3AME, Can't find data sheet // SSS1623 0c76 1607,160b 2 per ZL3AME, Not in data sheet. @@ -706,4 +704,4 @@ static int cm108_write (char *name, int iomask, int iodata) /* end cm108.c */ - \ No newline at end of file + From 7e467b4b25e060c1fdf61a4cf8e564f75f0175cb Mon Sep 17 00:00:00 2001 From: phl0 Date: Sat, 8 Sep 2018 23:03:40 +0200 Subject: [PATCH 2/3] Better add second PID for CM108AH --- cm108.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cm108.c b/cm108.c index f40824f0..4ec4ae00 100644 --- a/cm108.c +++ b/cm108.c @@ -134,7 +134,7 @@ static int cm108_write (char *name, int iomask, int iodata); // CM108B is 0012. // CM119B is 0013. -// CM108AH is 013c programmable by MSEL and MODE pin. +// CM108AH is 0139 or 013c programmable by MSEL and MODE pin. // CM119A is 013A programmable by MSEL and MODE pin. // To make matters even more confusing, these can be overridden @@ -144,7 +144,8 @@ static int cm108_write (char *name, int iomask, int iodata); #define CMEDIA_PID1_MIN 0x0008 // range for CM108, CM109, CM119 (no following letters) #define CMEDIA_PID1_MAX 0x000f -#define CMEDIA_PID_CM108AH 0x013c // CM108AH +#define CMEDIA_PID_CM108AH 0x0139 // CM108AH +#define CMEDIA_PID_CM108AH_2 0x013c // CM108AH #define CMEDIA_PID_CM108B 0x0012 // CM108B #define CMEDIA_PID_CM119A 0x013a // CM119A #define CMEDIA_PID_CM119B 0x0013 // CM119B @@ -162,7 +163,7 @@ static int cm108_write (char *name, int iomask, int iodata); // Device VID PID Number of GPIO // ------ --- --- -------------- // CM108 0d8c 0008-000f * 4 -// CM108AH 0d8c 0139 * 3 Has GPIO 1,3,4 but not 2 +// CM108AH 0d8c 0139/013c * 3 Has GPIO 1,3,4 but not 2 // CM108B 0d8c 0012 3 Has GPIO 1,3,4 but not 2 // CM109 0d8c 0008-000f * 8 // CM119 0d8c 0008-000f * 8 @@ -190,6 +191,7 @@ static int cm108_write (char *name, int iomask, int iodata); #define GOOD_DEVICE(v,p) ( (v == CMEDIA_VID && ((p >= CMEDIA_PID1_MIN && p <= CMEDIA_PID1_MAX) \ || p == CMEDIA_PID_CM108AH \ + || p == CMEDIA_PID_CM108AH_2 \ || p == CMEDIA_PID_CM108B \ || p == CMEDIA_PID_CM119A \ || p == CMEDIA_PID_CM119B )) \ From 327a28050c53c4129a40bb482bfc14c97416e662 Mon Sep 17 00:00:00 2001 From: phl0 Date: Sat, 8 Sep 2018 23:05:05 +0200 Subject: [PATCH 3/3] Restore HS100. Just in case ... --- cm108.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cm108.c b/cm108.c index 4ec4ae00..cb713dd0 100644 --- a/cm108.c +++ b/cm108.c @@ -149,6 +149,7 @@ static int cm108_write (char *name, int iomask, int iodata); #define CMEDIA_PID_CM108B 0x0012 // CM108B #define CMEDIA_PID_CM119A 0x013a // CM119A #define CMEDIA_PID_CM119B 0x0013 // CM119B +#define CMEDIA_PID_HS100 0x013c // HS100 // The SSS chips seem to be pretty much compatible but they have only two GPIO. // https://irongarment.wordpress.com/2011/03/29/cm108-compatible-chips-with-gpio/ @@ -169,6 +170,7 @@ static int cm108_write (char *name, int iomask, int iodata); // CM119 0d8c 0008-000f * 8 // CM119A 0d8c 013a * 8 // CM119B 0d8c 0013 8 +// HS100 0d8c 013c 0 // // SSS1621 0c76 1605 2 per ZL3AME, Can't find data sheet // SSS1623 0c76 1607,160b 2 per ZL3AME, Not in data sheet.