Commit 1c88995d authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'sms911x-dts'

Geert Uytterhoeven says:

====================
sms911x: DTS fixes and DT binding to json-schema conversion

This patch series converts the Smart Mixed-Signal Connectivity (SMSC)
LAN911x/912x Controller Device Tree binding documentation to
json-schema, after fixing a few issues in DTS files.

Changed compared to v1[1]:
  - Dropped applied patches,
  - Add Reviewed-by,
  - Drop bogus double quotes in compatible values,
  - Add comment explaining why "additionalProperties: true" is needed.

[1] [PATCH 0/5] sms911x: DTS fixes and DT binding to json-schema conversion
    https://lore.kernel.org/r/cover.1621518686.git.geert+renesas@glider.be


====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 18a419ba 19373d02
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt

For the properties relevant to the ethernet controller connected to the GPMC
refer to the binding documentation of the device. For example, the documentation
for the SMSC 911x is Documentation/devicetree/bindings/net/smsc911x.txt
for the SMSC 911x is Documentation/devicetree/bindings/net/smsc,lan9115.yaml

Child nodes need to specify the GPMC bus address width using the "bank-width"
property but is possible that an ethernet controller also has a property to
+110 −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/smsc,lan9115.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller

maintainers:
  - Shawn Guo <shawnguo@kernel.org>

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

properties:
  compatible:
    oneOf:
      - const: smsc,lan9115
      - items:
          - enum:
              - smsc,lan89218
              - smsc,lan9117
              - smsc,lan9118
              - smsc,lan9220
              - smsc,lan9221
          - const: smsc,lan9115

  reg:
    maxItems: 1

  reg-shift: true

  reg-io-width:
    enum: [ 2, 4 ]
    default: 2

  interrupts:
    minItems: 1
    items:
      - description:
          LAN interrupt line
      - description:
          Optional PME (power management event) interrupt that is able to wake
          up the host system with a 50ms pulse on network activity

  clocks:
    maxItems: 1

  phy-mode: true

  smsc,irq-active-high:
    type: boolean
    description: Indicates the IRQ polarity is active-high

  smsc,irq-push-pull:
    type: boolean
    description: Indicates the IRQ type is push-pull

  smsc,force-internal-phy:
    type: boolean
    description: Forces SMSC LAN controller to use internal PHY

  smsc,force-external-phy:
    type: boolean
    description: Forces SMSC LAN controller to use external PHY

  smsc,save-mac-address:
    type: boolean
    description:
      Indicates that MAC address needs to be saved before resetting the
      controller

  reset-gpios:
    maxItems: 1
    description:
      A GPIO line connected to the RESET (active low) signal of the device.
      On many systems this is wired high so the device goes out of reset at
      power-on, but if it is under program control, this optional GPIO can
      wake up in response to it.

  vdd33a-supply:
    description: 3.3V analog power supply

  vddvario-supply:
    description: IO logic power supply

required:
  - compatible
  - reg
  - interrupts

# There are lots of bus-specific properties ("qcom,*", "samsung,*", "fsl,*",
# "gpmc,*", ...) to be found, that actually depend on the compatible value of
# the parent node.
additionalProperties: true

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    ethernet@f4000000 {
            compatible = "smsc,lan9220", "smsc,lan9115";
            reg = <0xf4000000 0x2000000>;
            phy-mode = "mii";
            interrupt-parent = <&gpio1>;
            interrupts = <31>, <32>;
            reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
            reg-io-width = <4>;
            smsc,irq-push-pull;
    };
+0 −43
Original line number Diff line number Diff line
* Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller

Required properties:
- compatible : Should be "smsc,lan<model>", "smsc,lan9115"
- reg : Address and length of the io space for SMSC LAN
- interrupts : one or two interrupt specifiers
  - The first interrupt is the SMSC LAN interrupt line
  - The second interrupt (if present) is the PME (power
    management event) interrupt that is able to wake up the host
     system with a 50ms pulse on network activity
- phy-mode : See ethernet.txt file in the same directory

Optional properties:
- reg-shift : Specify the quantity to shift the register offsets by
- reg-io-width : Specify the size (in bytes) of the IO accesses that
  should be performed on the device.  Valid value for SMSC LAN is
  2 or 4.  If it's omitted or invalid, the size would be 2.
- smsc,irq-active-high : Indicates the IRQ polarity is active-high
- smsc,irq-push-pull : Indicates the IRQ type is push-pull
- smsc,force-internal-phy : Forces SMSC LAN controller to use
  internal PHY
- smsc,force-external-phy : Forces SMSC LAN controller to use
  external PHY
- smsc,save-mac-address : Indicates that mac address needs to be saved
  before resetting the controller
- reset-gpios : a GPIO line connected to the RESET (active low) signal
  of the device. On many systems this is wired high so the device goes
  out of reset at power-on, but if it is under program control, this
  optional GPIO can wake up in response to it.
- vdd33a-supply, vddvario-supply : 3.3V analog and IO logic power supplies

Examples:

lan9220@f4000000 {
	compatible = "smsc,lan9220", "smsc,lan9115";
	reg = <0xf4000000 0x2000000>;
	phy-mode = "mii";
	interrupt-parent = <&gpio1>;
	interrupts = <31>, <32>;
	reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
	reg-io-width = <4>;
	smsc,irq-push-pull;
};
+1 −3
Original line number Diff line number Diff line
@@ -581,7 +581,7 @@
			 * EBI2. This has a 25MHz chrystal next to it, so no
			 * clocking is needed.
			 */
			ethernet-ebi2@2,0 {
			ethernet@2,0 {
				compatible = "smsc,lan9221", "smsc,lan9115";
				reg = <2 0x0 0x100>;
				/*
@@ -598,8 +598,6 @@
				phy-mode = "mii";
				reg-io-width = <2>;
				smsc,force-external-phy;
				/* IRQ on edge falling = active low */
				smsc,irq-active-low;
				smsc,irq-push-pull;

				/*