mirror of https://gitee.com/openkylin/linux.git
can: sja1000 platform data fixes
The member "clock" of struct "sja1000_platform_data" is documented as "CAN bus oscillator frequency in Hz" but it's actually used as the CAN clock frequency, which is half of it. To avoid further confusion, this patch fixes it by renaming the member to "osc_freq". That way, also non mainline users will notice the change. The platform code for the relevant boards is updated accordingly. Furthermore, pre-defined values are now used for the members "ocr" and "cdr". Signed-off-by: Wolfgang Grandegger <wg@grandegger.com> Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d19d56ddc8
commit
56e6943b90
|
@ -201,9 +201,9 @@ static struct resource pcm970_sja1000_resources[] = {
|
|||
};
|
||||
|
||||
struct sja1000_platform_data pcm970_sja1000_platform_data = {
|
||||
.clock = 16000000 / 2,
|
||||
.ocr = 0x40 | 0x18,
|
||||
.cdr = 0x40,
|
||||
.osc_freq = 16000000,
|
||||
.ocr = OCR_TX1_PULLDOWN | OCR_TX0_PUSHPULL,
|
||||
.cdr = CDR_CBP,
|
||||
};
|
||||
|
||||
static struct platform_device pcm970_sja1000 = {
|
||||
|
|
|
@ -530,9 +530,9 @@ static struct resource pcm970_sja1000_resources[] = {
|
|||
};
|
||||
|
||||
struct sja1000_platform_data pcm970_sja1000_platform_data = {
|
||||
.clock = 16000000 / 2,
|
||||
.ocr = 0x40 | 0x18,
|
||||
.cdr = 0x40,
|
||||
.osc_freq = 16000000,
|
||||
.ocr = OCR_TX1_PULLDOWN | OCR_TX0_PUSHPULL,
|
||||
.cdr = CDR_CBP,
|
||||
};
|
||||
|
||||
static struct platform_device pcm970_sja1000 = {
|
||||
|
|
|
@ -111,7 +111,8 @@ static int sp_probe(struct platform_device *pdev)
|
|||
dev->irq = res_irq->start;
|
||||
priv->irq_flags = res_irq->flags & (IRQF_TRIGGER_MASK | IRQF_SHARED);
|
||||
priv->reg_base = addr;
|
||||
priv->can.clock.freq = pdata->clock;
|
||||
/* The CAN clock frequency is half the oscillator clock frequency */
|
||||
priv->can.clock.freq = pdata->osc_freq / 2;
|
||||
priv->ocr = pdata->ocr;
|
||||
priv->cdr = pdata->cdr;
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#define OCR_TX_SHIFT 2
|
||||
|
||||
struct sja1000_platform_data {
|
||||
u32 clock; /* CAN bus oscillator frequency in Hz */
|
||||
u32 osc_freq; /* CAN bus oscillator frequency in Hz */
|
||||
|
||||
u8 ocr; /* output control register */
|
||||
u8 cdr; /* clock divider register */
|
||||
|
|
Loading…
Reference in New Issue