3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-02-12 02:05:54 +00:00
crowetic a94b3d14aa Brooklyn+ (PLUS) changes
Changes included (and more):

1. Dynamic RAM merge

2. Real-time page scan and allocation

3. Cache compression

4. Real-time IRQ checks

5. Dynamic I/O allocation for Java heap

6. Java page migration

7. Contiguous memory allocation

8. Idle pages tracking

9. Per CPU RAM usage tracking

10. ARM NEON scalar multiplication library

11. NEON/ARMv8 crypto extensions

12. NEON SHA, Blake, RIPEMD crypto extensions

13. Parallel NEON crypto engine for multi-algo based CPU stress reduction
2022-05-12 10:47:00 -07:00

121 lines
3.2 KiB
YAML

# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/pwm/pwm-samsung.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung SoC PWM timers
maintainers:
- Thierry Reding <thierry.reding@gmail.com>
- Krzysztof Kozlowski <krzk@kernel.org>
description: |+
Samsung SoCs contain PWM timer blocks which can be used for system clock source
and clock event timers, as well as to drive SoC outputs with PWM signal. Each
PWM timer block provides 5 PWM channels (not all of them can drive physical
outputs - see SoC and board manual).
Be aware that the clocksource driver supports only uniprocessor systems.
properties:
compatible:
enum:
- samsung,s3c2410-pwm # 16-bit, S3C24xx
- samsung,s3c6400-pwm # 32-bit, S3C64xx
- samsung,s5p6440-pwm # 32-bit, S5P64x0
- samsung,s5pc100-pwm # 32-bit, S5PC100, S5PV210, Exynos4210 rev0 SoCs
- samsung,exynos4210-pwm # 32-bit, Exynos
reg:
maxItems: 1
clocks:
minItems: 1
maxItems: 3
clock-names:
description: |
Should contain all following required clock names:
- "timers" - PWM base clock used to generate PWM signals,
and any subset of following optional clock names:
- "pwm-tclk0" - first external PWM clock source,
- "pwm-tclk1" - second external PWM clock source.
Note that not all IP variants allow using all external clock sources.
Refer to SoC documentation to learn which clock source configurations
are available.
oneOf:
- items:
- const: timers
- items:
- const: timers
- const: pwm-tclk0
- items:
- const: timers
- const: pwm-tclk1
- items:
- const: timers
- const: pwm-tclk0
- const: pwm-tclk1
interrupts:
description:
One interrupt per timer, starting at timer 0. Necessary only for SoCs which
use PWM clocksource.
minItems: 1
maxItems: 5
"#pwm-cells":
description:
The only third cell flag supported by this binding
is PWM_POLARITY_INVERTED.
const: 3
samsung,pwm-outputs:
description:
A list of PWM channels used as PWM outputs on particular platform.
It is an array of up to 5 elements being indices of PWM channels
(from 0 to 4), the order does not matter.
$ref: /schemas/types.yaml#/definitions/uint32-array
uniqueItems: true
items:
minimum: 0
maximum: 4
required:
- clocks
- clock-names
- compatible
- reg
additionalProperties: false
allOf:
- $ref: pwm.yaml#
- if:
properties:
compatible:
contains:
enum:
- samsung,s3c2410-pwm
- samsung,s3c6400-pwm
- samsung,s5p6440-pwm
- samsung,s5pc100-pwm
then:
required:
- interrupts
examples:
- |
pwm@7f006000 {
compatible = "samsung,s3c6400-pwm";
reg = <0x7f006000 0x1000>;
interrupt-parent = <&vic0>;
interrupts = <23>, <24>, <25>, <27>, <28>;
clocks = <&clock 67>;
clock-names = "timers";
samsung,pwm-outputs = <0>, <1>;
#pwm-cells = <3>;
};