- 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>
129 lines
2.7 KiB
Plaintext
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";
|
|
};
|
|
};
|