1141cc406Sopenharmony_ci/* sane - Scanner Access Now Easy. 2141cc406Sopenharmony_ci 3141cc406Sopenharmony_ci Copyright (C) 2019 Povilas Kanapickas <povilas@radix.lt> 4141cc406Sopenharmony_ci 5141cc406Sopenharmony_ci This file is part of the SANE package. 6141cc406Sopenharmony_ci 7141cc406Sopenharmony_ci This program is free software; you can redistribute it and/or 8141cc406Sopenharmony_ci modify it under the terms of the GNU General Public License as 9141cc406Sopenharmony_ci published by the Free Software Foundation; either version 2 of the 10141cc406Sopenharmony_ci License, or (at your option) any later version. 11141cc406Sopenharmony_ci 12141cc406Sopenharmony_ci This program is distributed in the hope that it will be useful, but 13141cc406Sopenharmony_ci WITHOUT ANY WARRANTY; without even the implied warranty of 14141cc406Sopenharmony_ci MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15141cc406Sopenharmony_ci General Public License for more details. 16141cc406Sopenharmony_ci 17141cc406Sopenharmony_ci You should have received a copy of the GNU General Public License 18141cc406Sopenharmony_ci along with this program. If not, see <https://www.gnu.org/licenses/>. 19141cc406Sopenharmony_ci*/ 20141cc406Sopenharmony_ci 21141cc406Sopenharmony_ci#define DEBUG_DECLARE_ONLY 22141cc406Sopenharmony_ci 23141cc406Sopenharmony_ci#include "low.h" 24141cc406Sopenharmony_ci 25141cc406Sopenharmony_cinamespace genesys { 26141cc406Sopenharmony_ci 27141cc406Sopenharmony_ciStaticInit<std::vector<Genesys_Gpo>> s_gpo; 28141cc406Sopenharmony_ci 29141cc406Sopenharmony_civoid genesys_init_gpo_tables() 30141cc406Sopenharmony_ci{ 31141cc406Sopenharmony_ci s_gpo.init(); 32141cc406Sopenharmony_ci 33141cc406Sopenharmony_ci Genesys_Gpo gpo; 34141cc406Sopenharmony_ci gpo.id = GpioId::UMAX; 35141cc406Sopenharmony_ci gpo.regs = { 36141cc406Sopenharmony_ci { 0x66, 0x11 }, 37141cc406Sopenharmony_ci { 0x67, 0x00 }, 38141cc406Sopenharmony_ci { 0x68, 0x51 }, 39141cc406Sopenharmony_ci { 0x69, 0x20 }, 40141cc406Sopenharmony_ci }; 41141cc406Sopenharmony_ci s_gpo->push_back(gpo); 42141cc406Sopenharmony_ci 43141cc406Sopenharmony_ci 44141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 45141cc406Sopenharmony_ci gpo.id = GpioId::ST12; 46141cc406Sopenharmony_ci gpo.regs = { 47141cc406Sopenharmony_ci { 0x66, 0x11 }, 48141cc406Sopenharmony_ci { 0x67, 0x00 }, 49141cc406Sopenharmony_ci { 0x68, 0x51 }, 50141cc406Sopenharmony_ci { 0x69, 0x20 }, 51141cc406Sopenharmony_ci }; 52141cc406Sopenharmony_ci s_gpo->push_back(gpo); 53141cc406Sopenharmony_ci 54141cc406Sopenharmony_ci 55141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 56141cc406Sopenharmony_ci gpo.id = GpioId::ST24; 57141cc406Sopenharmony_ci gpo.regs = { 58141cc406Sopenharmony_ci { 0x66, 0x00 }, 59141cc406Sopenharmony_ci { 0x67, 0x00 }, 60141cc406Sopenharmony_ci { 0x68, 0x51 }, 61141cc406Sopenharmony_ci { 0x69, 0x20 }, 62141cc406Sopenharmony_ci }; 63141cc406Sopenharmony_ci s_gpo->push_back(gpo); 64141cc406Sopenharmony_ci 65141cc406Sopenharmony_ci 66141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 67141cc406Sopenharmony_ci gpo.id = GpioId::MD_5345; // bits 11-12 are for bipolar V-ref input voltage 68141cc406Sopenharmony_ci gpo.regs = { 69141cc406Sopenharmony_ci { 0x66, 0x30 }, 70141cc406Sopenharmony_ci { 0x67, 0x18 }, 71141cc406Sopenharmony_ci { 0x68, 0xa0 }, 72141cc406Sopenharmony_ci { 0x69, 0x18 }, 73141cc406Sopenharmony_ci }; 74141cc406Sopenharmony_ci s_gpo->push_back(gpo); 75141cc406Sopenharmony_ci 76141cc406Sopenharmony_ci 77141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 78141cc406Sopenharmony_ci gpo.id = GpioId::HP2400; 79141cc406Sopenharmony_ci gpo.regs = { 80141cc406Sopenharmony_ci { 0x66, 0x30 }, 81141cc406Sopenharmony_ci { 0x67, 0x00 }, 82141cc406Sopenharmony_ci { 0x68, 0x31 }, 83141cc406Sopenharmony_ci { 0x69, 0x00 }, 84141cc406Sopenharmony_ci }; 85141cc406Sopenharmony_ci s_gpo->push_back(gpo); 86141cc406Sopenharmony_ci 87141cc406Sopenharmony_ci 88141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 89141cc406Sopenharmony_ci gpo.id = GpioId::HP2300; 90141cc406Sopenharmony_ci gpo.regs = { 91141cc406Sopenharmony_ci { 0x66, 0x00 }, 92141cc406Sopenharmony_ci { 0x67, 0x00 }, 93141cc406Sopenharmony_ci { 0x68, 0x00 }, 94141cc406Sopenharmony_ci { 0x69, 0x00 }, 95141cc406Sopenharmony_ci }; 96141cc406Sopenharmony_ci s_gpo->push_back(gpo); 97141cc406Sopenharmony_ci 98141cc406Sopenharmony_ci 99141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 100141cc406Sopenharmony_ci gpo.id = GpioId::CANON_LIDE_35; 101141cc406Sopenharmony_ci gpo.regs = { 102141cc406Sopenharmony_ci { 0x6c, 0x02 }, 103141cc406Sopenharmony_ci { 0x6d, 0x80 }, 104141cc406Sopenharmony_ci { 0x6e, 0xef }, 105141cc406Sopenharmony_ci { 0x6f, 0x80 }, 106141cc406Sopenharmony_ci }; 107141cc406Sopenharmony_ci s_gpo->push_back(gpo); 108141cc406Sopenharmony_ci 109141cc406Sopenharmony_ci 110141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 111141cc406Sopenharmony_ci gpo.id = GpioId::CANON_LIDE_90; 112141cc406Sopenharmony_ci gpo.regs = { 113141cc406Sopenharmony_ci { 0x6b, 0x03 }, 114141cc406Sopenharmony_ci { 0x6c, 0x74 }, 115141cc406Sopenharmony_ci { 0x6d, 0x80 }, 116141cc406Sopenharmony_ci { 0x6e, 0x7f }, 117141cc406Sopenharmony_ci { 0x6f, 0xe0 }, 118141cc406Sopenharmony_ci }; 119141cc406Sopenharmony_ci s_gpo->push_back(gpo); 120141cc406Sopenharmony_ci 121141cc406Sopenharmony_ci 122141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 123141cc406Sopenharmony_ci gpo.id = GpioId::XP200; 124141cc406Sopenharmony_ci gpo.regs = { 125141cc406Sopenharmony_ci { 0x66, 0x30 }, 126141cc406Sopenharmony_ci { 0x67, 0x00 }, 127141cc406Sopenharmony_ci { 0x68, 0xb0 }, 128141cc406Sopenharmony_ci { 0x69, 0x00 }, 129141cc406Sopenharmony_ci }; 130141cc406Sopenharmony_ci s_gpo->push_back(gpo); 131141cc406Sopenharmony_ci 132141cc406Sopenharmony_ci 133141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 134141cc406Sopenharmony_ci gpo.id = GpioId::HP3670; 135141cc406Sopenharmony_ci gpo.regs = { 136141cc406Sopenharmony_ci { 0x66, 0x00 }, 137141cc406Sopenharmony_ci { 0x67, 0x00 }, 138141cc406Sopenharmony_ci { 0x68, 0x00 }, 139141cc406Sopenharmony_ci { 0x69, 0x00 }, 140141cc406Sopenharmony_ci }; 141141cc406Sopenharmony_ci s_gpo->push_back(gpo); 142141cc406Sopenharmony_ci 143141cc406Sopenharmony_ci 144141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 145141cc406Sopenharmony_ci gpo.id = GpioId::XP300; 146141cc406Sopenharmony_ci gpo.regs = { 147141cc406Sopenharmony_ci { 0x6c, 0x09 }, 148141cc406Sopenharmony_ci { 0x6d, 0xc6 }, 149141cc406Sopenharmony_ci { 0x6e, 0xbb }, 150141cc406Sopenharmony_ci { 0x6f, 0x00 }, 151141cc406Sopenharmony_ci }; 152141cc406Sopenharmony_ci s_gpo->push_back(gpo); 153141cc406Sopenharmony_ci 154141cc406Sopenharmony_ci 155141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 156141cc406Sopenharmony_ci gpo.id = GpioId::DP665; 157141cc406Sopenharmony_ci gpo.regs = { 158141cc406Sopenharmony_ci { 0x6c, 0x18 }, 159141cc406Sopenharmony_ci { 0x6d, 0x00 }, 160141cc406Sopenharmony_ci { 0x6e, 0xbb }, 161141cc406Sopenharmony_ci { 0x6f, 0x00 }, 162141cc406Sopenharmony_ci }; 163141cc406Sopenharmony_ci s_gpo->push_back(gpo); 164141cc406Sopenharmony_ci 165141cc406Sopenharmony_ci 166141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 167141cc406Sopenharmony_ci gpo.id = GpioId::DP685; 168141cc406Sopenharmony_ci gpo.regs = { 169141cc406Sopenharmony_ci { 0x6c, 0x3f }, 170141cc406Sopenharmony_ci { 0x6d, 0x46 }, 171141cc406Sopenharmony_ci { 0x6e, 0xfb }, 172141cc406Sopenharmony_ci { 0x6f, 0x00 }, 173141cc406Sopenharmony_ci }; 174141cc406Sopenharmony_ci s_gpo->push_back(gpo); 175141cc406Sopenharmony_ci 176141cc406Sopenharmony_ci 177141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 178141cc406Sopenharmony_ci gpo.id = GpioId::CANON_LIDE_200; 179141cc406Sopenharmony_ci gpo.regs = { 180141cc406Sopenharmony_ci { 0x6b, 0x02 }, 181141cc406Sopenharmony_ci { 0x6c, 0xf9 }, // 0xfb when idle , 0xf9/0xe9 (1200) when scanning 182141cc406Sopenharmony_ci { 0x6d, 0x20 }, 183141cc406Sopenharmony_ci { 0x6e, 0xff }, 184141cc406Sopenharmony_ci { 0x6f, 0x00 }, 185141cc406Sopenharmony_ci { 0xa6, 0x04 }, 186141cc406Sopenharmony_ci { 0xa7, 0x04 }, 187141cc406Sopenharmony_ci { 0xa8, 0x00 }, 188141cc406Sopenharmony_ci { 0xa9, 0x00 }, 189141cc406Sopenharmony_ci }; 190141cc406Sopenharmony_ci s_gpo->push_back(gpo); 191141cc406Sopenharmony_ci 192141cc406Sopenharmony_ci 193141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 194141cc406Sopenharmony_ci gpo.id = GpioId::CANON_LIDE_700F; 195141cc406Sopenharmony_ci gpo.regs = { 196141cc406Sopenharmony_ci { 0x6b, 0x06 }, 197141cc406Sopenharmony_ci { 0x6c, 0xdb }, 198141cc406Sopenharmony_ci { 0x6d, 0xff }, 199141cc406Sopenharmony_ci { 0x6e, 0xff }, 200141cc406Sopenharmony_ci { 0x6f, 0x80 }, 201141cc406Sopenharmony_ci { 0xa6, 0x15 }, 202141cc406Sopenharmony_ci { 0xa7, 0x07 }, 203141cc406Sopenharmony_ci { 0xa8, 0x20 }, 204141cc406Sopenharmony_ci { 0xa9, 0x10 }, 205141cc406Sopenharmony_ci }; 206141cc406Sopenharmony_ci s_gpo->push_back(gpo); 207141cc406Sopenharmony_ci 208141cc406Sopenharmony_ci 209141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 210141cc406Sopenharmony_ci gpo.id = GpioId::KVSS080; 211141cc406Sopenharmony_ci gpo.regs = { 212141cc406Sopenharmony_ci { 0x6c, 0xf5 }, 213141cc406Sopenharmony_ci { 0x6d, 0x20 }, 214141cc406Sopenharmony_ci { 0x6e, 0x7e }, 215141cc406Sopenharmony_ci { 0x6f, 0xa1 }, 216141cc406Sopenharmony_ci { 0xa6, 0x06 }, 217141cc406Sopenharmony_ci { 0xa7, 0x0f }, 218141cc406Sopenharmony_ci { 0xa8, 0x00 }, 219141cc406Sopenharmony_ci { 0xa9, 0x08 }, 220141cc406Sopenharmony_ci }; 221141cc406Sopenharmony_ci s_gpo->push_back(gpo); 222141cc406Sopenharmony_ci 223141cc406Sopenharmony_ci 224141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 225141cc406Sopenharmony_ci gpo.id = GpioId::G4050; 226141cc406Sopenharmony_ci gpo.regs = { 227141cc406Sopenharmony_ci { 0x6c, 0x20 }, 228141cc406Sopenharmony_ci { 0x6d, 0x00 }, 229141cc406Sopenharmony_ci { 0x6e, 0xfc }, 230141cc406Sopenharmony_ci { 0x6f, 0x00 }, 231141cc406Sopenharmony_ci { 0xa6, 0x08 }, 232141cc406Sopenharmony_ci { 0xa7, 0x1e }, 233141cc406Sopenharmony_ci { 0xa8, 0x3e }, 234141cc406Sopenharmony_ci { 0xa9, 0x06 }, 235141cc406Sopenharmony_ci }; 236141cc406Sopenharmony_ci s_gpo->push_back(gpo); 237141cc406Sopenharmony_ci 238141cc406Sopenharmony_ci 239141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 240141cc406Sopenharmony_ci gpo.id = GpioId::G4010; 241141cc406Sopenharmony_ci gpo.regs = { 242141cc406Sopenharmony_ci { 0x6c, 0x20 }, 243141cc406Sopenharmony_ci { 0x6d, 0x00 }, 244141cc406Sopenharmony_ci { 0x6e, 0xfc }, 245141cc406Sopenharmony_ci { 0x6f, 0x00 }, 246141cc406Sopenharmony_ci { 0xa6, 0x08 }, 247141cc406Sopenharmony_ci { 0xa7, 0x1e }, 248141cc406Sopenharmony_ci { 0xa8, 0x3e }, 249141cc406Sopenharmony_ci { 0xa9, 0x06 }, 250141cc406Sopenharmony_ci }; 251141cc406Sopenharmony_ci s_gpo->push_back(gpo); 252141cc406Sopenharmony_ci 253141cc406Sopenharmony_ci 254141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 255141cc406Sopenharmony_ci gpo.id = GpioId::HP_N6310; 256141cc406Sopenharmony_ci gpo.regs = { 257141cc406Sopenharmony_ci { 0x6c, 0xa3 }, 258141cc406Sopenharmony_ci { 0x6d, 0x00 }, 259141cc406Sopenharmony_ci { 0x6e, 0x7f }, 260141cc406Sopenharmony_ci { 0x6f, 0x00 }, 261141cc406Sopenharmony_ci }; 262141cc406Sopenharmony_ci s_gpo->push_back(gpo); 263141cc406Sopenharmony_ci 264141cc406Sopenharmony_ci 265141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 266141cc406Sopenharmony_ci gpo.id = GpioId::CANON_LIDE_110; 267141cc406Sopenharmony_ci gpo.regs = { 268141cc406Sopenharmony_ci { 0x6c, 0xfb }, 269141cc406Sopenharmony_ci { 0x6d, 0x20 }, 270141cc406Sopenharmony_ci { 0x6e, 0xff }, 271141cc406Sopenharmony_ci { 0x6f, 0x00 }, 272141cc406Sopenharmony_ci }; 273141cc406Sopenharmony_ci s_gpo->push_back(gpo); 274141cc406Sopenharmony_ci 275141cc406Sopenharmony_ci 276141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 277141cc406Sopenharmony_ci gpo.id = GpioId::CANON_LIDE_120; 278141cc406Sopenharmony_ci gpo.regs = { 279141cc406Sopenharmony_ci { 0x6c, 0xfb }, 280141cc406Sopenharmony_ci { 0x6d, 0x20 }, 281141cc406Sopenharmony_ci { 0x6e, 0xff }, 282141cc406Sopenharmony_ci { 0x6f, 0x00 }, 283141cc406Sopenharmony_ci }; 284141cc406Sopenharmony_ci s_gpo->push_back(gpo); 285141cc406Sopenharmony_ci 286141cc406Sopenharmony_ci 287141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 288141cc406Sopenharmony_ci gpo.id = GpioId::CANON_LIDE_210; 289141cc406Sopenharmony_ci gpo.regs = { 290141cc406Sopenharmony_ci { 0x6c, 0xfb }, 291141cc406Sopenharmony_ci { 0x6d, 0x20 }, 292141cc406Sopenharmony_ci { 0x6e, 0xff }, 293141cc406Sopenharmony_ci { 0x6f, 0x00 }, 294141cc406Sopenharmony_ci }; 295141cc406Sopenharmony_ci s_gpo->push_back(gpo); 296141cc406Sopenharmony_ci 297141cc406Sopenharmony_ci 298141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 299141cc406Sopenharmony_ci gpo.id = GpioId::PLUSTEK_OPTICPRO_3600; 300141cc406Sopenharmony_ci gpo.regs = { 301141cc406Sopenharmony_ci { 0x6c, 0x02 }, 302141cc406Sopenharmony_ci { 0x6d, 0x00 }, 303141cc406Sopenharmony_ci { 0x6e, 0x1e }, 304141cc406Sopenharmony_ci { 0x6f, 0x80 }, 305141cc406Sopenharmony_ci }; 306141cc406Sopenharmony_ci s_gpo->push_back(gpo); 307141cc406Sopenharmony_ci 308141cc406Sopenharmony_ci 309141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 310141cc406Sopenharmony_ci gpo.id = GpioId::PLUSTEK_OPTICFILM_7200; 311141cc406Sopenharmony_ci gpo.regs = { 312141cc406Sopenharmony_ci { 0x6b, 0x33 }, 313141cc406Sopenharmony_ci { 0x6c, 0x00 }, 314141cc406Sopenharmony_ci { 0x6d, 0x80 }, 315141cc406Sopenharmony_ci { 0x6e, 0x0c }, 316141cc406Sopenharmony_ci { 0x6f, 0x80 }, 317141cc406Sopenharmony_ci { 0x7e, 0x00 } 318141cc406Sopenharmony_ci }; 319141cc406Sopenharmony_ci s_gpo->push_back(gpo); 320141cc406Sopenharmony_ci 321141cc406Sopenharmony_ci 322141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 323141cc406Sopenharmony_ci gpo.id = GpioId::PLUSTEK_OPTICFILM_7200I; 324141cc406Sopenharmony_ci gpo.regs = { 325141cc406Sopenharmony_ci { 0x6c, 0x4c }, 326141cc406Sopenharmony_ci { 0x6d, 0x80 }, 327141cc406Sopenharmony_ci { 0x6e, 0x4c }, 328141cc406Sopenharmony_ci { 0x6f, 0x80 }, 329141cc406Sopenharmony_ci { 0xa6, 0x00 }, 330141cc406Sopenharmony_ci { 0xa7, 0x07 }, 331141cc406Sopenharmony_ci { 0xa8, 0x20 }, 332141cc406Sopenharmony_ci { 0xa9, 0x01 }, 333141cc406Sopenharmony_ci }; 334141cc406Sopenharmony_ci s_gpo->push_back(gpo); 335141cc406Sopenharmony_ci 336141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 337141cc406Sopenharmony_ci gpo.id = GpioId::PLUSTEK_OPTICFILM_7300; 338141cc406Sopenharmony_ci gpo.regs = { 339141cc406Sopenharmony_ci { 0x6c, 0x4c }, 340141cc406Sopenharmony_ci { 0x6d, 0x00 }, 341141cc406Sopenharmony_ci { 0x6e, 0x4c }, 342141cc406Sopenharmony_ci { 0x6f, 0x80 }, 343141cc406Sopenharmony_ci { 0xa6, 0x00 }, 344141cc406Sopenharmony_ci { 0xa7, 0x07 }, 345141cc406Sopenharmony_ci { 0xa8, 0x20 }, 346141cc406Sopenharmony_ci { 0xa9, 0x01 }, 347141cc406Sopenharmony_ci }; 348141cc406Sopenharmony_ci s_gpo->push_back(gpo); 349141cc406Sopenharmony_ci 350141cc406Sopenharmony_ci 351141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 352141cc406Sopenharmony_ci gpo.id = GpioId::PLUSTEK_OPTICFILM_7400; 353141cc406Sopenharmony_ci gpo.regs = { 354141cc406Sopenharmony_ci { 0x6b, 0x30 }, { 0x6c, 0x4c }, { 0x6d, 0x80 }, { 0x6e, 0x4c }, { 0x6f, 0x80 }, 355141cc406Sopenharmony_ci { 0xa6, 0x00 }, { 0xa7, 0x07 }, { 0xa8, 0x20 }, { 0xa9, 0x01 }, 356141cc406Sopenharmony_ci }; 357141cc406Sopenharmony_ci s_gpo->push_back(gpo); 358141cc406Sopenharmony_ci 359141cc406Sopenharmony_ci 360141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 361141cc406Sopenharmony_ci gpo.id = GpioId::PLUSTEK_OPTICFILM_7500I; 362141cc406Sopenharmony_ci gpo.regs = { 363141cc406Sopenharmony_ci { 0x6c, 0x4c }, 364141cc406Sopenharmony_ci { 0x6d, 0x00 }, 365141cc406Sopenharmony_ci { 0x6e, 0x4c }, 366141cc406Sopenharmony_ci { 0x6f, 0x80 }, 367141cc406Sopenharmony_ci { 0xa6, 0x00 }, 368141cc406Sopenharmony_ci { 0xa7, 0x07 }, 369141cc406Sopenharmony_ci { 0xa8, 0x20 }, 370141cc406Sopenharmony_ci { 0xa9, 0x01 }, 371141cc406Sopenharmony_ci }; 372141cc406Sopenharmony_ci s_gpo->push_back(gpo); 373141cc406Sopenharmony_ci 374141cc406Sopenharmony_ci 375141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 376141cc406Sopenharmony_ci gpo.id = GpioId::PLUSTEK_OPTICFILM_8200I; 377141cc406Sopenharmony_ci gpo.regs = { 378141cc406Sopenharmony_ci { 0x6b, 0x30 }, { 0x6c, 0x4c }, { 0x6d, 0x80 }, { 0x6e, 0x4c }, { 0x6f, 0x80 }, 379141cc406Sopenharmony_ci { 0xa6, 0x00 }, { 0xa7, 0x07 }, { 0xa8, 0x20 }, { 0xa9, 0x01 }, 380141cc406Sopenharmony_ci }; 381141cc406Sopenharmony_ci s_gpo->push_back(gpo); 382141cc406Sopenharmony_ci 383141cc406Sopenharmony_ci 384141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 385141cc406Sopenharmony_ci gpo.id = GpioId::CANON_4400F; 386141cc406Sopenharmony_ci gpo.regs = { 387141cc406Sopenharmony_ci { 0x6c, 0x01 }, 388141cc406Sopenharmony_ci { 0x6d, 0x7f }, 389141cc406Sopenharmony_ci { 0x6e, 0xff }, 390141cc406Sopenharmony_ci { 0x6f, 0x00 }, 391141cc406Sopenharmony_ci { 0xa6, 0x00 }, 392141cc406Sopenharmony_ci { 0xa7, 0xff }, 393141cc406Sopenharmony_ci { 0xa8, 0x07 }, 394141cc406Sopenharmony_ci { 0xa9, 0x00 }, 395141cc406Sopenharmony_ci }; 396141cc406Sopenharmony_ci s_gpo->push_back(gpo); 397141cc406Sopenharmony_ci 398141cc406Sopenharmony_ci 399141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 400141cc406Sopenharmony_ci gpo.id = GpioId::CANON_5600F; 401141cc406Sopenharmony_ci gpo.regs = { 402141cc406Sopenharmony_ci { 0x6b, 0x87 }, 403141cc406Sopenharmony_ci { 0x6c, 0xf0 }, 404141cc406Sopenharmony_ci { 0x6d, 0x5f }, 405141cc406Sopenharmony_ci { 0x6e, 0x7f }, 406141cc406Sopenharmony_ci { 0x6f, 0xa0 }, 407141cc406Sopenharmony_ci { 0xa6, 0x07 }, 408141cc406Sopenharmony_ci { 0xa7, 0x1c }, 409141cc406Sopenharmony_ci { 0xa8, 0x00 }, 410141cc406Sopenharmony_ci { 0xa9, 0x04 }, 411141cc406Sopenharmony_ci }; 412141cc406Sopenharmony_ci s_gpo->push_back(gpo); 413141cc406Sopenharmony_ci 414141cc406Sopenharmony_ci 415141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 416141cc406Sopenharmony_ci gpo.id = GpioId::CANON_8400F; 417141cc406Sopenharmony_ci gpo.regs = { 418141cc406Sopenharmony_ci { 0x6c, 0x9a }, 419141cc406Sopenharmony_ci { 0x6d, 0xdf }, 420141cc406Sopenharmony_ci { 0x6e, 0xfe }, 421141cc406Sopenharmony_ci { 0x6f, 0x60 }, 422141cc406Sopenharmony_ci { 0xa6, 0x00 }, 423141cc406Sopenharmony_ci { 0xa7, 0x03 }, 424141cc406Sopenharmony_ci { 0xa8, 0x00 }, 425141cc406Sopenharmony_ci { 0xa9, 0x02 }, 426141cc406Sopenharmony_ci }; 427141cc406Sopenharmony_ci s_gpo->push_back(gpo); 428141cc406Sopenharmony_ci 429141cc406Sopenharmony_ci 430141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 431141cc406Sopenharmony_ci gpo.id = GpioId::CANON_8600F; 432141cc406Sopenharmony_ci gpo.regs = { 433141cc406Sopenharmony_ci { 0x6c, 0x20 }, 434141cc406Sopenharmony_ci { 0x6d, 0x7c }, 435141cc406Sopenharmony_ci { 0x6e, 0xff }, 436141cc406Sopenharmony_ci { 0x6f, 0x00 }, 437141cc406Sopenharmony_ci { 0xa6, 0x00 }, 438141cc406Sopenharmony_ci { 0xa7, 0xff }, 439141cc406Sopenharmony_ci { 0xa8, 0x00 }, 440141cc406Sopenharmony_ci { 0xa9, 0x00 }, 441141cc406Sopenharmony_ci }; 442141cc406Sopenharmony_ci s_gpo->push_back(gpo); 443141cc406Sopenharmony_ci 444141cc406Sopenharmony_ci 445141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 446141cc406Sopenharmony_ci gpo.id = GpioId::IMG101; 447141cc406Sopenharmony_ci gpo.regs = { 448141cc406Sopenharmony_ci { 0x6b, 0x72 }, { 0x6c, 0x1f }, { 0x6d, 0xa4 }, { 0x6e, 0x13 }, { 0x6f, 0xa7 }, 449141cc406Sopenharmony_ci { 0xa6, 0x11 }, { 0xa7, 0xff }, { 0xa8, 0x19 }, { 0xa9, 0x05 }, 450141cc406Sopenharmony_ci }; 451141cc406Sopenharmony_ci s_gpo->push_back(gpo); 452141cc406Sopenharmony_ci 453141cc406Sopenharmony_ci 454141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 455141cc406Sopenharmony_ci gpo.id = GpioId::PLUSTEK_OPTICBOOK_3800; 456141cc406Sopenharmony_ci gpo.regs = { 457141cc406Sopenharmony_ci { 0x6b, 0x30 }, { 0x6c, 0x01 }, { 0x6d, 0x80 }, { 0x6e, 0x2d }, { 0x6f, 0x80 }, 458141cc406Sopenharmony_ci { 0xa6, 0x0c }, { 0xa7, 0x8f }, { 0xa8, 0x08 }, { 0xa9, 0x04 }, 459141cc406Sopenharmony_ci }; 460141cc406Sopenharmony_ci s_gpo->push_back(gpo); 461141cc406Sopenharmony_ci 462141cc406Sopenharmony_ci 463141cc406Sopenharmony_ci gpo = Genesys_Gpo(); 464141cc406Sopenharmony_ci gpo.id = GpioId::CANON_LIDE_80; 465141cc406Sopenharmony_ci gpo.regs = { 466141cc406Sopenharmony_ci { 0x6c, 0x28 }, 467141cc406Sopenharmony_ci { 0x6d, 0x90 }, 468141cc406Sopenharmony_ci { 0x6e, 0x75 }, 469141cc406Sopenharmony_ci { 0x6f, 0x80 }, 470141cc406Sopenharmony_ci }; 471141cc406Sopenharmony_ci s_gpo->push_back(gpo); 472141cc406Sopenharmony_ci} 473141cc406Sopenharmony_ci 474141cc406Sopenharmony_ci} // namespace genesys 475