mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-20 11:55:03 +00:00
doc: Add dt-bindings and descriptions for ADI SC5xx-family pinctrl
This adds the necessary dt-bindings and documentation to use the ADI SC5xx pinctrl driver in a device tree. It is not yet available upstream in the Linux kernel. Eventually, it will be moved there. Signed-off-by: Vasileios Bimpikas <vasileios.bimpikas@analog.com> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> Signed-off-by: Arturs Artamonovs <arturs.artamonovs@analog.com> Signed-off-by: Greg Malysa <malysagreg@gmail.com>
This commit is contained in:
parent
79ccd6c7dc
commit
a0ffd8d7cd
3 changed files with 96 additions and 0 deletions
|
@ -629,12 +629,14 @@ F: arch/arm/mach-sc5xx/
|
||||||
F: board/adi/
|
F: board/adi/
|
||||||
F: doc/device-tree-bindings/arm/adi/adi,sc5xx.yaml
|
F: doc/device-tree-bindings/arm/adi/adi,sc5xx.yaml
|
||||||
F: doc/device-tree-bindings/clock/adi,sc5xx-clocks.yaml
|
F: doc/device-tree-bindings/clock/adi,sc5xx-clocks.yaml
|
||||||
|
F: doc/device-tree-bindings/pinctrl/adi,adsp-pinctrl.yaml
|
||||||
F: doc/device-tree-bindings/timer/adi,sc5xx-gptimer.yaml
|
F: doc/device-tree-bindings/timer/adi,sc5xx-gptimer.yaml
|
||||||
F: drivers/clk/adi/
|
F: drivers/clk/adi/
|
||||||
F: drivers/pinctrl/pinctrl-adi-adsp.c
|
F: drivers/pinctrl/pinctrl-adi-adsp.c
|
||||||
F: drivers/serial/serial_adi_uart4.c
|
F: drivers/serial/serial_adi_uart4.c
|
||||||
F: drivers/timer/adi_sc5xx_timer.c
|
F: drivers/timer/adi_sc5xx_timer.c
|
||||||
F: include/configs/sc5*
|
F: include/configs/sc5*
|
||||||
|
F: include/dt-bindings/pinctrl/adi-adsp.h
|
||||||
F: include/env/adi/
|
F: include/env/adi/
|
||||||
|
|
||||||
ARM SNAPDRAGON
|
ARM SNAPDRAGON
|
||||||
|
|
73
doc/device-tree-bindings/pinctrl/adi,adsp-pinctrl.yaml
Normal file
73
doc/device-tree-bindings/pinctrl/adi,adsp-pinctrl.yaml
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/pinctrl/adi,adsp-pinctrl.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Pinctrl Driver for Analog Devices SC5xx Processors
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Vasileios Bimpikas <vasileios.bimpikas@analog.com>
|
||||||
|
- Utsav Agarwal <utsav.agarwal@analog.com>
|
||||||
|
- Arturs Artamonovs <arturs.artamonovs@analog.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This driver provides an interface for performing pin configuration
|
||||||
|
Analog Devices SoCs using the ADSP PORT hardware for pin
|
||||||
|
configuration according to the HRM. Currently this is only the
|
||||||
|
SC5xx series.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: adi,adsp-pinctrl
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
adi,npins:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description:
|
||||||
|
Total number of pins available to this SoC's pin controller,
|
||||||
|
found in the HRM.
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
'_pins$':
|
||||||
|
type: object
|
||||||
|
|
||||||
|
properties:
|
||||||
|
adi,pins:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||||
|
description:
|
||||||
|
For n pins, 2n values must be provided as a sequence of pin
|
||||||
|
name as identified with the ADI_ADSP_PIN() macro and a pin
|
||||||
|
function constant, both defined in
|
||||||
|
include/dt-bindings/pinctrl/adi-adsp.h.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- adi,pins
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- adi,npins
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/pinctrl/adi-adsp.h>
|
||||||
|
|
||||||
|
soc {
|
||||||
|
pinctrl0: pinctrl@0x31004000 {
|
||||||
|
compatible = "adi,adsp-pinctrl";
|
||||||
|
reg = <0x31004000 0x500>;
|
||||||
|
adi,npins = <135>;
|
||||||
|
uart0_default: uart0_pins {
|
||||||
|
adi,pins = <ADI_ADSP_PIN('A', 6) ADI_ADSP_PINFUNC_ALT1>,
|
||||||
|
<ADI_ADSP_PIN('A', 7) ADI_ADSP_PINFUNC_ALT1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
21
include/dt-bindings/pinctrl/adi-adsp.h
Normal file
21
include/dt-bindings/pinctrl/adi-adsp.h
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||||
|
/*
|
||||||
|
* (C) Copyright 2022 - Analog Devices, Inc.
|
||||||
|
*
|
||||||
|
* Written and/or maintained by Timesys Corporation
|
||||||
|
*
|
||||||
|
* Contact: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
|
||||||
|
* Contact: Greg Malysa <greg.malysa@timesys.com>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef DT_BINDINGS_PINCTRL_ADI_ADSP
|
||||||
|
#define DT_BINDINGS_PINCTRL_ADI_ADSP
|
||||||
|
|
||||||
|
#define ADI_ADSP_PIN(port, pin) (16 * ((port) - 'A') + (pin))
|
||||||
|
#define ADI_ADSP_PINFUNC_ALT0 0
|
||||||
|
#define ADI_ADSP_PINFUNC_ALT1 1
|
||||||
|
#define ADI_ADSP_PINFUNC_ALT2 2
|
||||||
|
#define ADI_ADSP_PINFUNC_ALT3 3
|
||||||
|
|
||||||
|
#endif
|
Loading…
Add table
Reference in a new issue