/* * Copyright (c) 2023 Benjamin Cabé * * SPDX-License-Identifier: Apache-2.0 */ /dts-v1/; #include #include #include / { model = "MXChip AZ3166 IoT Developer Kit"; compatible = "mxchip,az3166_iotdevkit"; aliases { led0 = &user_led; pwm-led0 = &blue_pwm_led; sw0 = &button_a; red-led = &red_led; green-led = &green_led; blue-led = &blue_led; red-pwm-led = &red_pwm_led; green-pwm-led = &green_pwm_led; blue-pwm-led = &blue_pwm_led; }; chosen { zephyr,console = &usart6; zephyr,shell-uart = &usart6; zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,display = &ssd1306; }; leds { compatible = "gpio-leds"; green_led: green_led { gpios = <&gpiob 3 GPIO_ACTIVE_HIGH>; label = "Green"; }; red_led: red_led { gpios = <&gpiob 4 GPIO_ACTIVE_HIGH>; label = "Red"; }; blue_led: blue_led { gpios = <&gpioc 7 GPIO_ACTIVE_HIGH>; label = "Blue"; }; wifi_led: wifi_led { gpios = <&gpiob 2 GPIO_ACTIVE_HIGH>; label = "Wi-Fi"; }; azure_led: azure_led { gpios = <&gpioa 15 GPIO_ACTIVE_HIGH>; label = "Azure"; }; user_led: user_led { gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>; label = "User"; }; }; pwmleds { compatible = "pwm-leds"; red_pwm_led: red_pwm_led { pwms = <&pwm3 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>; }; green_pwm_led: green_pwm_led { pwms = <&pwm2 2 PWM_MSEC(20) PWM_POLARITY_NORMAL>; }; blue_pwm_led: blue_pwm_led { pwms = <&pwm3 2 PWM_MSEC(20) PWM_POLARITY_NORMAL>; }; }; buttons { compatible = "gpio-keys"; button_a: button_a { gpios = <&gpioa 4 (GPIO_ACTIVE_LOW | GPIO_PULL_DOWN)>; label = "Button A"; zephyr,code = ; }; button_b: button_b { gpios = <&gpioa 10 (GPIO_ACTIVE_LOW | GPIO_PULL_DOWN)>; label = "Button B"; zephyr,code = ; }; }; }; &clk_lsi { status = "okay"; }; &clk_hse { clock-frequency = ; status = "okay"; }; &pll { div-m = <13>; mul-n = <96>; div-p = <2>; div-q = <4>; clocks = <&clk_hse>; status = "okay"; }; &rcc { clocks = <&pll>; clock-frequency = ; ahb-prescaler = <1>; apb1-prescaler = <2>; apb2-prescaler = <1>; }; &usart1 { pinctrl-0 = <&usart1_tx_pb6 &usart1_rx_pb7>; pinctrl-names = "default"; current-speed = <115200>; status = "okay"; }; &usart6 { pinctrl-0 = <&usart6_tx_pa11 &usart6_rx_pa12>; pinctrl-names = "default"; current-speed = <115200>; status = "okay"; }; &i2c1 { pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>; pinctrl-names = "default"; clock-frequency = ; status = "okay"; lsm6dsl@6a { compatible = "st,lsm6dsl"; reg = <0x6a>; }; hts221@5f { compatible = "st,hts221"; reg = <0x5f>; }; lis2mdl@1e { compatible = "st,lis2mdl"; reg = <0x1e>; }; lps22hb-press@5c { compatible = "st,lps22hb-press"; reg = <0x5c>; }; ssd1306: ssd1306@3c { compatible = "solomon,ssd1306fb"; reg = <0x3c>; width = <128>; height = <64>; segment-offset = <0>; page-offset = <0>; display-offset = <0>; multiplex-ratio = <63>; segment-remap; com-invdir; prechargep = <0x22>; inversion-on; reset-gpios = <&gpioa 8 GPIO_ACTIVE_HIGH>; }; }; &spi1 { pinctrl-0 = <&spi2_sck_pb13 &spi2_miso_pb14 &spi2_mosi_pb15>; pinctrl-names = "default"; status = "okay"; }; &timers2 { st,prescaler = <10000>; status = "okay"; pwm2: pwm { status = "okay"; pinctrl-0 = <&tim2_ch2_pb3>; pinctrl-names = "default"; }; }; &timers3 { st,prescaler = <10000>; status = "okay"; pwm3: pwm { status = "okay"; pinctrl-0 = <&tim3_ch1_pb4 &tim3_ch2_pc7>; pinctrl-names = "default"; }; }; &rtc { clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>, <&rcc STM32_SRC_LSI RTC_SEL(2)>; status = "okay"; };