dt-bindings: clock: socfpga: convert to yaml

Convert the clock device tree bindings to yaml for the Altera SoCFPGA
Cyclone5, Arria5, and Arria10 chip families. Since the clock nodes are
subnodes to Altera SOCFPGA Clock Manager, the yaml was added to
socfpga-clk-manager.yaml.

Signed-off-by: Matthew Gerlach <matthew.gerlach@altera.com>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
This commit is contained in:
Matthew Gerlach 2025-04-24 07:43:41 -07:00 committed by Arnd Bergmann
parent 6c265faf1a
commit 24822c4b47
2 changed files with 101 additions and 31 deletions

View File

@ -9,20 +9,120 @@ title: Altera SOCFPGA Clock Manager
maintainers:
- Dinh Nguyen <dinguyen@kernel.org>
description: test
description:
This binding describes the Altera SOCFGPA Clock Manager and its associated
tree of clocks, pll's, and clock gates for the Cyclone5, Arria5 and Arria10
chip families.
properties:
compatible:
items:
- const: altr,clk-mgr
reg:
maxItems: 1
clocks:
type: object
additionalProperties: false
properties:
"#address-cells":
const: 1
"#size-cells":
const: 0
patternProperties:
"^osc[0-9]$":
type: object
"^[a-z0-9,_]+(clk|pll|clk_gate|clk_divided)(@[a-f0-9]+)?$":
type: object
$ref: '#/$defs/clock-props'
unevaluatedProperties: false
properties:
compatible:
enum:
- altr,socfpga-pll-clock
- altr,socfpga-perip-clk
- altr,socfpga-gate-clk
- altr,socfpga-a10-pll-clock
- altr,socfpga-a10-perip-clk
- altr,socfpga-a10-gate-clk
- fixed-clock
clocks:
description: one or more phandles to input clock
minItems: 1
maxItems: 5
"#address-cells":
const: 1
"#size-cells":
const: 0
patternProperties:
"^[a-z0-9,_]+(clk|pll)(@[a-f0-9]+)?$":
type: object
$ref: '#/$defs/clock-props'
unevaluatedProperties: false
properties:
compatible:
enum:
- altr,socfpga-perip-clk
- altr,socfpga-gate-clk
- altr,socfpga-a10-perip-clk
- altr,socfpga-a10-gate-clk
clocks:
description: one or more phandles to input clock
minItems: 1
maxItems: 4
required:
- compatible
- clocks
- "#clock-cells"
required:
- compatible
- "#clock-cells"
required:
- compatible
- reg
additionalProperties: false
$defs:
clock-props:
properties:
reg:
maxItems: 1
"#clock-cells":
const: 0
clk-gate:
$ref: /schemas/types.yaml#/definitions/uint32-array
items:
- description: gating register offset
- description: bit index
div-reg:
$ref: /schemas/types.yaml#/definitions/uint32-array
items:
- description: divider register offset
- description: bit shift
- description: bit width
fixed-divider:
$ref: /schemas/types.yaml#/definitions/uint32
examples:
- |
clkmgr@ffd04000 {

View File

@ -1,30 +0,0 @@
Device Tree Clock bindings for Altera's SoCFPGA platform
This binding uses the common clock binding[1].
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
Required properties:
- compatible : shall be one of the following:
"altr,socfpga-pll-clock" - for a PLL clock
"altr,socfpga-perip-clock" - The peripheral clock divided from the
PLL clock.
"altr,socfpga-gate-clk" - Clocks that directly feed peripherals and
can get gated.
- reg : shall be the control register offset from CLOCK_MANAGER's base for the clock.
- clocks : shall be the input parent clock phandle for the clock. This is
either an oscillator or a pll output.
- #clock-cells : from common clock binding, shall be set to 0.
Optional properties:
- fixed-divider : If clocks have a fixed divider value, use this property.
- clk-gate : For "socfpga-gate-clk", clk-gate contains the gating register
and the bit index.
- div-reg : For "socfpga-gate-clk" and "socfpga-periph-clock", div-reg contains
the divider register, bit shift, and width.
- clk-phase : For the sdmmc_clk, contains the value of the clock phase that controls
the SDMMC CIU clock. The first value is the clk_sample(smpsel), and the second
value is the cclk_in_drv(drvsel). The clk-phase is used to enable the correct
hold/delay times that is needed for the SD/MMC CIU clock. The values of both
can be 0-315 degrees, in 45 degree increments.