diff --git a/devices/common_patches/cec/cec_RM0041.yaml b/devices/common_patches/cec/cec_RM0041.yaml new file mode 100644 index 000000000..f2bca2cde --- /dev/null +++ b/devices/common_patches/cec/cec_RM0041.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40007800 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 42 + registers: {} + +CEC: + _include: + - registers/cec_v1_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0091.yaml b/devices/common_patches/cec/cec_RM0091.yaml new file mode 100644 index 000000000..92111183a --- /dev/null +++ b/devices/common_patches/cec/cec_RM0091.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40007800 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC_CAN: + description: "HDMI-CEC and CAN global interrupt" + value: 30 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0313.yaml b/devices/common_patches/cec/cec_RM0313.yaml new file mode 100644 index 000000000..6745f6ed0 --- /dev/null +++ b/devices/common_patches/cec/cec_RM0313.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40007800 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 42 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0385.yaml b/devices/common_patches/cec/cec_RM0385.yaml new file mode 100644 index 000000000..c1abb6a64 --- /dev/null +++ b/devices/common_patches/cec/cec_RM0385.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40006C00 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 94 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0390.yaml b/devices/common_patches/cec/cec_RM0390.yaml new file mode 100644 index 000000000..2e35d0a84 --- /dev/null +++ b/devices/common_patches/cec/cec_RM0390.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40006C00 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 93 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0399.yaml b/devices/common_patches/cec/cec_RM0399.yaml new file mode 100644 index 000000000..c1abb6a64 --- /dev/null +++ b/devices/common_patches/cec/cec_RM0399.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40006C00 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 94 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0410.yaml b/devices/common_patches/cec/cec_RM0410.yaml new file mode 100644 index 000000000..c1abb6a64 --- /dev/null +++ b/devices/common_patches/cec/cec_RM0410.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40006C00 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 94 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0433.yaml b/devices/common_patches/cec/cec_RM0433.yaml new file mode 100644 index 000000000..c1abb6a64 --- /dev/null +++ b/devices/common_patches/cec/cec_RM0433.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40006C00 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 94 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0436.yaml b/devices/common_patches/cec/cec_RM0436.yaml new file mode 100644 index 000000000..6134a7d3b --- /dev/null +++ b/devices/common_patches/cec/cec_RM0436.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40016000 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 94 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0441.yaml b/devices/common_patches/cec/cec_RM0441.yaml new file mode 100644 index 000000000..6134a7d3b --- /dev/null +++ b/devices/common_patches/cec/cec_RM0441.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40016000 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 94 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0442.yaml b/devices/common_patches/cec/cec_RM0442.yaml new file mode 100644 index 000000000..6134a7d3b --- /dev/null +++ b/devices/common_patches/cec/cec_RM0442.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40016000 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 94 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0444.yaml b/devices/common_patches/cec/cec_RM0444.yaml new file mode 100644 index 000000000..e363e67b4 --- /dev/null +++ b/devices/common_patches/cec/cec_RM0444.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40007800 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 30 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0455.yaml b/devices/common_patches/cec/cec_RM0455.yaml new file mode 100644 index 000000000..c1abb6a64 --- /dev/null +++ b/devices/common_patches/cec/cec_RM0455.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40006C00 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 94 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_RM0468.yaml b/devices/common_patches/cec/cec_RM0468.yaml new file mode 100644 index 000000000..c1abb6a64 --- /dev/null +++ b/devices/common_patches/cec/cec_RM0468.yaml @@ -0,0 +1,17 @@ +_add: + CEC: + description: "HDMI-CEC controller" + baseAddress: 0x40006C00 + addressBlock: + offset: 0x0 + size: 0x400 + usage: "registers" + interrupts: + CEC: + description: "HDMI-CEC global interrupt" + value: 94 + registers: {} + +CEC: + _include: + - registers/cec_v2_registers_common.yaml diff --git a/devices/common_patches/cec/cec_delete.yaml b/devices/common_patches/cec/cec_delete.yaml new file mode 100644 index 000000000..144d13566 --- /dev/null +++ b/devices/common_patches/cec/cec_delete.yaml @@ -0,0 +1,4 @@ +_delete: + - CEC + - HDMI_CEC + - HDMI-CEC diff --git a/devices/common_patches/cec/registers/cec_v1_registers_common.yaml b/devices/common_patches/cec/registers/cec_v1_registers_common.yaml new file mode 100644 index 000000000..cc231fb56 --- /dev/null +++ b/devices/common_patches/cec/registers/cec_v1_registers_common.yaml @@ -0,0 +1,145 @@ +_add: + CFGR: + description: "CEC configuration register" + addressOffset: 0x00 + access: read-write + resetValue: 0x00000000 + fields: + BPEM: + description: "Bit period error mode" + bitOffset: 3 + bitWidth: 1 + BTEM: + description: "Bit timing error mode" + bitOffset: 2 + bitWidth: 1 + IE: + description: "CEC interrupt enable" + bitOffset: 1 + bitWidth: 1 + PE: + description: "Peripheral enable" + bitOffset: 0 + bitWidth: 1 + + OAR: + description: "CEC own address register" + addressOffset: 0x04 + access: read-write + resetValue: 0x00000000 + fields: + OA: + description: "Own address" + bitOffset: 0 + bitWidth: 4 + + PRES: + description: "CEC prescalar register" + addressOffset: 0x08 + access: read-write + resetValue: 0x00000000 + fields: + PRESC: + description: "Prescalar counter value" + bitOffset: 0 + bitWidth: 14 + + ESR: + description: "CEC error status register" + addressOffset: 0x0C + access: read-only + resetValue: 0x00000000 + fields: + TBTFE: + description: "Tx block transfer finished error" + bitOffset: 6 + bitWidth: 1 + LINE: + description: "Line error" + bitOffset: 5 + bitWidth: 1 + ACKE: + description: "Block acknowledge error" + bitOffset: 4 + bitWidth: 1 + SBE: + description: "Start bit error" + bitOffset: 3 + bitWidth: 1 + RBTFE: + description: "Rx block transfer finished error" + bitOffset: 2 + bitWidth: 1 + BPE: + description: "Bit period error" + bitOffset: 1 + bitWidth: 1 + BTE: + description: "Bit timing error" + bitOffset: 0 + bitWidth: 1 + + CSR: + description: "CEC control and status register" + addressOffset: 0x10 + access: read-write + resetValue: 0x00000000 + fields: + RBTF: + description: "Rx byte/block transfer finished flag" + bitOffset: 7 + bitWidth: 1 + RERR: + description: "Rx error" + bitOffset: 6 + bitWidth: 1 + REOM: + description: "Rx end of message flag" + bitOffset: 5 + bitWidth: 1 + RSOM: + description: "Rx start of message flag" + bitOffset: 4 + bitWidth: 1 + TBTRF: + description: "Tx byte transfer request or block transfer finished flag" + bitOffset: 3 + bitWidth: 1 + TERR: + description: "Tx error" + bitOffset: 2 + bitWidth: 1 + TEOM: + description: "Tx end of message" + bitOffset: 1 + bitWidth: 1 + TSOM: + description: "Tx start of message" + bitOffset: 0 + bitWidth: 1 + + TXD: + description: "CEC Tx data register" + addressOffset: 0x14 + access: read-write + resetValue: 0x00000000 + fields: + TXD: + description: "Tx data" + bitOffset: 0 + bitWidth: 8 + + RXD: + description: "CEC Rx data register" + addressOffset: 0x18 + access: read-only + resetValue: 0x00000000 + fields: + RXD: + description: "Rx data" + bitOffset: 0 + bitWidth: 8 + +_include: + - ../../../../peripherals/cec/cec_v1_fields_common.yaml + diff --git a/devices/common_patches/cec/registers/cec_v2_registers_common.yaml b/devices/common_patches/cec/registers/cec_v2_registers_common.yaml new file mode 100644 index 000000000..6cfd88e38 --- /dev/null +++ b/devices/common_patches/cec/registers/cec_v2_registers_common.yaml @@ -0,0 +1,205 @@ +_add: + CR: + description: "CEC control register" + addressOffset: 0x00 + access: read-write + resetValue: 0x00000000 + fields: + TXEOM: + description: "Tx end of message" + bitOffset: 2 + bitWidth: 1 + TXSOM: + description: "Tx start of message" + bitOffset: 1 + bitWidth: 1 + CECEN: + description: "CEC enable" + bitOffset: 0 + bitWidth: 1 + + CFGR: + description: "CEC configuration register" + addressOffset: 0x04 + access: read-write + resetValue: 0x00000000 + fields: + LSTN: + description: "Listen mode" + bitOffset: 31 + bitWidth: 1 + OAR: + description: "Own address configuration" + bitOffset: 16 + bitWidth: 15 + SFTOP: + description: "SFT option bit" + bitOffset: 8 + bitWidth: 1 + BRDNOGEN: + description: "Avoid error bit generation in broadcast" + bitOffset: 7 + bitWidth: 1 + LBPEGEN: + description: "Generate error bit on long bit period error" + bitOffset: 6 + bitWidth: 1 + BREGEN: + description: "Generate error bit on bit rising error" + bitOffset: 5 + bitWidth: 1 + BRESTP: + description: "Rx stop on bit rising error" + bitOffset: 4 + bitWidth: 1 + RXTOL: + description: "Rx tolerance" + bitOffset: 3 + bitWidth: 1 + SFT: + description: "Signal free time" + bitOffset: 0 + bitWidth: 3 + + TXDR: + description: "CEC Tx data register" + addressOffset: 0x08 + access: write-only + resetValue: 0x00000000 + fields: + TXD: + description: "Tx data" + bitOffset: 0 + bitWidth: 8 + + RXDR: + description: "CEC Rx data register" + addressOffset: 0x0C + access: read-only + resetValue: 0x00000000 + fields: + RXD: + description: "Rx data" + bitOffset: 0 + bitWidth: 8 + + ISR: + description: "CEC interrupt and status register" + addressOffset: 0x10 + access: read-write + resetValue: 0x00000000 + fields: + TXACKE: + description: "Tx missing acknowledge error" + bitOffset: 12 + bitWidth: 1 + TXERR: + description: "Tx error" + bitOffset: 11 + bitWidth: 1 + TXUDR: + description: "Tx buffer underrun flag" + bitOffset: 10 + bitWidth: 1 + TXEND: + description: "End of transmission flag" + bitOffset: 9 + bitWidth: 1 + TXBR: + description: "Tx byte request flag" + bitOffset: 8 + bitWidth: 1 + ARBLST: + description: "Arbitration lost flag" + bitOffset: 7 + bitWidth: 1 + RXACKE: + description: "Rx missing acknowledge error" + bitOffset: 6 + bitWidth: 1 + LBPE: + description: "Rx long bit period error" + bitOffset: 5 + bitWidth: 1 + SBPE: + description: "Rx short bit period error" + bitOffset: 4 + bitWidth: 1 + BRE: + description: "Rx bit rising error" + bitOffset: 3 + bitWidth: 1 + RXOVR: + description: "Rx overrun flag" + bitOffset: 2 + bitWidth: 1 + RXEND: + description: "Rx end of reception flag" + bitOffset: 1 + bitWidth: 1 + RXBR: + description: "Rx byte received flag" + bitOffset: 0 + bitWidth: 1 + + IER: + description: "CEC interrupt enable register" + addressOffset: 0x14 + access: read-write + resetValue: 0x00000000 + fields: + TXACKIE: + description: "Tx missing acknowledge error interrupt enable" + bitOffset: 12 + bitWidth: 1 + TXERRIE: + description: "Tx error interrupt enable" + bitOffset: 11 + bitWidth: 1 + TXUDRIE: + description: "Tx underrun interrupt enable" + bitOffset: 10 + bitWidth: 1 + TXENDIE: + description: "Tx end of message interrupt enable" + bitOffset: 9 + bitWidth: 1 + TXBRIE: + description: "Tx byte request interrupt enable" + bitOffset: 8 + bitWidth: 1 + ARBLSTIE: + description: "Arbitration lost interrupt enable" + bitOffset: 7 + bitWidth: 1 + RXACKIE: + description: "Rx missing acknowledge error interrupt enable" + bitOffset: 6 + bitWidth: 1 + LBPEIE: + description: "Long bit period error interrupt enable" + bitOffset: 5 + bitWidth: 1 + SBPEIE: + description: "Short bit period error interrupt enable" + bitOffset: 4 + bitWidth: 1 + BREIE: + description: "Bit rising error interrupt enable" + bitOffset: 3 + bitWidth: 1 + RXOVRIE: + description: "Rx buffer overrun interrupt enable" + bitOffset: 2 + bitWidth: 1 + RXENDIE: + description: "Rx end of reception interrupt enable" + bitOffset: 1 + bitWidth: 1 + RXBRIE: + description: "Rx byte received interrupt enable" + bitOffset: 0 + bitWidth: 1 + +_include: + - ../../../../peripherals/cec/cec_v2_fields_common.yaml diff --git a/devices/stm32f0x1.yaml b/devices/stm32f0x1.yaml index 8f81e27c7..686ba22a3 100644 --- a/devices/stm32f0x1.yaml +++ b/devices/stm32f0x1.yaml @@ -71,3 +71,5 @@ _include: - ../peripherals/tim/tim_ccm_v1.yaml - ./common_patches/2_nvic_prio_bits.yaml - ./common_patches/f0_crc_init_addr_fix.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0091.yaml diff --git a/devices/stm32f0x2.yaml b/devices/stm32f0x2.yaml index 6980d5788..db0dd8a6e 100644 --- a/devices/stm32f0x2.yaml +++ b/devices/stm32f0x2.yaml @@ -89,3 +89,5 @@ _include: - ../peripherals/tim/tim_ccm_v1.yaml - ./common_patches/2_nvic_prio_bits.yaml - ./common_patches/f0_crc_init_addr_fix.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0091.yaml diff --git a/devices/stm32f0x8.yaml b/devices/stm32f0x8.yaml index edfb8454b..a09d25931 100644 --- a/devices/stm32f0x8.yaml +++ b/devices/stm32f0x8.yaml @@ -64,3 +64,5 @@ _include: - ../peripherals/tim/tim_ccm_v1.yaml - ./common_patches/2_nvic_prio_bits.yaml - ./common_patches/f0_crc_init_addr_fix.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0091.yaml diff --git a/devices/stm32f100.yaml b/devices/stm32f100.yaml index 4eb96c5e4..9fa5114d6 100644 --- a/devices/stm32f100.yaml +++ b/devices/stm32f100.yaml @@ -46,3 +46,5 @@ _include: - common_patches/dbgmcu_rename.yaml - ../peripherals/tim/tim_ccm_v1.yaml - ../peripherals/adc/adc_f1_common.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0041.yaml diff --git a/devices/stm32f301.yaml b/devices/stm32f301.yaml index 724e3fc65..486aeae39 100644 --- a/devices/stm32f301.yaml +++ b/devices/stm32f301.yaml @@ -176,3 +176,4 @@ _include: - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml - ../peripherals/rtc/rtc_f3.yaml + - common_patches/cec/cec_delete.yaml diff --git a/devices/stm32f373.yaml b/devices/stm32f373.yaml index 1725bbc44..3a97caf5d 100644 --- a/devices/stm32f373.yaml +++ b/devices/stm32f373.yaml @@ -186,3 +186,5 @@ _include: - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml - ../peripherals/rtc/rtc_f3.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0313.yaml diff --git a/devices/stm32f446.yaml b/devices/stm32f446.yaml index 3fc42c927..d8fd8ba56 100644 --- a/devices/stm32f446.yaml +++ b/devices/stm32f446.yaml @@ -54,6 +54,12 @@ RCC: bitOffset: 28 bitWidth: 1 access: read-write + APB1RSTR: + _add: + CECRST: + description: CEC reset + bitOffset: 27 + bitWidth: 1 APB1ENR: _modify: CEC: @@ -573,3 +579,5 @@ _include: - common_patches/sdio_f446.yaml - ../peripherals/sdio/sdio.yaml - ../peripherals/sdio/sdio_f4_common.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0390.yaml diff --git a/devices/stm32f730.yaml b/devices/stm32f730.yaml index 18ec0f885..8220ad0ba 100644 --- a/devices/stm32f730.yaml +++ b/devices/stm32f730.yaml @@ -12,6 +12,11 @@ _modify: C_ADC: name: ADC_Common +RCC: + APB1RSTR: + _delete: + - CECRST + _include: - common_patches/f7x23_pllsai.yaml - common_patches/dma_fcr_wo.yaml diff --git a/devices/stm32f745.yaml b/devices/stm32f745.yaml index 4389540d4..46e2162d4 100644 --- a/devices/stm32f745.yaml +++ b/devices/stm32f745.yaml @@ -174,3 +174,5 @@ _include: - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0385.yaml diff --git a/devices/stm32f750.yaml b/devices/stm32f750.yaml index e9ce49b5b..404aeeb82 100644 --- a/devices/stm32f750.yaml +++ b/devices/stm32f750.yaml @@ -104,3 +104,5 @@ _include: - common_patches/ltdc/ltdc.yaml - common_patches/ltdc/f4_f7_ltdc_bccr.yaml - ../peripherals/ltdc/ltdc.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0385.yaml diff --git a/devices/stm32f765.yaml b/devices/stm32f765.yaml index 63e778e14..fb578f626 100644 --- a/devices/stm32f765.yaml +++ b/devices/stm32f765.yaml @@ -184,3 +184,5 @@ _include: - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0410.yaml diff --git a/devices/stm32f7x2.yaml b/devices/stm32f7x2.yaml index dba162434..3ee0edf49 100644 --- a/devices/stm32f7x2.yaml +++ b/devices/stm32f7x2.yaml @@ -12,6 +12,11 @@ _modify: C_ADC: name: ADC_Common +RCC: + APB1RSTR: + _delete: + - CECRST + _include: - common_patches/f7x23_pllsai.yaml - common_patches/dma_fcr_wo.yaml diff --git a/devices/stm32f7x3.yaml b/devices/stm32f7x3.yaml index 9d55ccd52..a19b15edf 100644 --- a/devices/stm32f7x3.yaml +++ b/devices/stm32f7x3.yaml @@ -12,6 +12,11 @@ _modify: C_ADC: name: ADC_Common +RCC: + APB1RSTR: + _delete: + - CECRST + # Registers name are prefixed with WWDG_. Use common names. WWDG: _modify: diff --git a/devices/stm32f7x6.yaml b/devices/stm32f7x6.yaml index 6c0e42923..d67afd535 100644 --- a/devices/stm32f7x6.yaml +++ b/devices/stm32f7x6.yaml @@ -162,3 +162,5 @@ _include: - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0385.yaml diff --git a/devices/stm32f7x7.yaml b/devices/stm32f7x7.yaml index bdd315815..7f774b9d2 100644 --- a/devices/stm32f7x7.yaml +++ b/devices/stm32f7x7.yaml @@ -332,3 +332,5 @@ _include: - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0410.yaml diff --git a/devices/stm32f7x9.yaml b/devices/stm32f7x9.yaml index f3667dabd..86b9bafc5 100644 --- a/devices/stm32f7x9.yaml +++ b/devices/stm32f7x9.yaml @@ -327,3 +327,5 @@ _include: - ../peripherals/dma/dma2d_v1.yaml - common_patches/rtc/rtc_cr.yaml - ../peripherals/rtc/rtc_common.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0410.yaml diff --git a/devices/stm32g071.yaml b/devices/stm32g071.yaml index 18c969d74..bd5e9dc2c 100644 --- a/devices/stm32g071.yaml +++ b/devices/stm32g071.yaml @@ -42,3 +42,5 @@ _include: - ../peripherals/exti/exti_g0.yaml - ./common_patches/g0_adc_typo.yaml - ./common_patches/g0_dma_7ch.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0444.yaml diff --git a/devices/stm32g081.yaml b/devices/stm32g081.yaml index 98601874a..e01122741 100644 --- a/devices/stm32g081.yaml +++ b/devices/stm32g081.yaml @@ -15,3 +15,5 @@ _include: - ../peripherals/exti/exti_g0.yaml - ./common_patches/g0_adc_typo.yaml - ./common_patches/g0_dma_7ch.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0444.yaml diff --git a/devices/stm32h743.yaml b/devices/stm32h743.yaml index 4956a50d8..9625033d9 100644 --- a/devices/stm32h743.yaml +++ b/devices/stm32h743.yaml @@ -76,3 +76,5 @@ _include: - ../peripherals/rtc/rtc_h7.yaml - common_patches/h7_crc_addr_fix.yaml - common_patches/h7_wwdg.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0433.yaml diff --git a/devices/stm32h743v.yaml b/devices/stm32h743v.yaml index c71b589e3..83c9b54aa 100644 --- a/devices/stm32h743v.yaml +++ b/devices/stm32h743v.yaml @@ -78,3 +78,5 @@ _include: - ../peripherals/rtc/rtc_h7.yaml - common_patches/h7_crc_addr_fix.yaml - common_patches/h7_wwdg.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0433.yaml diff --git a/devices/stm32h747cm4.yaml b/devices/stm32h747cm4.yaml index 8a15de44d..ca6286b37 100644 --- a/devices/stm32h747cm4.yaml +++ b/devices/stm32h747cm4.yaml @@ -90,3 +90,5 @@ _include: - ../peripherals/sai/sai.yaml - common_patches/h7_crc_addr_fix.yaml - common_patches/h7_wwdg.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0399.yaml diff --git a/devices/stm32h747cm7.yaml b/devices/stm32h747cm7.yaml index 80e2c3075..a306a4b9a 100644 --- a/devices/stm32h747cm7.yaml +++ b/devices/stm32h747cm7.yaml @@ -94,3 +94,5 @@ _include: - ../peripherals/rtc/rtc_h7.yaml - common_patches/h7_crc_addr_fix.yaml - common_patches/h7_wwdg.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0399.yaml diff --git a/devices/stm32h753.yaml b/devices/stm32h753.yaml index 2dbe16147..da6520090 100644 --- a/devices/stm32h753.yaml +++ b/devices/stm32h753.yaml @@ -85,3 +85,5 @@ _include: - ../peripherals/rtc/rtc_h7.yaml - common_patches/h7_crc_addr_fix.yaml - common_patches/h7_wwdg.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0433.yaml diff --git a/devices/stm32h753v.yaml b/devices/stm32h753v.yaml index 25da11ba3..cb5565b95 100644 --- a/devices/stm32h753v.yaml +++ b/devices/stm32h753v.yaml @@ -88,3 +88,5 @@ _include: - ../peripherals/rtc/rtc_h7.yaml - common_patches/h7_crc_addr_fix.yaml - common_patches/h7_wwdg.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0433.yaml diff --git a/devices/stm32h7b3.yaml b/devices/stm32h7b3.yaml index 44da1990b..4361edfcb 100644 --- a/devices/stm32h7b3.yaml +++ b/devices/stm32h7b3.yaml @@ -170,3 +170,5 @@ _include: - ../peripherals/rtc/rtc_h7.yaml - common_patches/h7_crc_addr_fix.yaml - common_patches/h7_wwdg.yaml + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0455.yaml diff --git a/devices/stm32mp157.yaml b/devices/stm32mp157.yaml index 037603d9e..8471a47db 100644 --- a/devices/stm32mp157.yaml +++ b/devices/stm32mp157.yaml @@ -12,3 +12,7 @@ _modify: fpuPresent: "true" nvicPrioBits: 4 vendorSystickConfig: "false" + +_include: + - common_patches/cec/cec_delete.yaml + - common_patches/cec/cec_RM0436.yaml diff --git a/peripherals/cec/cec_v1_fields_common.yaml b/peripherals/cec/cec_v1_fields_common.yaml new file mode 100644 index 000000000..a70017c18 --- /dev/null +++ b/peripherals/cec/cec_v1_fields_common.yaml @@ -0,0 +1,51 @@ +CFGR: + BPEM: + Standard: [0, "Standard mode"] + Flexible: [1, "Flexible bit period mode"] + BTEM: + Standard: [0, "Standard mode"] + ErrorFree: [1, "Bit timing error-free mode"] + IE: + Disabled: [0, "CEC interrupt is disabled"] + Enabled: [1, "CEC interrupt is enabled"] + PE: + Disabled: [0, "CEC is disabled"] + Enabled: [1, "CEC is enabled"] + +OAR: + OA: [0, 15] + +PRES: + PRESC: [0, 16383] + +CSR: + RBTF: + _write: + Clear: [0, "Clear Rx byte/block transfer finished flag"] + RERR: + _write: + Clear: [0, "Clear Rx error"] + REOM: + _write: + Clear: [0, "Clear Rx end of message flag"] + RSOM: + _write: + Clear: [0, "Clear Rx start of message flag"] + TBTRF: + _write: + Clear: [0, "Clear Tx byte transfer request or block transfer finished flag"] + TERR: + _write: + Clear: [0, "Clear Tx error"] + TEOM: + NoEOM: [0, "Tx data byte is transmitted without EOM bit"] + EOM: [1, "Tx data byte is transmitted with EOM bit"] + TSOM: + _read: + NoTx: [0, "No CEC transmission is ongoing"] + Tx: [1, "CEC transmission requested"] + _write: + Tx: [1, "Request CEC transmission"] + +TXD: + TXD: [0, 255] diff --git a/peripherals/cec/cec_v2_fields_common.yaml b/peripherals/cec/cec_v2_fields_common.yaml new file mode 100644 index 000000000..6f160912d --- /dev/null +++ b/peripherals/cec/cec_v2_fields_common.yaml @@ -0,0 +1,134 @@ +CR: + TXEOM: + _read: + EOM0: [0, "TXDR data byte is transmitted with EOM=0"] + EOM1: [1, "TXDR data byte is transmitted with EOM=1"] + _write: + EOM1: [1, "Transmit TXDR data byte with EOM=1"] + TXSOM: + _read: + NoTx: [0, "No CEC transmission is ongoing"] + Tx: [1, "CEC transmission requested"] + _write: + Tx: [1, "Request CEC transmission"] + CECEN: + Disabled: [0, "CEC is disabled"] + Enabled: [1, "CEC is enabled"] + +CFGR: + LSTN: + Ignore: [0, "CEC peripheral only receives messages addressed to its own address and ignores others"] + Listen: [1, "CEC peripheral receives all messages and acknowledges messages addressed to its own address"] + OAR: [0, 32767] + SFTOP: + Manual: [0, "SFT timer starts when TXSOM is set by software"] + Auto: [1, "SFT timer starts automatically at the end of message transmission/reception"] + BRDNOGEN: + GenErr: [0, "BRE detection or LBPE detection on a broadcast message generates an error bit on the CEC line"] + NoErr: [1, "Error detection on a broadcast message does not generate an error bit on the CEC line"] + LBPEGEN: + NoErr: [0, "LBPE detection does not generate an error bit on the CEC line"] + GenErr: [1, "LBPE detection generates an error bit on the CEC line"] + BREGEN: + NoErr: [0, "BRE detection does not generate an error bit on the CEC line"] + GenErr: [1, "BRE detection generates an error bit on the CEC line if BRESTP is set"] + BRESTP: + NoStop: [0, "BRE detection does not stop reception of the CEC message"] + ErrStop: [1, "BRE detection stops message reception"] + RXTOL: + Standard: [0, "Standard Rx tolerance margin"] + Extended: [1, "Extended Rx tolerance margin"] + SFT: + WaitHist: [0, "Number of nominal data bit periods waited is determined by the transmission history"] + Wait05: [1, "Wait 0.5 nominal data bit periods"] + Wait15: [2, "Wait 1.5 nominal data bit periods"] + Wait25: [3, "Wait 2.5 nominal data bit periods"] + Wait35: [4, "Wait 3.5 nominal data bit periods"] + Wait45: [5, "Wait 4.5 nominal data bit periods"] + Wait55: [6, "Wait 5.5 nominal data bit periods"] + Wait65: [7, "Wait 6.5 nominal data bit periods"] + +TXDR: + TXD: [0, 255] + +ISR: + TXACKE: + _write: + Clear: [1, "Clear Tx missing acknowledge error"] + TXERR: + _write: + Clear: [1, "Clear Tx error"] + TXUDR: + _write: + Clear: [1, "Clear Tx buffer underrun flag"] + TXEND: + _write: + Clear: [1, "Clear Tx end of transmission flag"] + TXBR: + _write: + Clear: [1, "Clear Tx byte request flag"] + ARBLST: + _write: + Clear: [1, "Clear arbitration lost flag"] + RXACKE: + _write: + Clear: [1, "Clear Rx missing acknowledge error"] + LBPE: + _write: + Clear: [1, "Clear Rx long bit period error"] + SBPE: + _write: + Clear: [1, "Clear Rx short bit period error"] + BRE: + _write: + Clear: [1, "Clear Rx bit rising error"] + RXOVR: + _write: + Clear: [1, "Clear Rx overrun flag"] + RXEND: + _write: + Clear: [1, "Clear Rx end of reception flag"] + RXBR: + _write: + Clear: [1, "Clear Rx byte received flag"] + +IER: + TXACKIE: + Disabled: [0, "Tx missing acknowledge error interrupt is disabled"] + Enabled: [1, "Tx missing acknowledge error interrupt is enabled"] + TXERRIE: + Disabled: [0, "Tx error interrupt is disabled"] + Enabled: [1, "Tx error interrupt is enabled"] + TXUDRIE: + Disabled: [0, "Tx underrun interrupt is disabled"] + Enabled: [1, "Tx underrun interrupt is enabled"] + TXENDIE: + Disabled: [0, "Tx end of message interrupt is disabled"] + Enabled: [1, "Tx end of message interrupt is enabled"] + TXBRIE: + Disabled: [0, "Tx byte request interrupt is disabled"] + Enabled: [1, "Tx byte request interrupt is enabled"] + ARBLSTIE: + Disabled: [0, "Arbitration lost interrupt is disabled"] + Enabled: [1, "Arbitration lost interrupt is enabled"] + RXACKIE: + Disabled: [0, "Rx missing acknowledge error interrupt is disabled"] + Enabled: [1, "Rx missing acknowledge error interrupt is enabled"] + LBPEIE: + Disabled: [0, "Long bit period error interrupt is disabled"] + Enabled: [1, "Long bit period error interrupt is enabled"] + SBPEIE: + Disabled: [0, "Short period error interrupt is disabled"] + Enabled: [1, "Short period error interrupt is enabled"] + BREIE: + Disabled: [0, "Bit rising error interrupt is disabled"] + Enabled: [1, "Bit rising error interrupt is enabled"] + RXOVRIE: + Disabled: [0, "Rx buffer overrun interrupt is disabled"] + Enabled: [1, "Rx buffer overrun interrupt is enabled"] + RXENDIE: + Disabled: [0, "Rx end of reception interrupt is disabled"] + Enabled: [1, "Rx end of reception interrupt is enabled"] + RXBRIE: + Disabled: [0, "Rx byte received interrupt is disabled"] + Enabled: [1, "Rx byte received interrupt is enabled"]
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: