/* * Copyright (c) 2021 Yonatan Schachter * * SPDX-License-Identifier: Apache-2.0 */ #include #include #include #include #include "rpi_pico_common.dtsi" / { cpus { #address-cells = <1>; #size-cells = <0>; cpu0: cpu@0 { compatible = "arm,cortex-m0+"; reg = <0>; }; cpu1: cpu@1 { compatible = "arm,cortex-m0+"; reg = <1>; }; }; soc { sram0: memory@20000000 { compatible = "mmio-sram"; reg = <0x20000000 DT_SIZE_K(264)>; }; flash0: flash@10000000 { compatible = "soc-nv-flash"; label = "FLASH_RP2"; write-block-size = <1>; }; peripheral_clk: peripheral-clk { compatible = "fixed-clock"; clock-frequency = <125000000>; #clock-cells = <0>; }; system_clk: system-clk { compatible = "fixed-clock"; clock-frequency = <125000000>; #clock-cells = <0>; }; reset: reset-controller@4000c000 { compatible = "raspberrypi,pico-reset"; reg = <0x4000c000 DT_SIZE_K(4)>; reg-width = <4>; active-low = <0>; #reset-cells = <1>; label = "RESET"; }; pinctrl: pin-controller@40014000 { compatible = "raspberrypi,pico-pinctrl"; reg = <0x40014000 DT_SIZE_K(4)>; status = "okay"; label = "PINCTRL"; }; gpio0: gpio@40014000 { compatible = "raspberrypi,pico-gpio"; reg = <0x40014000 DT_SIZE_K(4)>; interrupts = <13 RPI_PICO_DEFAULT_IRQ_PRIORITY>; gpio-controller; #gpio-cells = <2>; label = "GPIO_0"; status = "disabled"; ngpios = <30>; }; uart0: uart@40034000 { compatible = "raspberrypi,pico-uart"; reg = <0x40034000 DT_SIZE_K(4)>; clocks = <&peripheral_clk>; resets = <&reset RPI_PICO_RESETS_RESET_UART0>; interrupts = <20 RPI_PICO_DEFAULT_IRQ_PRIORITY>; interrupt-names = "uart0"; label = "UART_0"; status = "disabled"; }; uart1: uart@40038000 { compatible = "raspberrypi,pico-uart"; reg = <0x40038000 DT_SIZE_K(4)>; clocks = <&peripheral_clk>; resets = <&reset RPI_PICO_RESETS_RESET_UART1>; interrupts = <21 RPI_PICO_DEFAULT_IRQ_PRIORITY>; interrupt-names = "uart1"; label = "UART_1"; status = "disabled"; }; i2c0: i2c@40044000 { compatible = "snps,designware-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x40044000 DT_SIZE_K(4)>; clocks = <&system_clk>; interrupts = <23 RPI_PICO_DEFAULT_IRQ_PRIORITY>; interrupt-names = "i2c0"; label = "I2C_0"; status = "disabled"; }; i2c1: i2c@40048000 { compatible = "snps,designware-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x40048000 DT_SIZE_K(4)>; clocks = <&system_clk>; interrupts = <24 RPI_PICO_DEFAULT_IRQ_PRIORITY>; interrupt-names = "i2c1"; label = "I2C_1"; status = "disabled"; }; usbd: usbd@50100000 { compatible = "raspberrypi,pico-usbd"; reg = <0x50100000 0x10000>; resets = <&reset RPI_PICO_RESETS_RESET_USBCTRL>; interrupts = <5 RPI_PICO_DEFAULT_IRQ_PRIORITY>; interrupt-names = "usbctrl"; num-bidir-endpoints = <16>; label = "USBD"; status = "disabled"; }; }; }; &nvic { arm,num-irq-priority-bits = <3>; };