Files
zephyr/boards/infineon/kit_pse84_eval/kit_pse84_eval_m55.dts
Kevin Chan 0c950801d3 drivers: sdhc: add SDHC driver for PSE84 & cy8cproto_062_4343w
- add SDHC driver code to support both SDMMC and SDIO fucntion
- add SDHC dts node and Kconfig
- add clock configuration for SDHC

Signed-off-by: Kevin Chan <kevin.chan3@infineon.com>
2026-01-23 10:41:07 +01:00

129 lines
2.7 KiB
Plaintext

/*
* Copyright (c) 2025 Infineon Technologies AG,
* or an affiliate of Infineon Technologies AG.
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <infineon/edge/mpns/pse846gps2dbzc4a.dtsi>
#include <infineon/edge/pse84/pse84.cm55.dtsi>
#include <infineon/edge/pse84/system_clocks.dtsi>
#include "kit_pse84_eval_common.dtsi"
#include "kit_pse84_eval_memory_map.dtsi"
/ {
model = "kit_pse84_eval";
compatible = "kit_pse84_eval";
aliases {
led0 = &led_red;
led1 = &led_green;
led2 = &led_blue;
};
chosen {
/* m55_xip is used in the pse84_boot.c file for m55 core startup
* If a different region is assigned here, it also needs to be updated at:
* soc/infineon/edge/pse84/security_config/pse84_boot.c
*/
zephyr,flash = &m55_xip;
zephyr,sram = &m55_data;
zephyr,console = &uart2;
zephyr,shell-uart = &uart2;
zephyr,dtcm = &dtcm;
zephyr,itcm = &itcm;
};
power-states {
sleep: sleep {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
min-residency-us = <1000000>;
};
deepsleep: deepsleep {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-ram";
min-residency-us = <2000000>;
exit-latency-us = <20>;
};
};
cpus {
cpu@1 {
cpu-power-states = <&sleep &deepsleep>;
};
};
};
&mcwdt1 {
status = "okay";
};
&peri1_group2_8bit_0 {
status = "okay";
resource-type = <IFX_RSC_SDHC>;
resource-instance = <0>;
clock-div = <2>;
};
&peri1_group3_8bit_0 {
status = "okay";
resource-type = <IFX_RSC_SDHC>;
resource-instance = <1>;
clock-div = <2>;
};
&sdhc0 {
status = "okay";
/* SDIO pins */
pinctrl-0 = <&p21_0_sdhc0_card_cmd &p12_0_sdhc0_clk_card &p12_1_sdhc0_card_dat_3to0
&p12_2_sdhc0_card_dat_3to0 &p12_4_sdhc0_card_dat_3to0
&p12_5_sdhc0_card_dat_3to0>;
pinctrl-names = "default";
clocks = <&peri1_group2_8bit_0>;
bus-width = <4>;
max-bus-freq = <50000000>;
min-bus-freq = <400000>;
power-delay-ms = <1000>;
no-1-8-v;
/* Wi-Fi configuration */
airoc-wifi {
status = "okay";
compatible = "infineon,airoc-wifi";
/* Wi-Fi control gpios */
wifi-reg-on-gpios = <&gpio_prt11 6 GPIO_ACTIVE_HIGH>;
wifi-host-wake-gpios = <&gpio_prt11 4 GPIO_ACTIVE_HIGH>;
};
};
&sdhc1 {
status = "okay";
/* SDHC pins */
pinctrl-0 = <&p7_0_sdhc1_card_cmd &p7_1_sdhc1_clk_card &p7_3_sdhc1_card_dat_3to0
&p7_5_sdhc1_card_dat_3to0 &p7_6_sdhc1_card_dat_3to0
&p7_7_sdhc1_card_dat_3to0>;
pinctrl-names = "default";
clocks = <&peri1_group3_8bit_0>;
bus-width = <4>;
max-bus-freq = <100000000>;
min-bus-freq = <400000>;
power-delay-ms = <1000>;
/* Card detect gpios */
cd-gpios = <&gpio_prt17 7 GPIO_PULL_UP>;
sdmmc {
compatible = "zephyr,sdmmc-disk";
disk-name = "SD";
status = "okay";
};
};