Stufen
Anforderungen
|
Konzepte
|
Entwurf
|
Entwicklung
|
Qualitätssicherung
|
Lebenszyklus
|
Steuerung
Ziele
Untersuchung
mit Columbo
Integrität von
Datenbanken
Interaktion und
Portierbarkeit
Ergonomie der
Schnittstellen
Angebot
Produkte
Projekt
Beratung
Mittel
Analytik
Modellierung
Sprachen
Algebra
Logik
Hardware
Denken
Kreativität
Zusammenhänge
Gesellschaft
Wirtschaft
Branche
Firma
products
/
Sources
/
formale Sprachen
/
C
/
LibreOffice
/
icon-themes
/
sifr_svg
/
cmd
/
32
/ (
Office von Apache
Version 25.8.3.2
©
) Datei vom 5.10.2025 mit Größe 1 kB
Bilddatei
stm32mp15xx-dhcom-som.dtsi
products/Sources/formale Sprachen/C/Linux/arch/arm/boot/dts/st/stm32mp15xx-dhcom-som.dtsi
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) /* * Copyright (C) 2019-2020 Marek Vasut
*/ #include "stm32mp15-pinctrl.dtsi" #include "stm32mp15xxaa-pinctrl.dtsi" #include
#include
/ { aliases { ethernet0 = ðernet0; ethernet1 = &ksz8851; rtc0 = &hwrtc; rtc1 = &rtc; serial0 = &uart4; serial1 = &uart8; serial2 = &usart3; }; chosen { stdout-path = "serial0:115200n8"; }; memory@c0000000 { device_type = "memory"; reg = <0xC0000000 0x40000000>; }; reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; mcuram2: mcuram2@10000000 { compatible = "shared-dma-pool"; reg = <0x10000000 0x40000>; no-map; }; vdev0vring0: vdev0vring0@10040000 { compatible = "shared-dma-pool"; reg = <0x10040000 0x1000>; no-map; }; vdev0vring1: vdev0vring1@10041000 { compatible = "shared-dma-pool"; reg = <0x10041000 0x1000>; no-map; }; vdev0buffer: vdev0buffer@10042000 { compatible = "shared-dma-pool"; reg = <0x10042000 0x4000>; no-map; }; mcuram: mcuram@30000000 { compatible = "shared-dma-pool"; reg = <0x30000000 0x40000>; no-map; }; retram: retram@38000000 { compatible = "shared-dma-pool"; reg = <0x38000000 0x10000>; no-map; }; }; ethernet_vio: vioregulator { compatible = "regulator-fixed"; regulator-name = "vio"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpiog 3 GPIO_ACTIVE_LOW>; regulator-always-on; regulator-boot-on; vin-supply = <&vdd>; }; }; &adc { vdd-supply = <&vdd>; vdda-supply = <&vdda>; vref-supply = <&vdda>; status = "okay"; }; &adc1 { channel@0 { reg = <0>; st,min-sample-time-ns = <5000>; }; }; &adc2 { channel@1 { reg = <1>; st,min-sample-time-ns = <5000>; }; }; &crc1 { status = "okay"; }; &dac { pinctrl-names = "default"; pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>; vref-supply = <&vdda>; status = "okay"; dac1: dac@1 { status = "okay"; }; dac2: dac@2 { status = "okay"; }; }; &dts { status = "okay"; }; ðernet0 { status = "okay"; pinctrl-0 = <ðernet0_rmii_pins_c &mco2_pins_a>; pinctrl-1 = <ðernet0_rmii_sleep_pins_c &mco2_sleep_pins_a>; pinctrl-names = "default", "sleep"; phy-mode = "rmii"; max-speed = <100>; phy-handle = <&phy0>; mdio { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy0: ethernet-phy@1 { reg = <1>; /* LAN8710Ai */ compatible = "ethernet-phy-id0007.c0f0", "ethernet-phy-ieee802.3-c22"; clocks = <&rcc CK_MCO2>; reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; reset-assert-us = <500>; reset-deassert-us = <500>; smsc,disable-energy-detect; interrupt-parent = <&gpioi>; interrupts = <11 IRQ_TYPE_LEVEL_LOW>; }; }; }; &fmc { pinctrl-names = "default", "sleep"; pinctrl-0 = <&fmc_pins_b>; pinctrl-1 = <&fmc_sleep_pins_b>; status = "okay"; ksz8851: ethernet@1,0 { compatible = "micrel,ks8851-mll"; reg = <1 0x0 0x2>, <1 0x2 0x20000>; interrupt-parent = <&gpioc>; interrupts = <3 IRQ_TYPE_LEVEL_LOW>; bank-width = <2>; /* Timing values are in nS */ st,fmc2-ebi-cs-mux-enable; st,fmc2-ebi-cs-transaction-type = <4>; st,fmc2-ebi-cs-buswidth = <16>; st,fmc2-ebi-cs-address-setup-ns = <5>; st,fmc2-ebi-cs-address-hold-ns = <5>; st,fmc2-ebi-cs-bus-turnaround-ns = <5>; st,fmc2-ebi-cs-data-setup-ns = <45>; st,fmc2-ebi-cs-data-hold-ns = <1>; st,fmc2-ebi-cs-write-address-setup-ns = <5>; st,fmc2-ebi-cs-write-address-hold-ns = <5>; st,fmc2-ebi-cs-write-bus-turnaround-ns = <5>; st,fmc2-ebi-cs-write-data-setup-ns = <45>; st,fmc2-ebi-cs-write-data-hold-ns = <1>; }; }; &gpioa { gpio-line-names = "", "", "", "", "", "", "DHCOM-K", "", "", "", "", "", "", "", "", ""; }; &gpiob { gpio-line-names = "", "", "", "", "", "", "", "", "DHCOM-Q", "", "", "", "", "", "", ""; }; &gpioc { gpio-line-names = "", "", "", "", "", "", "DHCOM-E", "", "", "", "", "", "", "", "", ""; }; &gpiod { gpio-line-names = "", "", "", "", "", "", "DHCOM-B", "", "", "", "", "DHCOM-F", "DHCOM-D", "", "", ""; }; &gpioe { gpio-line-names = "", "", "", "", "", "", "DHCOM-P", "", "", "", "", "", "", "", "", ""; }; &gpiof { gpio-line-names = "", "", "", "DHCOM-A", "", "", "", "", "", "", "", "", "", "", "", ""; }; &gpiog { gpio-line-names = "DHCOM-C", "", "", "", "", "", "", "", "DHCOM-L", "", "", "", "", "", "", ""; }; &gpioh { gpio-line-names = "", "", "", "", "", "", "", "DHCOM-N", "DHCOM-J", "DHCOM-W", "DHCOM-V", "DHCOM-U", "DHCOM-T", "", "DHCOM-S", ""; }; &gpioi { gpio-line-names = "DHCOM-G", "DHCOM-O", "DHCOM-H", "DHCOM-I", "DHCOM-R", "DHCOM-M", "", "", "", "", "", "", "", "", "", ""; }; &i2c4 { pinctrl-names = "default"; pinctrl-0 = <&i2c4_pins_a>; i2c-scl-rising-time-ns = <185>; i2c-scl-falling-time-ns = <20>; status = "okay"; /* spare dmas for other usage */ /delete-property/dmas; /delete-property/dma-names; hwrtc: rtc@32 { compatible = "microcrystal,rv8803"; reg = <0x32>; }; pmic: stpmic@33 { compatible = "st,stpmic1"; reg = <0x33>; interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; interrupt-controller; #interrupt-cells = <2>; status = "okay"; regulators { compatible = "st,stpmic1-regulators"; ldo1-supply = <&v3v3>; ldo2-supply = <&v3v3>; ldo3-supply = <&vdd_ddr>; ldo5-supply = <&v3v3>; ldo6-supply = <&v3v3>; pwr_sw1-supply = <&bst_out>; pwr_sw2-supply = <&bst_out>; vddcore: buck1 { regulator-name = "vddcore"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1350000>; regulator-always-on; regulator-initial-mode = <0>; regulator-over-current-protection; }; vdd_ddr: buck2 { regulator-name = "vdd_ddr"; regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; regulator-always-on; regulator-initial-mode = <0>; regulator-over-current-protection; }; vdd: buck3 { regulator-name = "vdd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; st,mask-reset; regulator-initial-mode = <0>; regulator-over-current-protection; }; v3v3: buck4 { regulator-name = "v3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-over-current-protection; regulator-initial-mode = <0>; }; vdda: ldo1 { regulator-name = "vdda"; regulator-always-on; regulator-min-microvolt = <2900000>; regulator-max-microvolt = <2900000>; interrupts =
; }; v2v8: ldo2 { regulator-name = "v2v8"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; interrupts =
; }; vtt_ddr: ldo3 { regulator-name = "vtt_ddr"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <750000>; regulator-always-on; regulator-over-current-protection; }; vdd_usb: ldo4 { regulator-name = "vdd_usb"; interrupts =
; }; vdd_sd: ldo5 { regulator-name = "vdd_sd"; regulator-min-microvolt = <2900000>; regulator-max-microvolt = <2900000>; interrupts =
; regulator-boot-on; }; v1v8: ldo6 { regulator-name = "v1v8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; interrupts =
; }; vref_ddr: vref_ddr { regulator-name = "vref_ddr"; regulator-always-on; }; bst_out: boost { regulator-name = "bst_out"; interrupts =
; }; vbus_otg: pwr_sw1 { regulator-name = "vbus_otg"; interrupts =
; }; vbus_sw: pwr_sw2 { regulator-name = "vbus_sw"; interrupts =
; regulator-active-discharge = <1>; }; }; onkey { compatible = "st,stpmic1-onkey"; interrupts =
,
; interrupt-names = "onkey-falling", "onkey-rising"; power-off-time-sec = <10>; status = "okay"; }; watchdog { compatible = "st,stpmic1-wdt"; status = "disabled"; }; }; touchscreen@49 { compatible = "ti,tsc2004"; reg = <0x49>; vio-supply = <&v3v3>; interrupts-extended = <&gpioh 15 IRQ_TYPE_EDGE_FALLING>; }; eeprom@50 { compatible = "atmel,24c02"; reg = <0x50>; pagesize = <16>; }; }; &ipcc { status = "okay"; }; &iwdg2 { timeout-sec = <32>; status = "okay"; }; &m4_rproc { memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, <&vdev0vring1>, <&vdev0buffer>; mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>; mbox-names = "vq0", "vq1", "shutdown", "detach"; interrupt-parent = <&exti>; interrupts = <68 1>; status = "okay"; }; &pwr_regulators { vdd-supply = <&vdd>; vdd_3v3_usbfs-supply = <&vdd_usb>; }; &qspi { pinctrl-names = "default", "sleep"; pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a &qspi_cs1_pins_a>; pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a &qspi_cs1_sleep_pins_a>; reg = <0x58003000 0x1000>, <0x70000000 0x4000000>; #address-cells = <1>; #size-cells = <0>; status = "okay"; flash0: flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-rx-bus-width = <4>; spi-max-frequency = <108000000>; #address-cells = <1>; #size-cells = <1>; }; }; &rcc { /* Connect MCO2 output to ETH_RX_CLK input via pad-pad connection */ clocks = <&rcc CK_MCO2>; clock-names = "ETH_RX_CLK/ETH_REF_CLK"; /* * Set PLL4P output to 100 MHz to supply SDMMC with faster clock, * set MCO2 output to 50 MHz to supply ETHRX clock with PLL4P/2, * so that MCO2 behaves as a divider for the ETHRX clock here. */ assigned-clocks = <&rcc CK_MCO2>, <&rcc PLL4_P>; assigned-clock-parents = <&rcc PLL4_P>; assigned-clock-rates = <50000000>, <100000000>; }; &rng1 { status = "okay"; }; &rtc { status = "okay"; }; &sdmmc1 { pinctrl-names = "default", "opendrain", "sleep", "init"; pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>; pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>; pinctrl-3 = <&sdmmc1_b4_init_pins_a &sdmmc1_dir_init_pins_a>; cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; disable-wp; st,sig-dir; st,neg-edge; st,use-ckin; st,cmd-gpios = <&gpiod 2 0>; st,ck-gpios = <&gpioc 12 0>; st,ckin-gpios = <&gpioe 4 0>; bus-width = <4>; vmmc-supply = <&vdd_sd>; status = "okay"; }; &sdmmc1_b4_pins_a { /* * SD bus pull-up resistors: * - optional on SoMs with SD voltage translator * - mandatory on SoMs without SD voltage translator */ pins1 { bias-pull-up; }; pins2 { bias-pull-up; }; }; &sdmmc2 { pinctrl-names = "default", "opendrain", "sleep"; pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>; pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>; non-removable; no-sd; no-sdio; st,neg-edge; bus-width = <8>; vmmc-supply = <&v3v3>; vqmmc-supply = <&v3v3>; mmc-ddr-3_3v; status = "okay"; }; &sdmmc3 { pinctrl-names = "default", "opendrain", "sleep"; pinctrl-0 = <&sdmmc3_b4_pins_a>; pinctrl-1 = <&sdmmc3_b4_od_pins_a>; pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>; broken-cd; st,neg-edge; bus-width = <4>; vmmc-supply = <&v3v3>; vqmmc-supply = <&v3v3>; mmc-ddr-3_3v; status = "okay"; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&uart4_pins_a>; /delete-property/dmas; /delete-property/dma-names; status = "okay"; };
2026-05-28
Neuigkeiten
Aktuelles
Motto des Tages
Software
Produkte
Quellcodebibliothek
Aktivitäten
Artikel über Sicherheit
Anleitung zur Aktivierung von SSL
Muße
Gedichte
Musik
Bilder
Jenseits des Üblichen ....
Besucherstatistik
Monitoring
Impressum
|
Ethik und Gesetz
|
Haftungsausschluß
|
Kontakt
|
Seitenstruktur
|
©
2026 JDD
|