soc: dts: pinctrl: support the configurations which apply for LVDS pads

support the configurations which apply for LVDS pads
+ termination resistor
+ current reference control
+ rx current boost

Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
This commit is contained in:
Tu Nguyen Van 2024-09-09 14:26:25 +07:00 committed by Henrik Brix Andersen
commit 81f889d297
2 changed files with 34 additions and 8 deletions

View file

@ -1,4 +1,4 @@
# Copyright 2022 NXP # Copyright 2022, 2024 NXP
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
description: | description: |
@ -57,13 +57,13 @@ description: |
- internal pull not enabled - internal pull not enabled
- open drain disabled - open drain disabled
- slew rate 4 (see description in property below). - slew rate 4 (see description in property below).
- termination resistor disabled (affect LVDS pads only).
- current reference control disabled (affect LVDS pads only).
- Rx current boost disabled (affect LVDS pads only).
Additionally, Safe Mode is always disabled (reset value) and configuration that Additionally:
only applies to LVDS pads, which are not supported, default to reset values: - Safe Mode is always kept as reset value (disabled).
- termination resistor disabled - Receiver Select is always kept as reset value (enables the differential vref based receiver).
- receiver single ended
- current reference control disabled
- Rx current boost disabled.
compatible: "nxp,s32ze-pinctrl" compatible: "nxp,s32ze-pinctrl"
@ -116,3 +116,26 @@ child-binding:
5: FMAX_33 = 50 MHz 5: FMAX_33 = 50 MHz
6: FMAX_33 = 50 MHz 6: FMAX_33 = 50 MHz
7: FMAX_33 = 1 MHz 7: FMAX_33 = 1 MHz
nxp,current-reference-control:
type: boolean
description: |
This configuration applies the current reference control to
the associated pin. It is only applicable to LVDS pads and
has no effect on other types of pads
nxp,termination-resistor:
type: boolean
description: |
This configuration applies the termination resistor to
the associated pin. It is only applicable to LVDS pads and
has no effect on other types of pads
nxp,rx-current-boost:
type: boolean
description: |
RX LVDS Current Boost
Boosts RX IO current. It is only applicable to LVDS pads and
has no effect on other types of pads
0: Current reference is 200 μA; supports data rate up to 320 Mbaud
1: Current reference is 1 mA; supports data rate up to 420 Mbaud

View file

@ -53,7 +53,10 @@
SIUL2_MSCR_PUS(DT_PROP(group, bias_pull_up)) | \ SIUL2_MSCR_PUS(DT_PROP(group, bias_pull_up)) | \
SIUL2_MSCR_SRE(DT_PROP(group, slew_rate)) | \ SIUL2_MSCR_SRE(DT_PROP(group, slew_rate)) | \
SIUL2_MSCR_ODE(DT_PROP(group, drive_open_drain) && \ SIUL2_MSCR_ODE(DT_PROP(group, drive_open_drain) && \
DT_PROP(group, output_enable)) \ DT_PROP(group, output_enable)) | \
SIUL2_MSCR_TRC(DT_PROP(group, nxp_termination_resistor)) | \
SIUL2_MSCR_CREF(DT_PROP(group, nxp_current_reference_control)) | \
SIUL2_MSCR_RXCB(DT_PROP(group, nxp_rx_current_boost)) \
}, \ }, \
.imcr = { \ .imcr = { \
.inst = NXP_S32_PINMUX_GET_IMCR_SIUL2_IDX(value), \ .inst = NXP_S32_PINMUX_GET_IMCR_SIUL2_IDX(value), \