void sysmgr_pinmux_init(void);
 void sysmgr_config_warmrstcfgio(int enable);
 
-void sysmgr_get_pinmux_table(const unsigned long **table,
-                            unsigned int *table_len);
+void sysmgr_get_pinmux_table(const u8 **table, unsigned int *table_len);
 #endif
 
 struct socfpga_system_manager {
 
 EOF
 
        # Retrieve the pinmux config and zap the ad-hoc length encoding
-       sed -n '/^unsigned/ !b; :next {/^unsigned/ s/\[.*\]/[]/;p;n;b next}' \
+       sed -n '/^unsigned/ !b; :next {/^unsigned/ {s/\[.*\]/[]/;s/unsigned long/const u8/};p;n;b next}' \
                ${in_dir}/generated/pinmux_config_${soc}.c
 
        cat << EOF
 
 void sysmgr_pinmux_init(void)
 {
        uint32_t regs = (uint32_t)&sysmgr_regs->emacio[0];
-       const unsigned long *sys_mgr_init_table;
+       const u8 *sys_mgr_init_table;
        unsigned int len;
        int i;
 
 
 /* Board-specific header. */
 #include <qts/pinmux_config.h>
 
-void sysmgr_get_pinmux_table(const unsigned long **table,
-                            unsigned int *table_len)
+void sysmgr_get_pinmux_table(const u8 **table, unsigned int *table_len)
 {
        *table = sys_mgr_init_table;
        *table_len = ARRAY_SIZE(sys_mgr_init_table);
 
 #ifndef __SOCFPGA_PINMUX_CONFIG_H__
 #define __SOCFPGA_PINMUX_CONFIG_H__
 
-unsigned long sys_mgr_init_table[] = {
+const u8 sys_mgr_init_table[] = {
        0, /* EMACIO0 */
        2, /* EMACIO1 */
        2, /* EMACIO2 */
 
 #ifndef __SOCFPGA_PINMUX_CONFIG_H__
 #define __SOCFPGA_PINMUX_CONFIG_H__
 
-unsigned long sys_mgr_init_table[] = {
+const u8 sys_mgr_init_table[] = {
        3, /* EMACIO0 */
        3, /* EMACIO1 */
        3, /* EMACIO2 */