The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/arm/gemini.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 Cortina systems Gemini platforms
    2 
    3 The Gemini SoC is the project name for an ARMv4 FA525-based SoC originally
    4 produced by Storlink Semiconductor around 2005. The company was renamed
    5 later renamed Storm Semiconductor. The chip product name is Storlink SL3516.
    6 It was derived from earlier products from Storm named SL3316 (Centroid) and
    7 SL3512 (Bulverde).
    8 
    9 Storm Semiconductor was acquired by Cortina Systems in 2008 and the SoC was
   10 produced and used for NAS and similar usecases. In 2014 Cortina Systems was
   11 in turn acquired by Inphi, who seem to have discontinued this product family.
   12 
   13 Many of the IP blocks used in the SoC comes from Faraday Technology.
   14 
   15 Required properties (in root node):
   16         compatible = "cortina,gemini";
   17 
   18 Required nodes:
   19 
   20 - soc: the SoC should be represented by a simple bus encompassing all the
   21   onchip devices, this is referred to as the soc bus node.
   22 
   23 - syscon: the soc bus node must have a system controller node pointing to the
   24   global control registers, with the compatible string
   25   "cortina,gemini-syscon", "syscon";
   26 
   27   Required properties on the syscon:
   28   - reg: syscon register location and size.
   29   - #clock-cells: should be set to <1> - the system controller is also a
   30                   clock provider.
   31   - #reset-cells: should be set to <1> - the system controller is also a
   32                   reset line provider.
   33 
   34   The clock sources have shorthand defines in the include file:
   35   <dt-bindings/clock/cortina,gemini-clock.h>
   36 
   37   The reset lines have shorthand defines in the include file:
   38   <dt-bindings/reset/cortina,gemini-reset.h>
   39 
   40 - timer: the soc bus node must have a timer node pointing to the SoC timer
   41   block, with the compatible string "cortina,gemini-timer"
   42   See: clocksource/cortina,gemini-timer.txt
   43 
   44 - interrupt-controller: the sob bus node must have an interrupt controller
   45   node pointing to the SoC interrupt controller block, with the compatible
   46   string "cortina,gemini-interrupt-controller"
   47   See interrupt-controller/cortina,gemini-interrupt-controller.txt
   48 
   49 Example:
   50 
   51 / {
   52         model = "Foo Gemini Machine";
   53         compatible = "cortina,gemini";
   54         #address-cells = <1>;
   55         #size-cells = <1>;
   56 
   57         memory {
   58                 device_type = "memory";
   59                 reg = <0x00000000 0x8000000>;
   60         };
   61 
   62         soc {
   63                 #address-cells = <1>;
   64                 #size-cells = <1>;
   65                 ranges;
   66                 compatible = "simple-bus";
   67                 interrupt-parent = <&intcon>;
   68 
   69                 syscon: syscon@40000000 {
   70                         compatible = "cortina,gemini-syscon", "syscon";
   71                         reg = <0x40000000 0x1000>;
   72                         #clock-cells = <1>;
   73                         #reset-cells = <1>;
   74                 };
   75 
   76                 uart0: serial@42000000 {
   77                         compatible = "ns16550a";
   78                         reg = <0x42000000 0x100>;
   79                         resets = <&syscon GEMINI_RESET_UART>;
   80                         clocks = <&syscon GEMINI_CLK_UART>;
   81                         interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
   82                         reg-shift = <2>;
   83                 };
   84 
   85                 timer@43000000 {
   86                         compatible = "cortina,gemini-timer";
   87                         reg = <0x43000000 0x1000>;
   88                         interrupt-parent = <&intcon>;
   89                         interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
   90                                      <15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
   91                                      <16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
   92                         resets = <&syscon GEMINI_RESET_TIMER>;
   93                         /* APB clock or RTC clock */
   94                         clocks = <&syscon GEMINI_CLK_APB>,
   95                                  <&syscon GEMINI_CLK_RTC>;
   96                         clock-names = "PCLK", "EXTCLK";
   97                         syscon = <&syscon>;
   98                 };
   99 
  100                 intcon: interrupt-controller@48000000 {
  101                         compatible = "cortina,gemini-interrupt-controller";
  102                         reg = <0x48000000 0x1000>;
  103                         resets = <&syscon GEMINI_RESET_INTCON0>;
  104                         interrupt-controller;
  105                         #interrupt-cells = <2>;
  106                 };
  107         };
  108 };

Cache object: 9b714fbfcb7e51529f25622a1ecffaeb


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.