-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
boards: adds blues cygnet board #2
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Alex Bucknall <[email protected]>
compatible = "gpio-leds"; | ||
user_led: led_0 { | ||
gpios = <&gpioa 8 GPIO_ACTIVE_HIGH>; | ||
label = "User LD1"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure where this label is consumed, but I think it would be more clear to say "User LED1" or simply "User LED", unless this is a common Zephyr naming convention.
compatible = "gpio-keys"; | ||
user_button: button { | ||
gpios = <&gpioc 13 GPIO_ACTIVE_LOW>; | ||
label = "User"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"User Button"
&rcc { | ||
clocks = <&pll>; | ||
clock-frequency = <DT_FREQ_M(80)>; | ||
ahb-prescaler = <1>; | ||
apb1-prescaler = <1>; | ||
apb2-prescaler = <1>; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stm32duino
uses the following configuration:
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE
| RCC_OSCILLATORTYPE_MSI
| RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
RCC_OscInitStruct.MSIState = RCC_MSI_ON;
RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT;
RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_11;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
Error_Handler();
}
I'm specifically looking at RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_11;
and RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
.
I'm wondering if it should be
&rcc {
clocks = <&clk_msi>;
clock-frequency = <DT_FREQ_M(48)>;
...
or something similar.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm basing this off of the STM32L433RC-P-NUCLEO board -> https://github.com/zephyrproject-rtos/zephyr/blob/bd9249457ac7d6b5094361fa1237bff732389628/boards/st/nucleo_l433rc_p/nucleo_l433rc_p.dts#L66
I'm happy to look into it but I think it's correct.
&spi1 { | ||
pinctrl-0 = <&spi1_nss_pa4 &spi1_sck_pa5 | ||
&spi1_miso_pa6 &spi1_mosi_pb5>; | ||
pinctrl-names = "default"; | ||
cs-gpios = <&gpiob 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; | ||
status = "okay"; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In stm32duino
, it looks like we are using D11
(PB0
) or D6
(PB9
) for SPI chip select.
#ifdef HAL_SPI_MODULE_ENABLED
WEAK const PinMap PinMap_SPI_SSEL[] = {
// {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - BAT_VOLTAGE
// {PA_4_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - BAT_VOLTAGE
// {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - CHARGE_DETECT
// {PA_15_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, // - CHARGE_DETECT
{PB_0, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // - D11
{PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - D6
// {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, // - NC
{NC, NP, 0}
};
#endif
It appears Zephyr is going to attempt to use PA4
(nss
) (used to sample the battery voltage),
or A4
(PB1
) for cs-gpios
.
Based on the SPI2 definition, it appears to can elide the first pin (NSS) altogether.
&spi1 { | |
pinctrl-0 = <&spi1_nss_pa4 &spi1_sck_pa5 | |
&spi1_miso_pa6 &spi1_mosi_pb5>; | |
pinctrl-names = "default"; | |
cs-gpios = <&gpiob 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; | |
status = "okay"; | |
}; | |
&spi1 { | |
pinctrl-0 = <&spi1_sck_pa5 &spi1_miso_pa6 &spi1_mosi_pb5>; | |
pinctrl-names = "default"; | |
cs-gpios = <&gpiob 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; | |
status = "okay"; | |
}; |
&spi2 { | ||
pinctrl-0 = <&spi2_sck_pb13 &spi2_miso_pb14 &spi2_mosi_pb15>; | ||
pinctrl-names = "default"; | ||
cs-gpios = <&gpioa 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; | ||
status = "okay"; | ||
}; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
&spi2 { | |
pinctrl-0 = <&spi2_sck_pb13 &spi2_miso_pb14 &spi2_mosi_pb15>; | |
pinctrl-names = "default"; | |
cs-gpios = <&gpioa 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; | |
status = "okay"; | |
}; |
We discussed removing support for this, as it is not part of the Feather specification.
It can be restored via an overlay by those who need it, or we may ultimately add it back if we have a need and sufficient time to thoroughly test it.
&can1 { | ||
pinctrl-0 = <&can1_rx_pa11 &can1_tx_pa12>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stm32duino
uses D5
(PB_8
) for RD
and D6
(PB_9
) for TD
.
//*** CAN ***
#if defined(HAL_CAN_MODULE_ENABLED) || defined(HAL_CAN_LEGACY_MODULE_ENABLED)
WEAK const PinMap PinMap_CAN_RD[] = {
// {PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - USB_DM
{PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - D5
{NC, NP, 0}
};
#endif
#if defined(HAL_CAN_MODULE_ENABLED) || defined(HAL_CAN_LEGACY_MODULE_ENABLED)
WEAK const PinMap PinMap_CAN_TD[] = {
// {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - USB_DP
{PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, // - D6
{NC, NP, 0}
};
#endif
}; | ||
|
||
&rtc { | ||
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this mean "Not divided"?
|
||
# console | ||
CONFIG_CONSOLE=y | ||
CONFIG_UART_CONSOLE=y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a newline, while you're cleaning.
No description provided.