Commit 2acbeb5d authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge tag 'linux-can-next-for-6.4-20230404-2' of...

Merge tag 'linux-can-next-for-6.4-20230404-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next

Marc Kleine-Budde says:

====================
pull-request: can-next 2023-04-04-2

The first patch is by Oliver Hartkopp and makes the maximum pdu size
of the CAN ISOTP protocol configurable.

The following 5 patches are by Dario Binacchi and add support for the
bxCAN controller by ST.

Geert Uytterhoeven's patch for the rcar_canfd driver fixes a sparse
warning.

Peng Fan's patch adds an optional power-domains property to the
flexcan device tree binding.

Frank Jungclaus adds support for CAN_CTRLMODE_BERR_REPORTING to the
esd_usb driver.

The last patch is by Oliver Hartkopp and converts the USB IDs of the
kvaser_usb driver to hexadecimal values.

* tag 'linux-can-next-for-6.4-20230404-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next:
  kvaser_usb: convert USB IDs to hexadecimal values
  can: esd_usb: Add support for CAN_CTRLMODE_BERR_REPORTING
  dt-bindings: can: fsl,flexcan: add optional power-domains property
  can: rcar_canfd: rcar_canfd_probe(): fix plain integer in transceivers[] init
  can: bxcan: add support for ST bxCAN controller
  ARM: dts: stm32: add pin map for CAN controller on stm32f4
  ARM: dts: stm32: add CAN support on stm32f429
  dt-bindings: net: can: add STM32 bxcan DT bindings
  dt-bindings: arm: stm32: add compatible for syscon gcan node
  can: isotp: add module parameter for maximum pdu size
====================

Link: https://lore.kernel.org/r/20230404145908.1714400-1-mkl@pengutronix.de


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 054fbf7f 1afae605
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ properties:
              - st,stm32-syscfg
              - st,stm32-power-config
              - st,stm32-tamp
              - st,stm32f4-gcan
          - const: syscon
      - items:
          - const: st,stm32-tamp
@@ -42,6 +43,7 @@ if:
      contains:
        enum:
          - st,stm32mp157-syscfg
          - st,stm32f4-gcan
then:
  required:
    - clocks
+3 −0
Original line number Diff line number Diff line
@@ -63,6 +63,9 @@ properties:
      boot loader. This property should only be used the used operating system
      doesn't support the clocks and clock-names property.

  power-domains:
    maxItems: 1

  xceiver-supply:
    description: Regulator that powers the CAN transceiver.

+85 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/can/st,stm32-bxcan.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics bxCAN controller

description: STMicroelectronics BxCAN controller for CAN bus

maintainers:
  - Dario Binacchi <dario.binacchi@amarulasolutions.com>

allOf:
  - $ref: can-controller.yaml#

properties:
  compatible:
    enum:
      - st,stm32f4-bxcan

  st,can-primary:
    description:
      Primary and secondary mode of the bxCAN peripheral is only relevant
      if the chip has two CAN peripherals. In that case they share some
      of the required logic.
      To avoid misunderstandings, it should be noted that ST documentation
      uses the terms master/slave instead of primary/secondary.
    type: boolean

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: transmit interrupt
      - description: FIFO 0 receive interrupt
      - description: FIFO 1 receive interrupt
      - description: status change error interrupt

  interrupt-names:
    items:
      - const: tx
      - const: rx0
      - const: rx1
      - const: sce

  resets:
    maxItems: 1

  clocks:
    maxItems: 1

  st,gcan:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description:
      The phandle to the gcan node which allows to access the 512-bytes
      SRAM memory shared by the two bxCAN cells (CAN1 primary and CAN2
      secondary) in dual CAN peripheral configuration.

required:
  - compatible
  - reg
  - interrupts
  - resets
  - clocks
  - st,gcan

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/stm32fx-clock.h>
    #include <dt-bindings/mfd/stm32f4-rcc.h>

    can1: can@40006400 {
        compatible = "st,stm32f4-bxcan";
        reg = <0x40006400 0x200>;
        interrupts = <19>, <20>, <21>, <22>;
        interrupt-names = "tx", "rx0", "rx1", "sce";
        resets = <&rcc STM32F4_APB1_RESET(CAN1)>;
        clocks = <&rcc 0 STM32F4_APB1_CLOCK(CAN1)>;
        st,can-primary;
        st,gcan = <&gcan>;
    };
+7 −0
Original line number Diff line number Diff line
@@ -4431,6 +4431,13 @@ S: Maintained
F:	drivers/scsi/BusLogic.*
F:	drivers/scsi/FlashPoint.*
BXCAN CAN NETWORK DRIVER
M:	Dario Binacchi <dario.binacchi@amarulasolutions.com>
L:	linux-can@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/net/can/st,stm32-bxcan.yaml
F:	drivers/net/can/bxcan.c
C-MEDIA CMI8788 DRIVER
M:	Clemens Ladisch <clemens@ladisch.de>
L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
+30 −0
Original line number Diff line number Diff line
@@ -447,6 +447,36 @@
					slew-rate = <2>;
				};
			};

			can1_pins_a: can1-0 {
				pins1 {
					pinmux = <STM32_PINMUX('B', 9, AF9)>; /* CAN1_TX */
				};
				pins2 {
					pinmux = <STM32_PINMUX('B', 8, AF9)>; /* CAN1_RX */
					bias-pull-up;
				};
			};

			can2_pins_a: can2-0 {
				pins1 {
					pinmux = <STM32_PINMUX('B', 13, AF9)>; /* CAN2_TX */
				};
				pins2 {
					pinmux = <STM32_PINMUX('B', 5, AF9)>; /* CAN2_RX */
					bias-pull-up;
				};
			};

			can2_pins_b: can2-1 {
				pins1 {
					pinmux = <STM32_PINMUX('B', 13, AF9)>; /* CAN2_TX */
				};
				pins2 {
					pinmux = <STM32_PINMUX('B', 12, AF9)>; /* CAN2_RX */
					bias-pull-up;
				};
			};
		};
	};
};
Loading