Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _CAN_PLATFORM_SJA1000_H
|
|
#define _CAN_PLATFORM_SJA1000_H
|
|
|
|
/* clock divider register */
|
|
#define CDR_CLKOUT_MASK 0x07
|
|
#define CDR_CLK_OFF 0x08 /* Clock off (CLKOUT pin) */
|
|
#define CDR_RXINPEN 0x20 /* TX1 output is RX irq output */
|
|
#define CDR_CBP 0x40 /* CAN input comparator bypass */
|
|
#define CDR_PELICAN 0x80 /* PeliCAN mode */
|
|
|
|
/* output control register */
|
|
#define OCR_MODE_BIPHASE 0x00
|
|
#define OCR_MODE_TEST 0x01
|
|
#define OCR_MODE_NORMAL 0x02
|
|
#define OCR_MODE_CLOCK 0x03
|
|
#define OCR_MODE_MASK 0x03
|
|
#define OCR_TX0_INVERT 0x04
|
|
#define OCR_TX0_PULLDOWN 0x08
|
|
#define OCR_TX0_PULLUP 0x10
|
|
#define OCR_TX0_PUSHPULL 0x18
|
|
#define OCR_TX1_INVERT 0x20
|
|
#define OCR_TX1_PULLDOWN 0x40
|
|
#define OCR_TX1_PULLUP 0x80
|
|
#define OCR_TX1_PUSHPULL 0xc0
|
|
#define OCR_TX_MASK 0xfc
|
|
#define OCR_TX_SHIFT 2
|
|
|
|
struct sja1000_platform_data {
|
|
u32 osc_freq; /* CAN bus oscillator frequency in Hz */
|
|
|
|
u8 ocr; /* output control register */
|
|
u8 cdr; /* clock divider register */
|
|
};
|
|
|
|
#endif /* !_CAN_PLATFORM_SJA1000_H */
|