/* * Copyright (c) 2022 Benjamin Björnsson . * * SPDX-License-Identifier: Apache-2.0 */ /dts-v1/; #include #include #include "arduino_portenta_h7-common.dtsi" #include <../boards/common/usb/cdc_acm_serial.dtsi> / { model = "Arduino Portenta H7 board"; compatible = "arduino,portenta-h7"; /* HW resources are split between CM7 and CM4 */ chosen { zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,code-partition = &slot0_partition; zephyr,bt-hci = &bt_hci_uart; }; oscen: oscen { compatible = "regulator-fixed"; regulator-name = "oscen"; enable-gpios = <&gpioh 1 GPIO_ACTIVE_HIGH>; regulator-boot-on; status = "okay"; }; ethernet_phy_en: ethernet_phy_en { compatible = "regulator-fixed"; regulator-name = "ethernet-phy-reset-release"; enable-gpios = <&gpioj 15 GPIO_ACTIVE_HIGH>; regulator-boot-on; status = "okay"; }; sdram1: sdram@c0000000 { compatible = "zephyr,memory-region", "mmio-sram"; device_type = "memory"; reg = <0xc0000000 DT_SIZE_M(8)>; zephyr,memory-region = "SDRAM1"; zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_RAM) )>; }; }; &clk_hse { clock-frequency = ; hse-bypass; status = "okay"; }; &clk_hsi { hsi-div = <1>; status = "okay"; }; &pll { div-m = <5>; mul-n = <160>; div-p = <2>; div-q = <10>; div-r = <2>; clocks = <&clk_hse>; status = "okay"; }; /** The power supply for the Portenta H7 is based on a ST PSU reference design. * The design specification from this reference design limits the maximum * clock speed to 400 MHz. * Refer: section 8.1 of the reference design guide. */ &rcc { clocks = <&pll>; clock-frequency = ; }; /* USART1 is enabled on M4 by default */ &usart1 { status = "disabled"; }; &i2c1 { status = "okay"; pf1550: pmic@8 { status = "okay"; reg = <0x8>; compatible = "nxp,pf1550"; pmic_regulators: regulators { status = "okay"; compatible = "nxp,pf1550-regulator"; pf1550_sw1: BUCK1 { regulator-init-microvolt = <3000000>; regulator-boot-on; }; pf1550_sw2: BUCK2 { regulator-init-microvolt = <3300000>; regulator-boot-on; }; pf1550_sw3: BUCK3 { regulator-init-microvolt = <3300000>; regulator-init-microamp = <2000000>; regulator-boot-on; }; pf1550_ldo1: LDO1 { regulator-init-microvolt = <1000000>; regulator-boot-on; }; pf1550_ldo2: LDO2 { regulator-init-microvolt = <1800000>; regulator-boot-on; }; pf1550_ldo3: LDO3 { regulator-init-microvolt = <1200000>; regulator-boot-on; }; }; pmic_charger: charger { status = "okay"; compatible = "nxp,pf1550-charger"; constant-charge-current-max-microamp = <100000>; constant-charge-voltage-max-microvolt = <4200000>; pf1550,int-gpios = <&gpiok 0 0>; pf1550,led-behaviour = "manual-off"; pf1550,system-voltage-min-threshold-microvolt = <3500000>; pf1550,thermistor-monitoring-mode = "thermistor"; pf1550,vbus-current-limit-microamp = <1500000>; }; }; }; /* Only one should be enabled */ &usbotg_fs { status = "disabled"; }; &usbotg_hs { status = "okay"; }; &flash0 { partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; boot_partition: partition@0 { label = "mcuboot"; reg = <0x00000000 0x00010000>; read-only; }; /* * The flash starting at 0x00010000 and ending at * 0x0001ffff (sectors 16-31) is reserved for use * by the application. */ scratch_partition: partition@10000 { label = "image-scratch"; reg = <0x00010000 0x00030000>; }; /* The arduino default bootloader occupies the address space 0x0 - 0x40000. * This way regardless of the user's choice to use the mcuboot bootloader, * applications will be located at 0x40000 which will be loaded by the * arduino bootloader. */ slot0_partition: partition@40000 { label = "image-0"; reg = <0x00040000 0x00060000>; }; slot1_partition: partition@A0000 { label = "image-1"; reg = <0x000A0000 0x00060000>; }; }; }; &uart7 { pinctrl-0 = <&uart7_tx_pa15 &uart7_rx_pf6 &uart7_cts_pf9 &uart7_rts_pf8>; pinctrl-names = "default"; current-speed = <115200>; hw-flow-control; status = "okay"; bt_hci_uart: bt_hci_uart { compatible = "zephyr,bt-hci-uart"; status = "okay"; murata-1dx { compatible = "infineon,cyw43xxx-bt-hci"; bt-reg-on-gpios = <&gpioj 12 GPIO_ACTIVE_HIGH>; bt-host-wake-gpios = <&gpioj 13 GPIO_ACTIVE_HIGH>; bt-dev-wake-gpios = <&gpioj 14 GPIO_ACTIVE_HIGH>; }; }; };