Commit 7b2c9e41 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull mailbox updates from Jassi Brar:

 - imx: add support for TX Doorbell v2

 - mtk: implement runtime PM

 - zynqmp: add destination mailbox compatible

 - qcom:
    - add another clock provider for IPQ
    - add SM8650 compatible

 - misc: use preferred device_get_match_data()

* tag 'mailbox-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox:
  dt-bindings: mailbox: qcom-ipcc: document the SM8650 Inter-Processor Communication Controller
  mailbox: mtk-cmdq-mailbox: Implement Runtime PM with autosuspend
  mailbox: Use device_get_match_data()
  dt-bindings: zynqmp: add destination mailbox compatible
  dt-bindings: mailbox: qcom: add one more clock provider for IPQ mailbox
  mailbox: imx: support channel type tx doorbell v2
  dt-bindings: mailbox: fsl,mu: add new tx doorbell channel
parents 77fa2fbe 96cb7a4e
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -72,9 +72,9 @@ properties:
      type      : Channel type
      channel   : Channel number

      This MU support 5 type of unidirectional channels, each type
      This MU support 6 type of unidirectional channels, each type
      has 4 channels except RST channel which only has 1 channel.
      A total of 17 channels.  Following types are
      A total of 21 channels.  Following types are
      supported:
      0 - TX channel with 32bit transmit register and IRQ transmit
          acknowledgment support.
@@ -82,6 +82,7 @@ properties:
      2 - TX doorbell channel. Without own register and no ACK support.
      3 - RX doorbell channel.
      4 - RST channel
      5 - Tx doorbell channel. With S/W ACK from the other side.
    const: 2

  clocks:
+2 −0
Original line number Diff line number Diff line
@@ -125,10 +125,12 @@ allOf:
          items:
            - description: primary pll parent of the clock driver
            - description: XO clock
            - description: GCC GPLL0 clock source
        clock-names:
          items:
            - const: pll
            - const: xo
            - const: gpll0

  - if:
      properties:
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ properties:
          - qcom,sm8350-ipcc
          - qcom,sm8450-ipcc
          - qcom,sm8550-ipcc
          - qcom,sm8650-ipcc
      - const: qcom,ipcc

  reg:
+6 −0
Original line number Diff line number Diff line
@@ -74,6 +74,10 @@ patternProperties:
    type: object  # DT nodes are json objects
    additionalProperties: false
    properties:

      compatible:
        const: xlnx,zynqmp-ipi-dest-mailbox

      xlnx,ipi-id:
        description:
          Remote Xilinx IPI agent ID of which the mailbox is connected to.
@@ -95,6 +99,7 @@ patternProperties:
          - const: remote_response_region

    required:
      - compatible
      - reg
      - reg-names
      - "#mbox-cells"
@@ -124,6 +129,7 @@ examples:
        ranges;

        mailbox: mailbox@ff9905c0 {
          compatible = "xlnx,zynqmp-ipi-dest-mailbox";
          reg = <0x0 0xff9905c0 0x0 0x20>,
                <0x0 0xff9905e0 0x0 0x20>,
                <0x0 0xff990e80 0x0 0x20>,
+3 −7
Original line number Diff line number Diff line
@@ -33,10 +33,9 @@
#include <linux/interrupt.h>
#include <linux/wait.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/mailbox_controller.h>
#include <linux/mailbox/brcm-message.h>
@@ -1494,7 +1493,6 @@ static int pdc_dt_read(struct platform_device *pdev, struct pdc_state *pdcs)
{
	struct device *dev = &pdev->dev;
	struct device_node *dn = pdev->dev.of_node;
	const struct of_device_id *match;
	const int *hw_type;
	int err;

@@ -1509,11 +1507,9 @@ static int pdc_dt_read(struct platform_device *pdev, struct pdc_state *pdcs)

	pdcs->hw_type = PDC_HW;

	match = of_match_device(of_match_ptr(pdc_mbox_of_match), dev);
	if (match != NULL) {
		hw_type = match->data;
	hw_type = device_get_match_data(dev);
	if (hw_type)
		pdcs->hw_type = *hw_type;
	}

	return 0;
}
Loading