blob: 050b6ade2c55305201a40502692fd99424611e87 [file]
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2025 Linumiz GmbH
# Author: Sri Surya <srisurya@linumiz.com>
description: |
The Ambiq Apollo2 pin controller is responsible for controlling pin
function selection and pin properties such as routing UART0 TX to a
specific pin and enabling pull-ups.
This node uses the 'pinctrl' node label, so you can modify it like:
&pinctrl {
/* modifications here */
};
Example usage in a board or overlay:
#include <dt-bindings/pinctrl/ambiq-apollo2-pinctrl.h>
&pinctrl {
uart0_default: uart0_default {
group1 {
pinmux = <UART0TX_P15>;
};
group2 {
pinmux = <UART0RX_P14>;
input-enable;
};
};
};
Each pin group sets common configuration for pins in that group.
compatible: "ambiq,apollo2-pinctrl"
include: base.yaml
child-binding:
description: |
Definitions for a pinctrl state on Apollo2.
child-binding:
include:
- name: pincfg-node.yaml
property-allowlist:
- input-enable
- bias-pull-up
- drive-open-drain
properties:
pinmux:
required: true
type: array
description: |
An array of pins using the same group properties. Each element is
an encoded integer representing pin number and function.
drive-strength:
type: int
enum:
- 2
- 4
- 8
- 12
default: 2
description: |
Drive strength for the pin in mA.
ambiq,pull-up-ohms:
type: int
enum:
- 1500
- 6000
- 12000
- 24000
default: 1500
description: |
Pull-up resistance value in ohms.