Hi! > From: John Watts <contact@xxxxxxxxxx> > > [ Upstream commit 8abb95250ae6af2d51993da8fcae18da2ce24cc4 ] > > The controllers present in the D1 are extremely similar to the R40 > and require the same reset quirks, but An extra quirk is needed to support > receiving packets. Well, we are not adding the rest of support to 6.1, so we don't need this, either. It will be unused. BR, Pavel > +++ b/drivers/net/can/Kconfig > @@ -174,10 +174,10 @@ config CAN_SLCAN > > config CAN_SUN4I > tristate "Allwinner A10 CAN controller" > - depends on MACH_SUN4I || MACH_SUN7I || COMPILE_TEST > + depends on MACH_SUN4I || MACH_SUN7I || RISCV || COMPILE_TEST > help > Say Y here if you want to use CAN controller found on Allwinner > - A10/A20 SoCs. > + A10/A20/D1 SoCs. > > To compile this driver as a module, choose M here: the module will > be called sun4i_can. > diff --git a/drivers/net/can/sun4i_can.c b/drivers/net/can/sun4i_can.c > index dd0c6cd76c5f5..c3a6b028ea4d6 100644 > --- a/drivers/net/can/sun4i_can.c > +++ b/drivers/net/can/sun4i_can.c > @@ -91,6 +91,8 @@ > #define SUN4I_REG_BUF12_ADDR 0x0070 /* CAN Tx/Rx Buffer 12 */ > #define SUN4I_REG_ACPC_ADDR 0x0040 /* CAN Acceptance Code 0 */ > #define SUN4I_REG_ACPM_ADDR 0x0044 /* CAN Acceptance Mask 0 */ > +#define SUN4I_REG_ACPC_ADDR_D1 0x0028 /* CAN Acceptance Code 0 on the D1 */ > +#define SUN4I_REG_ACPM_ADDR_D1 0x002C /* CAN Acceptance Mask 0 on the D1 */ > #define SUN4I_REG_RBUF_RBACK_START_ADDR 0x0180 /* CAN transmit buffer start */ > #define SUN4I_REG_RBUF_RBACK_END_ADDR 0x01b0 /* CAN transmit buffer end */ > > @@ -779,6 +781,11 @@ static const struct sun4ican_quirks sun4ican_quirks_r40 = { > .acp_offset = 0, > }; > > +static const struct sun4ican_quirks sun4ican_quirks_d1 = { > + .has_reset = true, > + .acp_offset = (SUN4I_REG_ACPC_ADDR_D1 - SUN4I_REG_ACPC_ADDR), > +}; > + > static const struct of_device_id sun4ican_of_match[] = { > { > .compatible = "allwinner,sun4i-a10-can", > @@ -789,6 +796,9 @@ static const struct of_device_id sun4ican_of_match[] = { > }, { > .compatible = "allwinner,sun8i-r40-can", > .data = &sun4ican_quirks_r40 > + }, { > + .compatible = "allwinner,sun20i-d1-can", > + .data = &sun4ican_quirks_d1 > }, { > /* sentinel */ > }, > @@ -915,4 +925,4 @@ module_platform_driver(sun4i_can_driver); > MODULE_AUTHOR("Peter Chen <xingkongcp@xxxxxxxxx>"); > MODULE_AUTHOR("Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx>"); > MODULE_LICENSE("Dual BSD/GPL"); > -MODULE_DESCRIPTION("CAN driver for Allwinner SoCs (A10/A20)"); > +MODULE_DESCRIPTION("CAN driver for Allwinner SoCs (A10/A20/D1)"); -- DENX Software Engineering GmbH, Managing Director: Erika Unter HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Attachment:
signature.asc
Description: PGP signature