1*0d6140beSAndroid Build Coastguard Worker /* 2*0d6140beSAndroid Build Coastguard Worker * This file is part of the flashrom project. 3*0d6140beSAndroid Build Coastguard Worker * 4*0d6140beSAndroid Build Coastguard Worker * Copyright (C) 2017 Urja Rannikko <[email protected]> 5*0d6140beSAndroid Build Coastguard Worker * 6*0d6140beSAndroid Build Coastguard Worker * This program is free software; you can redistribute it and/or modify 7*0d6140beSAndroid Build Coastguard Worker * it under the terms of the GNU General Public License as published by 8*0d6140beSAndroid Build Coastguard Worker * the Free Software Foundation; either version 2 of the License, or 9*0d6140beSAndroid Build Coastguard Worker * (at your option) any later version. 10*0d6140beSAndroid Build Coastguard Worker * 11*0d6140beSAndroid Build Coastguard Worker * This program is distributed in the hope that it will be useful, 12*0d6140beSAndroid Build Coastguard Worker * but WITHOUT ANY WARRANTY; without even the implied warranty of 13*0d6140beSAndroid Build Coastguard Worker * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*0d6140beSAndroid Build Coastguard Worker * GNU General Public License for more details. 15*0d6140beSAndroid Build Coastguard Worker */ 16*0d6140beSAndroid Build Coastguard Worker 17*0d6140beSAndroid Build Coastguard Worker #ifndef __CUSTOM_BAUD_H__ 18*0d6140beSAndroid Build Coastguard Worker #define __CUSTOM_BAUD_H__ 1 19*0d6140beSAndroid Build Coastguard Worker 20*0d6140beSAndroid Build Coastguard Worker struct baudentry { 21*0d6140beSAndroid Build Coastguard Worker int flag; 22*0d6140beSAndroid Build Coastguard Worker unsigned int baud; 23*0d6140beSAndroid Build Coastguard Worker }; 24*0d6140beSAndroid Build Coastguard Worker 25*0d6140beSAndroid Build Coastguard Worker enum custom_baud_stage { 26*0d6140beSAndroid Build Coastguard Worker BEFORE_FLAGS = 0, 27*0d6140beSAndroid Build Coastguard Worker WITH_FLAGS, 28*0d6140beSAndroid Build Coastguard Worker AFTER_FLAGS 29*0d6140beSAndroid Build Coastguard Worker }; 30*0d6140beSAndroid Build Coastguard Worker 31*0d6140beSAndroid Build Coastguard Worker int set_custom_baudrate(int fd, unsigned int baud, const enum custom_baud_stage stage, void *tio_wanted); 32*0d6140beSAndroid Build Coastguard Worker 33*0d6140beSAndroid Build Coastguard Worker /* Returns 1 if non-exact rate would be used, and setting a custom rate is supported. 34*0d6140beSAndroid Build Coastguard Worker The baudtable must be in ascending order and terminated with a 0-baud entry. */ 35*0d6140beSAndroid Build Coastguard Worker int use_custom_baud(unsigned int baud, const struct baudentry *baudtable); 36*0d6140beSAndroid Build Coastguard Worker 37*0d6140beSAndroid Build Coastguard Worker #endif 38