7f1bcdba5e
Add bindings for SAM9X7's pmc. Signed-off-by: Varshini Rajendran <varshini.rajendran@microchip.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev> Link: https://lore.kernel.org/r/20240729070726.1990705-1-varshini.rajendran@microchip.com Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
157 lines
3.8 KiB
YAML
157 lines
3.8 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/clock/atmel,at91rm9200-pmc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Atmel Power Management Controller (PMC)
|
|
|
|
maintainers:
|
|
- Claudiu Beznea <claudiu.beznea@microchip.com>
|
|
|
|
description:
|
|
The power management controller optimizes power consumption by controlling all
|
|
system and user peripheral clocks. The PMC enables/disables the clock inputs
|
|
to many of the peripherals and to the processor.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- const: atmel,at91sam9g20-pmc
|
|
- const: atmel,at91sam9260-pmc
|
|
- const: syscon
|
|
- items:
|
|
- enum:
|
|
- atmel,at91sam9g15-pmc
|
|
- atmel,at91sam9g25-pmc
|
|
- atmel,at91sam9g35-pmc
|
|
- atmel,at91sam9x25-pmc
|
|
- atmel,at91sam9x35-pmc
|
|
- const: atmel,at91sam9x5-pmc
|
|
- const: syscon
|
|
- items:
|
|
- enum:
|
|
- atmel,at91rm9200-pmc
|
|
- atmel,at91sam9260-pmc
|
|
- atmel,at91sam9g45-pmc
|
|
- atmel,at91sam9n12-pmc
|
|
- atmel,at91sam9rl-pmc
|
|
- atmel,at91sam9x5-pmc
|
|
- atmel,sama5d2-pmc
|
|
- atmel,sama5d3-pmc
|
|
- atmel,sama5d4-pmc
|
|
- microchip,sam9x60-pmc
|
|
- microchip,sam9x7-pmc
|
|
- microchip,sama7g5-pmc
|
|
- const: syscon
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
"#clock-cells":
|
|
description: |
|
|
- 1st cell is the clock type, one of PMC_TYPE_CORE, PMC_TYPE_SYSTEM,
|
|
PMC_TYPE_PERIPHERAL, PMC_TYPE_GCK, PMC_TYPE_PROGRAMMABLE (as defined
|
|
in <dt-bindings/clock/at91.h>)
|
|
- 2nd cell is the clock identifier as defined in <dt-bindings/clock/at91.h
|
|
(for core clocks) or as defined in datasheet (for system, peripheral,
|
|
gck and programmable clocks).
|
|
const: 2
|
|
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 3
|
|
|
|
clock-names:
|
|
minItems: 2
|
|
maxItems: 3
|
|
|
|
atmel,osc-bypass:
|
|
description: set when a clock signal is directly provided on XIN
|
|
type: boolean
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- "#clock-cells"
|
|
- clocks
|
|
- clock-names
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- microchip,sam9x60-pmc
|
|
- microchip,sam9x7-pmc
|
|
- microchip,sama7g5-pmc
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 3
|
|
maxItems: 3
|
|
clock-names:
|
|
items:
|
|
- const: td_slck
|
|
- const: md_slck
|
|
- const: main_xtal
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- atmel,at91rm9200-pmc
|
|
- atmel,at91sam9260-pmc
|
|
- atmel,at91sam9g20-pmc
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: slow_xtal
|
|
- const: main_xtal
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- atmel,sama5d2-pmc
|
|
- atmel,sama5d3-pmc
|
|
- atmel,sama5d4-pmc
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: slow_clk
|
|
- const: main_xtal
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
pmc: clock-controller@f0018000 {
|
|
compatible = "atmel,sama5d4-pmc", "syscon";
|
|
reg = <0xf0018000 0x120>;
|
|
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
|
#clock-cells = <2>;
|
|
clocks = <&clk32k>, <&main_xtal>;
|
|
clock-names = "slow_clk", "main_xtal";
|
|
};
|
|
|
|
...
|