Commit 1546cd4b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ata updates from Damien Le Moal:

 - Add support for the .remove_new callback to the ata_platform code to
   simplify device removal interface (Uwe)

 - Code simplification in ata_dev_revalidate() (Yahu)

 - Fix code indentation and coding style in the pata_parport protocol
   modules to avoid warnings from static code analyzers (me)

 - Clarify ata_eh_qc_retry() behavior with better comments (Niklas)

 - Simplify and improve ata_change_queue_depth() behavior to have a
   consistent behavior between libsas managed devices and libata managed
   devices (e.g. AHCI connected devices) (me)

 - Cleanup libata-scsi and libata-eh code to use the ata_ncq_enabled()
   and ata_ncq_supported() helpers instead of open coding flags tests
   (me)

 - Cleanup ahci_reset_controller() code (me)

 - Change the pata_octeon_cf and sata_svw drivers to use
   of_property_read_reg() to simplify the code (Rob, me)

 - Remove unnecessary include files from ahci_octeon driver (me)

 - Modify the DesignWare ahci dt bindings to add support for the
   Rockchip RK3588 AHCI (Sebastian)

* tag 'ata-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (29 commits)
  dt-bindings: phy: rockchip: rk3588 has two reset lines
  dt-bindings: ata: dwc-ahci: add Rockchip RK3588
  dt-bindings: ata: dwc-ahci: add PHY clocks
  ata: ahci_octeon: Remove unnecessary include
  ata: pata_octeon_cf: Add missing header include
  ata: ahci: Cleanup ahci_reset_controller()
  ata: Use of_property_read_reg() to parse "reg"
  ata: libata-scsi: Use ata_ncq_supported in ata_scsi_dev_config()
  ata: libata-eh: Use ata_ncq_enabled() in ata_eh_speed_down()
  ata: libata-sata: Improve ata_change_queue_depth()
  ata: libata-sata: Simplify ata_change_queue_depth()
  ata: libata-eh: Clarify ata_eh_qc_retry() behavior at call site
  ata: pata_parport: Fix on26 module code indentation and style
  ata: pata_parport: Fix on20 module code indentation and style
  ata: pata_parport: Fix ktti module code indentation and style
  ata: pata_parport: Fix kbic module code indentation and style
  ata: pata_parport: Fix friq module code indentation and style
  ata: pata_parport: Fix fit3 module code indentation and style
  ata: pata_parport: Fix fit2 module code indentation and style
  ata: pata_parport: Fix epia module code indentation and style
  ...
parents b30d7a77 fd3ac6e8
Loading
Loading
Loading
Loading
+124 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/ata/rockchip,dwc-ahci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Synopsys DWC AHCI SATA controller for Rockchip devices

maintainers:
  - Serge Semin <fancer.lancer@gmail.com>

description:
  This document defines device tree bindings for the Synopsys DWC
  implementation of the AHCI SATA controller found in Rockchip
  devices.

select:
  properties:
    compatible:
      contains:
        enum:
          - rockchip,rk3568-dwc-ahci
          - rockchip,rk3588-dwc-ahci
  required:
    - compatible

properties:
  compatible:
    items:
      - enum:
          - rockchip,rk3568-dwc-ahci
          - rockchip,rk3588-dwc-ahci
      - const: snps,dwc-ahci

  ports-implemented:
    const: 1

  sata-port@0:
    $ref: /schemas/ata/snps,dwc-ahci-common.yaml#/$defs/dwc-ahci-port

    properties:
      reg:
        const: 0

    unevaluatedProperties: false

patternProperties:
  "^sata-port@[1-9a-e]$": false

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - ports-implemented

allOf:
  - $ref: snps,dwc-ahci-common.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - rockchip,rk3588-dwc-ahci
    then:
      properties:
        clocks:
          maxItems: 5
        clock-names:
          items:
            - const: sata
            - const: pmalive
            - const: rxoob
            - const: ref
            - const: asic
  - if:
      properties:
        compatible:
          contains:
            enum:
              - rockchip,rk3568-dwc-ahci
    then:
      properties:
        clocks:
          maxItems: 3
        clock-names:
          items:
            - const: sata
            - const: pmalive
            - const: rxoob

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/rockchip,rk3588-cru.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/ata/ahci.h>
    #include <dt-bindings/phy/phy.h>

    sata@fe210000 {
      compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci";
      reg = <0xfe210000 0x1000>;
      clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>,
               <&cru CLK_RXOOB0>, <&cru CLK_PIPEPHY0_REF>,
               <&cru CLK_PIPEPHY0_PIPE_ASIC_G>;
      clock-names = "sata", "pmalive", "rxoob", "ref", "asic";
      interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH 0>;
      ports-implemented = <0x1>;
      #address-cells = <1>;
      #size-cells = <0>;

      sata-port@0 {
        reg = <0>;
        hba-port-cap = <HBA_PORT_FBSCP>;
        phys = <&combphy0_ps PHY_TYPE_SATA>;
        phy-names = "sata-phy";
        snps,rx-ts-max = <32>;
        snps,tx-ts-max = <32>;
      };
    };

...
+6 −2
Original line number Original line Diff line number Diff line
@@ -31,11 +31,11 @@ properties:
      PM-alive clock, RxOOB detection clock, embedded PHYs reference (Rx/Tx)
      PM-alive clock, RxOOB detection clock, embedded PHYs reference (Rx/Tx)
      clock, etc.
      clock, etc.
    minItems: 1
    minItems: 1
    maxItems: 4
    maxItems: 6


  clock-names:
  clock-names:
    minItems: 1
    minItems: 1
    maxItems: 4
    maxItems: 6
    items:
    items:
      oneOf:
      oneOf:
        - description: Application APB/AHB/AXI BIU clock
        - description: Application APB/AHB/AXI BIU clock
@@ -48,6 +48,10 @@ properties:
          const: pmalive
          const: pmalive
        - description: RxOOB detection clock
        - description: RxOOB detection clock
          const: rxoob
          const: rxoob
        - description: PHY Transmit Clock
          const: asic
        - description: PHY Receive Clock
          const: rbc
        - description: SATA Ports reference clock
        - description: SATA Ports reference clock
          const: ref
          const: ref


+9 −4
Original line number Original line Diff line number Diff line
@@ -13,6 +13,15 @@ description:
  This document defines device tree bindings for the generic Synopsys DWC
  This document defines device tree bindings for the generic Synopsys DWC
  implementation of the AHCI SATA controller.
  implementation of the AHCI SATA controller.


select:
  properties:
    compatible:
      enum:
        - snps,dwc-ahci
        - snps,spear-ahci
  required:
    - compatible

allOf:
allOf:
  - $ref: snps,dwc-ahci-common.yaml#
  - $ref: snps,dwc-ahci-common.yaml#


@@ -23,10 +32,6 @@ properties:
        const: snps,dwc-ahci
        const: snps,dwc-ahci
      - description: SPEAr1340 AHCI SATA device
      - description: SPEAr1340 AHCI SATA device
        const: snps,spear-ahci
        const: snps,spear-ahci
      - description: Rockhip RK3568 AHCI controller
        items:
          - const: rockchip,rk3568-dwc-ahci
          - const: snps,dwc-ahci


patternProperties:
patternProperties:
  "^sata-port@[0-9a-e]$":
  "^sata-port@[0-9a-e]$":
+33 −1
Original line number Original line Diff line number Diff line
@@ -31,8 +31,14 @@ properties:
      - const: pipe
      - const: pipe


  resets:
  resets:
    minItems: 1
    maxItems: 2

  reset-names:
    minItems: 1
    items:
    items:
      - description: exclusive PHY reset line
      - const: phy
      - const: apb


  rockchip,enable-ssc:
  rockchip,enable-ssc:
    type: boolean
    type: boolean
@@ -78,6 +84,32 @@ required:
  - rockchip,pipe-phy-grf
  - rockchip,pipe-phy-grf
  - "#phy-cells"
  - "#phy-cells"


allOf:
  - if:
      properties:
        compatible:
          contains:
            const: rockchip,rk3568-naneng-combphy
    then:
      properties:
        resets:
          maxItems: 1
        reset-names:
          maxItems: 1
  - if:
      properties:
        compatible:
          contains:
            const: rockchip,rk3588-naneng-combphy
    then:
      properties:
        resets:
          minItems: 2
        reset-names:
          minItems: 2
      required:
        - reset-names

additionalProperties: false
additionalProperties: false


examples:
examples:
+3 −3
Original line number Original line Diff line number Diff line
@@ -544,7 +544,7 @@ static int brcm_ahci_probe(struct platform_device *pdev)
	return ret;
	return ret;
}
}


static int brcm_ahci_remove(struct platform_device *pdev)
static void brcm_ahci_remove(struct platform_device *pdev)
{
{
	struct ata_host *host = dev_get_drvdata(&pdev->dev);
	struct ata_host *host = dev_get_drvdata(&pdev->dev);
	struct ahci_host_priv *hpriv = host->private_data;
	struct ahci_host_priv *hpriv = host->private_data;
@@ -552,7 +552,7 @@ static int brcm_ahci_remove(struct platform_device *pdev)


	brcm_sata_phys_disable(priv);
	brcm_sata_phys_disable(priv);


	return ata_platform_remove_one(pdev);
	ata_platform_remove_one(pdev);
}
}


static void brcm_ahci_shutdown(struct platform_device *pdev)
static void brcm_ahci_shutdown(struct platform_device *pdev)
@@ -573,7 +573,7 @@ static SIMPLE_DEV_PM_OPS(ahci_brcm_pm_ops, brcm_ahci_suspend, brcm_ahci_resume);


static struct platform_driver brcm_ahci_driver = {
static struct platform_driver brcm_ahci_driver = {
	.probe = brcm_ahci_probe,
	.probe = brcm_ahci_probe,
	.remove = brcm_ahci_remove,
	.remove_new = brcm_ahci_remove,
	.shutdown = brcm_ahci_shutdown,
	.shutdown = brcm_ahci_shutdown,
	.driver = {
	.driver = {
		.name = DRV_NAME,
		.name = DRV_NAME,
Loading