| /* |
| * Copyright (c) 2021 Telink Semiconductor |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /dts-v1/; |
| |
| #include <zephyr/dt-bindings/adc/adc.h> |
| #include <zephyr/dt-bindings/adc/b91-adc.h> |
| #include <zephyr/dt-bindings/gpio/gpio.h> |
| #include <zephyr/dt-bindings/i2c/i2c.h> |
| #include <zephyr/dt-bindings/pwm/pwm.h> |
| |
| / { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| cpu0: cpu@0 { |
| reg = <0>; |
| clock-frequency = <24000000>; |
| compatible ="telink,b91", "riscv"; |
| riscv,isa = "rv32imac_zicsr_zifencei"; |
| hlic: interrupt-controller { |
| compatible = "riscv,cpu-intc"; |
| #address-cells = <0>; |
| #interrupt-cells = <1>; |
| interrupt-controller; |
| }; |
| }; |
| }; |
| |
| soc { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "telink,telink_b91-soc"; |
| ranges; |
| |
| ram_ilm: memory@0 { |
| compatible = "mmio-sram"; |
| }; |
| |
| ram_dlm: memory@80000 { |
| compatible = "mmio-sram"; |
| }; |
| |
| mtimer: timer@e6000000 { |
| compatible = "telink,machine-timer"; |
| reg = <0xe6000000 0x10000>; |
| interrupts = <7 0>; |
| interrupt-parent = <&plic0>; |
| }; |
| |
| flash_mspi: flash-controller@80140100 { |
| compatible = "telink,b91-flash-controller"; |
| reg = <0x80140100 0x40>; |
| |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| flash: flash@20000000 { |
| compatible = "soc-nv-flash"; |
| write-block-size = <1>; |
| }; |
| }; |
| |
| power: power@80140180 { |
| compatible = "telink,b91-power"; |
| reg = <0x80140180 0x40>; |
| power-mode = "LDO_1P4_LDO_1P8"; |
| vbat-type = "VBAT_MAX_VALUE_GREATER_THAN_3V6"; |
| status = "okay"; |
| }; |
| |
| gpioa: gpio@80140300 { |
| compatible = "telink,b91-gpio"; |
| gpio-controller; |
| interrupt-parent = <&plic0>; |
| interrupts = <25 1>, <26 1>, <27 1>; |
| reg = <0x80140300 0x08>; |
| status = "disabled"; |
| #gpio-cells = <2>; |
| }; |
| |
| gpiob: gpio@80140308 { |
| compatible = "telink,b91-gpio"; |
| gpio-controller; |
| interrupt-parent = <&plic0>; |
| interrupts = <25 1>, <26 1>, <27 1>; |
| reg = <0x80140308 0x08>; |
| status = "disabled"; |
| #gpio-cells = <2>; |
| }; |
| |
| gpioc: gpio@80140310 { |
| compatible = "telink,b91-gpio"; |
| gpio-controller; |
| interrupt-parent = <&plic0>; |
| interrupts = <25 1>, <26 1>, <27 1>; |
| reg = <0x80140310 0x08>; |
| status = "disabled"; |
| #gpio-cells = <2>; |
| }; |
| |
| gpiod: gpio@80140318 { |
| compatible = "telink,b91-gpio"; |
| gpio-controller; |
| interrupt-parent = <&plic0>; |
| interrupts = <25 1>, <26 1>, <27 1>; |
| reg = <0x80140318 0x08>; |
| status = "disabled"; |
| #gpio-cells = <2>; |
| }; |
| |
| gpioe: gpio@80140320 { |
| compatible = "telink,b91-gpio"; |
| gpio-controller; |
| interrupt-parent = <&plic0>; |
| interrupts = <25 1>, <26 1>, <27 1>; |
| reg = <0x80140320 0x08>; |
| status = "disabled"; |
| #gpio-cells = <2>; |
| }; |
| |
| plic0: interrupt-controller@e4000000 { |
| compatible = "sifive,plic-1.0.0"; |
| #address-cells = <0>; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| interrupts-extended = <&hlic 11>; |
| interrupt-parent = <&cpu0>; |
| reg = <0xe4000000 0x00210000>; |
| riscv,max-priority = <3>; |
| riscv,ndev = <63>; |
| }; |
| |
| uart0: serial@80140080 { |
| compatible = "telink,b91-uart"; |
| reg = <0x80140080 0x40>; |
| interrupts = <19 1>; |
| interrupt-parent = <&plic0>; |
| status = "disabled"; |
| }; |
| |
| uart1: serial@801400C0 { |
| compatible = "telink,b91-uart"; |
| reg = <0x801400C0 0x40>; |
| interrupts = <18 1>; |
| interrupt-parent = <&plic0>; |
| status = "disabled"; |
| }; |
| |
| ieee802154: ieee802154@80140800 { |
| compatible = "telink,b91-zb"; |
| reg = <0x80140800 0x800>; |
| interrupt-parent = <&plic0>; |
| interrupts = <15 2>; |
| status = "disabled"; |
| }; |
| |
| trng0: trng@80101800 { |
| compatible = "telink,b91-trng"; |
| reg = <0x80101800 0x20>; |
| status = "disabled"; |
| }; |
| |
| pwm0: pwm@80140400 { |
| compatible = "telink,b91-pwm"; |
| reg = <0x80140400 0x80>; |
| channels = <6>; |
| status = "disabled"; |
| #pwm-cells = <3>; |
| }; |
| |
| hspi: spi@81FFFFC0 { |
| compatible = "telink,b91-spi"; |
| reg = <0x81FFFFC0 0x40>; |
| peripheral-id = "HSPI_MODULE"; |
| cs0-pin = "0"; |
| cs1-pin = "0"; |
| cs2-pin = "0"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| }; |
| |
| pspi: spi@80140040 { |
| compatible = "telink,b91-spi"; |
| reg = <0x80140040 0x40>; |
| peripheral-id = "PSPI_MODULE"; |
| cs0-pin = "0"; |
| cs1-pin = "0"; |
| cs2-pin = "0"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| }; |
| |
| i2c: i2c@80140280 { |
| compatible = "telink,b91-i2c"; |
| reg = <0x80140280 0x40>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "disabled"; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| }; |
| |
| adc: adc@ea { |
| compatible = "telink,b91-adc"; |
| reg = <0xea 0x18>; |
| status = "disabled"; |
| #io-channel-cells = <1>; |
| }; |
| |
| pinctrl: pinctrl@80140330 { |
| compatible = "telink,b91-pinctrl"; |
| reg = <0x80140330 0x28 |
| 0x80140306 0x28 |
| 0x0000000e 0x0C>; |
| reg-names = "pin_mux", |
| "gpio_en", |
| "pull_up_en"; |
| status = "okay"; |
| }; |
| }; |
| }; |