Commit 7da6ebf5 authored by Linus Walleij's avatar Linus Walleij Committed by Rob Herring
Browse files

dt-bindings: arm: Convert Gemini boards to YAML



This removes the old plaintext Gemini binding and replace it
with a YAML schema, adding some new boards in the process.
While we are at it, add the missing vendors to the vendor
prefix file.

Drop the overly deliberate description of subnodes and the big
example from the old document. Keep the elaborate description.

I noticed that "wiliboard" is not a real vendor, the vendor
is named "wiligear" so deprecated this and replaced with the
proper vendor.

Cc: Corentin Labbe <clabbe@baylibre.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20210723152356.1874088-1-linus.walleij@linaro.org


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 390436f1
Loading
Loading
Loading
Loading
+0 −108
Original line number Diff line number Diff line
Cortina systems Gemini platforms

The Gemini SoC is the project name for an ARMv4 FA525-based SoC originally
produced by Storlink Semiconductor around 2005. The company was renamed
later renamed Storm Semiconductor. The chip product name is Storlink SL3516.
It was derived from earlier products from Storm named SL3316 (Centroid) and
SL3512 (Bulverde).

Storm Semiconductor was acquired by Cortina Systems in 2008 and the SoC was
produced and used for NAS and similar usecases. In 2014 Cortina Systems was
in turn acquired by Inphi, who seem to have discontinued this product family.

Many of the IP blocks used in the SoC comes from Faraday Technology.

Required properties (in root node):
	compatible = "cortina,gemini";

Required nodes:

- soc: the SoC should be represented by a simple bus encompassing all the
  onchip devices, this is referred to as the soc bus node.

- syscon: the soc bus node must have a system controller node pointing to the
  global control registers, with the compatible string
  "cortina,gemini-syscon", "syscon";

  Required properties on the syscon:
  - reg: syscon register location and size.
  - #clock-cells: should be set to <1> - the system controller is also a
                  clock provider.
  - #reset-cells: should be set to <1> - the system controller is also a
                  reset line provider.

  The clock sources have shorthand defines in the include file:
  <dt-bindings/clock/cortina,gemini-clock.h>

  The reset lines have shorthand defines in the include file:
  <dt-bindings/reset/cortina,gemini-reset.h>

- timer: the soc bus node must have a timer node pointing to the SoC timer
  block, with the compatible string "cortina,gemini-timer"
  See: clocksource/cortina,gemini-timer.txt

- interrupt-controller: the sob bus node must have an interrupt controller
  node pointing to the SoC interrupt controller block, with the compatible
  string "cortina,gemini-interrupt-controller"
  See interrupt-controller/cortina,gemini-interrupt-controller.txt

Example:

/ {
	model = "Foo Gemini Machine";
	compatible = "cortina,gemini";
	#address-cells = <1>;
	#size-cells = <1>;

	memory {
		device_type = "memory";
		reg = <0x00000000 0x8000000>;
	};

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		compatible = "simple-bus";
		interrupt-parent = <&intcon>;

		syscon: syscon@40000000 {
			compatible = "cortina,gemini-syscon", "syscon";
			reg = <0x40000000 0x1000>;
			#clock-cells = <1>;
			#reset-cells = <1>;
		};

		uart0: serial@42000000 {
			compatible = "ns16550a";
			reg = <0x42000000 0x100>;
			resets = <&syscon GEMINI_RESET_UART>;
			clocks = <&syscon GEMINI_CLK_UART>;
			interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
			reg-shift = <2>;
		};

		timer@43000000 {
			compatible = "cortina,gemini-timer";
			reg = <0x43000000 0x1000>;
			interrupt-parent = <&intcon>;
			interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
				     <15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
				     <16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
			resets = <&syscon GEMINI_RESET_TIMER>;
			/* APB clock or RTC clock */
			clocks = <&syscon GEMINI_CLK_APB>,
				 <&syscon GEMINI_CLK_RTC>;
			clock-names = "PCLK", "EXTCLK";
			syscon = <&syscon>;
		};

		intcon: interrupt-controller@48000000 {
			compatible = "cortina,gemini-interrupt-controller";
			reg = <0x48000000 0x1000>;
			resets = <&syscon GEMINI_RESET_INTCON0>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};
	};
};
+95 −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/arm/gemini.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cortina systems Gemini platforms

description: |
  The Gemini SoC is the project name for an ARMv4 FA525-based SoC originally
  produced by Storlink Semiconductor around 2005. The company was renamed
  later renamed Storm Semiconductor. The chip product name is Storlink SL3516.
  It was derived from earlier products from Storm named SL3316 (Centroid) and
  SL3512 (Bulverde).

  Storm Semiconductor was acquired by Cortina Systems in 2008 and the SoC was
  produced and used for NAS and similar usecases. In 2014 Cortina Systems was
  in turn acquired by Inphi, who seem to have discontinued this product family.

  Many of the IP blocks used in the SoC comes from Faraday Technology.

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

properties:
  $nodename:
    const: '/'
  compatible:
    oneOf:

      - description: Storlink Semiconductor Gemini324 EV-Board also known
          as Storm Semiconductor SL93512R_BRD
        items:
          - const: storlink,gemini324
          - const: storm,sl93512r
          - const: cortina,gemini

      - description: D-Link DIR-685 Xtreme N Storage Router
        items:
          - const: dlink,dir-685
          - const: cortina,gemini

      - description: D-Link DNS-313 1-Bay Network Storage Enclosure
        items:
          - const: dlink,dns-313
          - const: cortina,gemini

      - description: Edimax NS-2502
        items:
          - const: edimax,ns-2502
          - const: cortina,gemini

      - description: ITian Square One SQ201
        items:
          - const: itian,sq201
          - const: cortina,gemini

      - description: Raidsonic NAS IB-4220-B
        items:
          - const: raidsonic,ib-4220-b
          - const: cortina,gemini

      - description: SSI 1328
        items:
          - const: ssi,1328
          - const: cortina,gemini

      - description: Teltonika RUT1xx Mobile Router
        items:
          - const: teltonika,rut1xx
          - const: cortina,gemini

      - description: Wiligear Wiliboard WBD-111
        items:
          - const: wiligear,wiliboard-wbd111
          - const: cortina,gemini

      - description: Wiligear Wiliboard WBD-222
        items:
          - const: wiligear,wiliboard-wbd222
          - const: cortina,gemini

      - description: Wiligear Wiliboard WBD-111 - old incorrect binding
        items:
          - const: wiliboard,wbd111
          - const: cortina,gemini
        deprecated: true

      - description: Wiligear Wiliboard WBD-222 - old incorrect binding
        items:
          - const: wiliboard,wbd222
          - const: cortina,gemini
        deprecated: true

additionalProperties: true
+10 −0
Original line number Diff line number Diff line
@@ -563,6 +563,8 @@ patternProperties:
    description: ITE Tech. Inc.
  "^itead,.*":
    description: ITEAD Intelligent Systems Co.Ltd
  "^itian,.*":
    description: ITian Corporation
  "^iwave,.*":
    description: iWave Systems Technologies Pvt. Ltd.
  "^jdi,.*":
@@ -1111,6 +1113,10 @@ patternProperties:
  "^st-ericsson,.*":
    description: ST-Ericsson
    deprecated: true
  "^storlink,.*":
    description: StorLink Semiconductors, Inc.
  "^storm,.*":
    description: Storm Semiconductor, Inc.
  "^summit,.*":
    description: Summit microelectronics
  "^sunchip,.*":
@@ -1143,6 +1149,8 @@ patternProperties:
    description: TechNexion
  "^technologic,.*":
    description: Technologic Systems
  "^teltonika,.*":
    description: Teltonika Networks
  "^tempo,.*":
    description: Tempo Semiconductor
  "^techstar,.*":
@@ -1268,6 +1276,8 @@ patternProperties:
    description: Shenzhen whwave Electronics, Inc.
  "^wi2wi,.*":
    description: Wi2Wi, Inc.
  "^wiligear,.*":
    description: Wiligear, Ltd.
  "^winbond,.*":
    description: Winbond Electronics corp.
  "^winstar,.*":