/* ETMCR - 0x00 */
 #define ETMCR_PWD_DWN          BIT(0)
 #define ETMCR_STALL_MODE       BIT(7)
+#define ETMCR_BRANCH_BROADCAST BIT(8)
 #define ETMCR_ETM_PRG          BIT(10)
 #define ETMCR_ETM_EN           BIT(11)
 #define ETMCR_CYC_ACC          BIT(12)
 #define ETMCR_CTXID_SIZE       (BIT(14)|BIT(15))
 #define ETMCR_TIMESTAMP_EN     BIT(28)
+#define ETMCR_RETURN_STACK     BIT(29)
 /* ETMCCR - 0x04 */
 #define ETMCCR_FIFOFULL                BIT(23)
 /* ETMPDCR - 0x310 */
 #define ETM_MODE_STALL         BIT(2)
 #define ETM_MODE_TIMESTAMP     BIT(3)
 #define ETM_MODE_CTXID         BIT(4)
+#define ETM_MODE_BBROAD                BIT(5)
+#define ETM_MODE_RET_STACK     BIT(6)
 #define ETM_MODE_ALL           (ETM_MODE_EXCLUDE | ETM_MODE_CYCACC | \
                                 ETM_MODE_STALL | ETM_MODE_TIMESTAMP | \
+                                ETM_MODE_BBROAD | ETM_MODE_RET_STACK | \
                                 ETM_MODE_CTXID | ETM_MODE_EXCL_KERN | \
                                 ETM_MODE_EXCL_USER)
 
 
        else
                config->ctrl &= ~ETMCR_CTXID_SIZE;
 
+       if (config->mode & ETM_MODE_BBROAD)
+               config->ctrl |= ETMCR_BRANCH_BROADCAST;
+       else
+               config->ctrl &= ~ETMCR_BRANCH_BROADCAST;
+
+       if (config->mode & ETM_MODE_RET_STACK)
+               config->ctrl |= ETMCR_RETURN_STACK;
+       else
+               config->ctrl &= ~ETMCR_RETURN_STACK;
+
        if (config->mode & (ETM_MODE_EXCL_KERN | ETM_MODE_EXCL_USER))
                etm_config_trace_mode(config);