mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-26 04:47:45 +00:00

Add common DTSI with common pin control configs for BCM21664/BCM23550 and include it in bcm2166x-common.dtsi. The configs are kept in a separate DTSI to keep things cleaner (pin config definitions take up quite a lot of space). Currently contains pins for BSC buses and SD/MMC; more pins can be added in the future. Signed-off-by: Artur Weber <aweber.kernel@gmail.com> Link: https://lore.kernel.org/r/20250303-bcm21664-pinctrl-v3-6-5f8b80e4ab51@gmail.com Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
298 lines
5.0 KiB
Plaintext
298 lines
5.0 KiB
Plaintext
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* Common pinmux configrations for BCM2166x (BCM21664/BCM23550).
|
|
*
|
|
* Copyright (C) 2025 Artur Weber <aweber.kernel@gmail.com>
|
|
*/
|
|
|
|
&pinctrl {
|
|
/* BSC1 */
|
|
bsc1_pins: bsc1-pins {
|
|
bsc1clk-grp0 {
|
|
pins = "bsc1clk";
|
|
function = "alt1"; /* BSC1CLK */
|
|
};
|
|
|
|
bsc1dat-grp0 {
|
|
pins = "bsc1dat";
|
|
function = "alt1"; /* BSC1DAT */
|
|
};
|
|
};
|
|
|
|
/* BSC2 */
|
|
bsc2_pins: bsc2-pins {
|
|
bsc2clk-grp0 {
|
|
pins = "gpio16";
|
|
function = "alt2"; /* BSC2CLK */
|
|
};
|
|
|
|
bsc2dat-grp0 {
|
|
pins = "gpio17";
|
|
function = "alt2"; /* BSC2DAT */
|
|
};
|
|
};
|
|
|
|
/* BSC3 */
|
|
bsc3_pins: bsc3-pins {
|
|
bsc3clk-grp0 {
|
|
pins = "lcdscl";
|
|
function = "alt1"; /* BSC3_CLK */
|
|
};
|
|
|
|
bsc3dat-grp0 {
|
|
pins = "lcdsda";
|
|
function = "alt1"; /* BSC3_SDA */
|
|
};
|
|
};
|
|
|
|
/* BSC4 */
|
|
bsc4_pins: bsc4-pins {
|
|
bsc4clk-grp0 {
|
|
pins = "lcdres";
|
|
function = "alt1"; /* BSC4_CLK */
|
|
};
|
|
|
|
bsc4dat-grp0 {
|
|
pins = "lcdte";
|
|
function = "alt1"; /* BSC4_SDA */
|
|
};
|
|
};
|
|
|
|
/* PMBSC */
|
|
pmbsc_pins: pmbsc-pins {
|
|
pmbscclk-grp0 {
|
|
pins = "pmbscclk";
|
|
function = "alt1"; /* PMBSCCLK */
|
|
};
|
|
|
|
pmbscdat-grp0 {
|
|
pins = "pmbscdat";
|
|
function = "alt1"; /* PMBSCDAT */
|
|
};
|
|
};
|
|
|
|
/* SD */
|
|
sd_width1_pins: sd-width1-pins {
|
|
sdck-grp0 {
|
|
pins = "sdck";
|
|
function = "alt1"; /* SDCK */
|
|
bias-disable;
|
|
};
|
|
|
|
sdcmd-grp0 {
|
|
pins = "sdcmd";
|
|
function = "alt1"; /* SDCMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
sddat-grp0 {
|
|
pins = "sddat0";
|
|
function = "alt1"; /* SDDATx */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
sd_width4_pins: sd-width4-pins {
|
|
sdck-grp0 {
|
|
pins = "sdck";
|
|
function = "alt1"; /* SDCK */
|
|
bias-disable;
|
|
};
|
|
|
|
sdcmd-grp0 {
|
|
pins = "sdcmd";
|
|
function = "alt1"; /* SDCMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
sddat-grp0 {
|
|
pins = "sddat0", "sddat1", "sddat2", "sddat3";
|
|
function = "alt1"; /* SDDATx */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
/* SD1 */
|
|
sd1_width1_pins: sd1-width1-pins {
|
|
sd1ck-grp0 {
|
|
pins = "mmc1dat7";
|
|
function = "alt6"; /* SD1CK */
|
|
bias-disable;
|
|
};
|
|
|
|
sd1cmd-grp0 {
|
|
pins = "spi0txd";
|
|
function = "alt2"; /* SD1CMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
sd1dat0-grp0 {
|
|
pins = "mmc1dat5";
|
|
function = "alt6"; /* SD1DAT0 */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
sd1_width4_pins: sd1-width4-pins {
|
|
sd1ck-grp0 {
|
|
pins = "mmc1dat7";
|
|
function = "alt6"; /* SD1CK */
|
|
bias-disable;
|
|
};
|
|
|
|
sd1cmd-grp0 {
|
|
pins = "spi0txd";
|
|
function = "alt2"; /* SD1CMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
sd1dat0-grp0 {
|
|
pins = "mmc1dat5";
|
|
function = "alt6"; /* SD1DAT0 */
|
|
bias-pull-up;
|
|
};
|
|
|
|
sd1dat1-grp0 {
|
|
pins = "gpio93";
|
|
function = "alt1"; /* SD1DAT1 */
|
|
bias-pull-up;
|
|
};
|
|
|
|
sd1dat2-grp0 {
|
|
pins = "gpio94";
|
|
function = "alt1"; /* SD1DAT2 */
|
|
bias-pull-up;
|
|
};
|
|
|
|
sd1dat3-grp0 {
|
|
pins = "mmc1dat3";
|
|
function = "alt6"; /* SD1DAT3 */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
/* MMC0 */
|
|
mmc0_width1_pins: mmc0-width1-pins {
|
|
mmc0ck-grp0 {
|
|
pins = "mmc0ck";
|
|
function = "alt1"; /* MMC0CK */
|
|
bias-disable;
|
|
};
|
|
|
|
mmc0cmd-grp0 {
|
|
pins = "mmc0cmd";
|
|
function = "alt1"; /* MMC0CMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
mmc0dat-grp0 {
|
|
pins = "mmc0dat0";
|
|
function = "alt1"; /* MMC0DATx */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
mmc0_width4_pins: mmc0-width4-pins {
|
|
mmc0ck-grp0 {
|
|
pins = "mmc0ck";
|
|
function = "alt1"; /* MMC0CK */
|
|
bias-disable;
|
|
};
|
|
|
|
mmc0cmd-grp0 {
|
|
pins = "mmc0cmd";
|
|
function = "alt1"; /* MMC0CMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
mmc0dat-grp0 {
|
|
pins = "mmc0dat0", "mmc0dat1", "mmc0dat2", "mmc0dat3";
|
|
function = "alt1"; /* MMC0DATx */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
mmc0_width8_pins: mmc0-width8-pins {
|
|
mmc0ck-grp0 {
|
|
pins = "mmc0ck";
|
|
function = "alt1"; /* MMC0CK */
|
|
bias-disable;
|
|
};
|
|
|
|
mmc0cmd-grp0 {
|
|
pins = "mmc0cmd";
|
|
function = "alt1"; /* MMC0CMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
mmc0dat-grp0 {
|
|
pins = "mmc0dat0", "mmc0dat1", "mmc0dat2", "mmc0dat3",
|
|
"mmc0dat4", "mmc0dat5", "mmc0dat6", "mmc0dat7";
|
|
function = "alt1"; /* MMC0DATx */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
/* MMC1 */
|
|
mmc1_width1_pins: mmc1-width1-pins {
|
|
mmc1ck-grp0 {
|
|
pins = "mmc1ck";
|
|
function = "alt1"; /* MMC1CK */
|
|
bias-disable;
|
|
};
|
|
|
|
mmc1cmd-grp0 {
|
|
pins = "mmc1cmd";
|
|
function = "alt1"; /* MMC1CMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
mmc1dat-grp0 {
|
|
pins = "mmc1dat0";
|
|
function = "alt1"; /* MMC1DATx */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
mmc1_width4_pins: mmc1-width4-pins {
|
|
mmc1ck-grp0 {
|
|
pins = "mmc1ck";
|
|
function = "alt1"; /* MMC1CK */
|
|
bias-disable;
|
|
};
|
|
|
|
mmc1cmd-grp0 {
|
|
pins = "mmc1cmd";
|
|
function = "alt1"; /* MMC1CMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
mmc1dat-grp0 {
|
|
pins = "mmc1dat0", "mmc1dat1", "mmc1dat2", "mmc1dat3";
|
|
function = "alt1"; /* MMC1DATx */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
mmc1_width8_pins: mmc1-width8-pins {
|
|
mmc1ck-grp0 {
|
|
pins = "mmc1ck";
|
|
function = "alt1"; /* MMC1CK */
|
|
bias-disable;
|
|
};
|
|
|
|
mmc1cmd-grp0 {
|
|
pins = "mmc1cmd";
|
|
function = "alt1"; /* MMC1CMD */
|
|
bias-pull-up;
|
|
};
|
|
|
|
mmc1dat-grp0 {
|
|
pins = "mmc1dat0", "mmc1dat1", "mmc1dat2", "mmc1dat3",
|
|
"mmc1dat4", "mmc1dat5", "mmc1dat6", "mmc1dat7";
|
|
function = "alt1"; /* MMC1DATx */
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
};
|