Rockbox Development > Starting Development and Compiling

Beginning steps in kernel disassembly and analysis

<< < (7/9) > >>

dconrad:
Excellent, thanks for holding my hand through this!

Just a couple quick "this should be obvious, but..." questions -

When you say the manual, you're referring to this X1000 Programming Manual?

And it looks like the GPIOs map like this:
PA0-PA31 --> 0x00-0x1F
PB0-PB31 --> 0x20-0x3F
PC0-PC31 --> 0x40-0x5F
PD0-PD31 --> 0x60-0x6F
^^ Is that right?

dconrad:
One more data dump for posterity - I think I have some AXP stuff here. I wanted to find this so I could make sure the first attempts wouldn't set them wrong and kill whatever they're hooked up to...


--- Code: ---                              regulator_init_data_ARRAY_80510ca8[1].*supply_  XREF[1,8]:   80510c38(*), 80510c44(*),
                             regulator_init_data_ARRAY_80510ca8[2].*supply_               80510c50(*), 80510c5c(*),
                             regulator_init_data_ARRAY_80510ca8[3].*supply_               80510c68(*), 80510c74(*),
                             regulator_init_data_ARRAY_80510ca8[4].*supply_               80510c80(*), 80510c8c(*),
                             regulator_init_data_ARRAY_80510ca8[5].*supply_               80510c98(*) 
                             regulator_init_data_ARRAY_80510ca8[6].*supply_
                             regulator_init_data_ARRAY_80510ca8[7].*supply_
                             regulator_init_data_ARRAY_80510ca8[8].*supply_
                             regulator_init_data_ARRAY_80510ca8
        80510ca8 00 00 00        regulato
                 00 5c 75
                 4b 80 d0
           80510ca8 00 00 00 00 5c  regulato                          [0]                               XREF[1]:     80510c38(*) 
                    75 4b 80 d0 12
                    13 00 d0 12 13
              80510ca8 00 00 00 00     char *    00000000                *supply_regu                      XREF[1]:     80510c38(*) 
              80510cac 5c 75 4b 80 d0  regulati                          constraints
                       12 13 00 d0 12
                       13 00 00 00 00
                 80510cac 5c 75 4b 80     char *    s_axp_ldo1_804b755c     *name         = "axp_ldo1"
                 80510cb0 d0 12 13 00     int       1312D0h                 min_uV        v output range - v
                 80510cb4 d0 12 13 00     int       1312D0h                 max_uV        v output range - v
                 80510cb8 00 00 00 00     int       0h                      uV_offset
                 80510cbc 00 00 00 00     int       0h                      min_uA        i output range - i
                 80510cc0 00 00 00 00     int       0h                      max_uA        i output range - i
                 80510cc4 00 00 00 00     uint      0h                      valid_modes_
                 80510cc8 00 00 00 00     uint      0h                      valid_ops_mask
                 80510ccc 00 00 00 00     int       0h                      input_uV      input v, if supply
                 80510cd0 00 00 00 00 00  regulato                          state_disk
                          00 00 00 00 00
                          00 00 00 00 00
                    80510cd0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510cd4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510cd8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510cdc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510ce0 00 00 00 00 00  regulato                          state_mem
                          00 00 00 00 00
                          00 00 00 00 00
                    80510ce0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510ce4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510ce8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510cec 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510cf0 00 00 00 00 00  regulato                          state_standby
                          00 00 00 00 00
                          00 00 00 00 00
                    80510cf0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510cf4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510cf8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510cfc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510d00 00 00 00 00     int       0h                      initial_state
                 80510d04 00 00 00 00     uint      0h                      initial_mode
                 80510d08 00 00 00 00     uint      0h                      ramp_delay
                 80510d0c 00              uint:1    0h                      always_on:1
                 80510d0c 00              uint:1    0h                      boot_on:1
                 80510d0c 00 00 00 00     uint:1    0h                      apply_uV      apply uV constrain
              80510d10 01 00 00 00     int       1h                      num_consumer
              80510d14 0c 11 51 80     regulato  DAT_8051110c            *consumer_su
              80510d18 00 00 00 00     int *     00000000                *regulator_i
              80510d1c 00 00 00 00     void *    00000000                *driver_data
           80510d20 00 00 00 00 68  regulato                          [1]                               XREF[1]:     80510c44(*) 
                    75 4b 80 40 77
                    1b 00 a0 5a 32
              80510d20 00 00 00 00     char *    00000000                *supply_regu                      XREF[1]:     80510c44(*) 
              80510d24 68 75 4b 80 40  regulati                          constraints
                       77 1b 00 a0 5a
                       32 00 00 00 00
                 80510d24 68 75 4b 80     char *    s_axp_ldo2_804b7568     *name         = "axp_ldo2"
                 80510d28 40 77 1b 00     int       1B7740h                 min_uV        v output range - v
                 80510d2c a0 5a 32 00     int       325AA0h                 max_uV        v output range - v
                 80510d30 00 00 00 00     int       0h                      uV_offset
                 80510d34 00 00 00 00     int       0h                      min_uA        i output range - i
                 80510d38 00 00 00 00     int       0h                      max_uA        i output range - i
                 80510d3c 00 00 00 00     uint      0h                      valid_modes_
                 80510d40 09 00 00 00     uint      9h                      valid_ops_mask
                 80510d44 00 00 00 00     int       0h                      input_uV      input v, if supply
                 80510d48 00 00 00 00 00  regulato                          state_disk
                          00 00 00 00 00
                          00 00 00 00 00
                    80510d48 00 00 00 00     int       0h                      uV            suspend voltage
                    80510d4c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510d50 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510d54 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510d58 00 00 00 00 00  regulato                          state_mem
                          00 00 00 00 00
                          00 00 00 00 00
                    80510d58 00 00 00 00     int       0h                      uV            suspend voltage
                    80510d5c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510d60 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510d64 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510d68 a0 5a 32 00 00  regulato                          state_standby
                          00 00 00 01 00
                          00 00 00 00 00
                    80510d68 a0 5a 32 00     int       325AA0h                 uV            suspend voltage
                    80510d6c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510d70 01 00 00 00     int       1h                      enabled       reg enabled in sus
                    80510d74 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510d78 02 00 00 00     int       2h                      initial_state
                 80510d7c 00 00 00 00     uint      0h                      initial_mode
                 80510d80 00 00 00 00     uint      0h                      ramp_delay
                 80510d84 00              uint:1    0h                      always_on:1
                 80510d84 00              uint:1    0h                      boot_on:1
                 80510d84 00 00 00 00     uint:1    0h                      apply_uV      apply uV constrain
              80510d88 01 00 00 00     int       1h                      num_consumer
              80510d8c 14 11 51 80     regulato  DAT_80511114            *consumer_su
              80510d90 00 00 00 00     int *     00000000                *regulator_i
              80510d94 00 00 00 00     void *    00000000                *driver_data
           80510d98 00 00 00 00 74  regulato                          [2]                               XREF[1]:     80510c50(*) 
                    75 4b 80 60 ae
                    0a 00 e0 67 35
              80510d98 00 00 00 00     char *    00000000                *supply_regu                      XREF[1]:     80510c50(*) 
              80510d9c 74 75 4b 80 60  regulati                          constraints
                       ae 0a 00 e0 67
                       35 00 00 00 00
                 80510d9c 74 75 4b 80     char *    s_axp_ldo3_804b7574     *name         = "axp_ldo3"
                 80510da0 60 ae 0a 00     int       AAE60h                  min_uV        v output range - v
                 80510da4 e0 67 35 00     int       3567E0h                 max_uV        v output range - v
                 80510da8 00 00 00 00     int       0h                      uV_offset
                 80510dac 00 00 00 00     int       0h                      min_uA        i output range - i
                 80510db0 00 00 00 00     int       0h                      max_uA        i output range - i
                 80510db4 00 00 00 00     uint      0h                      valid_modes_
                 80510db8 09 00 00 00     uint      9h                      valid_ops_mask
                 80510dbc 00 00 00 00     int       0h                      input_uV      input v, if supply
                 80510dc0 00 00 00 00 00  regulato                          state_disk
                          00 00 00 00 00
                          00 00 00 00 00
                    80510dc0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510dc4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510dc8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510dcc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510dd0 00 00 00 00 00  regulato                          state_mem
                          00 00 00 00 00
                          00 00 00 00 00
                    80510dd0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510dd4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510dd8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510ddc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510de0 00 00 00 00 00  regulato                          state_standby
                          00 00 00 00 00
                          00 00 00 00 00
                    80510de0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510de4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510de8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510dec 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510df0 00 00 00 00     int       0h                      initial_state
                 80510df4 00 00 00 00     uint      0h                      initial_mode
                 80510df8 00 00 00 00     uint      0h                      ramp_delay
                 80510dfc 00              uint:1    0h                      always_on:1
                 80510dfc 00              uint:1    0h                      boot_on:1
                 80510dfc 00 00 00 00     uint:1    0h                      apply_uV      apply uV constrain
              80510e00 01 00 00 00     int       1h                      num_consumer
              80510e04 1c 11 51 80     regulato  DAT_8051111c            *consumer_su
              80510e08 00 00 00 00     int *     00000000                *regulator_i
              80510e0c 00 00 00 00     void *    00000000                *driver_data
           80510e10 00 00 00 00 80  regulato                          [3]                               XREF[1]:     80510c5c(*) 
                    75 4b 80 40 77
                    1b 00 a0 5a 32
              80510e10 00 00 00 00     char *    00000000                *supply_regu                      XREF[1]:     80510c5c(*) 
              80510e14 80 75 4b 80 40  regulati                          constraints
                       77 1b 00 a0 5a
                       32 00 00 00 00
                 80510e14 80 75 4b 80     char *    s_axp_ldo4_804b7580     *name         = "axp_ldo4"
                 80510e18 40 77 1b 00     int       1B7740h                 min_uV        v output range - v
                 80510e1c a0 5a 32 00     int       325AA0h                 max_uV        v output range - v
                 80510e20 00 00 00 00     int       0h                      uV_offset
                 80510e24 00 00 00 00     int       0h                      min_uA        i output range - i
                 80510e28 00 00 00 00     int       0h                      max_uA        i output range - i
                 80510e2c 00 00 00 00     uint      0h                      valid_modes_
                 80510e30 09 00 00 00     uint      9h                      valid_ops_mask
                 80510e34 00 00 00 00     int       0h                      input_uV      input v, if supply
                 80510e38 00 00 00 00 00  regulato                          state_disk
                          00 00 00 00 00
                          00 00 00 00 00
                    80510e38 00 00 00 00     int       0h                      uV            suspend voltage
                    80510e3c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510e40 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510e44 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510e48 00 00 00 00 00  regulato                          state_mem
                          00 00 00 00 00
                          00 00 00 00 00
                    80510e48 00 00 00 00     int       0h                      uV            suspend voltage
                    80510e4c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510e50 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510e54 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510e58 00 00 00 00 00  regulato                          state_standby
                          00 00 00 00 00
                          00 00 00 00 00
                    80510e58 00 00 00 00     int       0h                      uV            suspend voltage
                    80510e5c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510e60 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510e64 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510e68 00 00 00 00     int       0h                      initial_state
                 80510e6c 00 00 00 00     uint      0h                      initial_mode
                 80510e70 00 00 00 00     uint      0h                      ramp_delay
                 80510e74 00              uint:1    0h                      always_on:1
                 80510e74 00              uint:1    0h                      boot_on:1
                 80510e74 00 00 00 00     uint:1    0h                      apply_uV      apply uV constrain
              80510e78 01 00 00 00     int       1h                      num_consumer
              80510e7c 24 11 51 80     regulato  DAT_80511124            *consumer_su
              80510e80 00 00 00 00     int *     00000000                *regulator_i
              80510e84 00 00 00 00     void *    00000000                *driver_data
           80510e88 00 00 00 00 8c  regulato                          [4]                               XREF[1]:     80510c68(*) 
                    75 4b 80 60 ae
                    0a 00 e0 67 35
              80510e88 00 00 00 00     char *    00000000                *supply_regu                      XREF[1]:     80510c68(*) 
              80510e8c 8c 75 4b 80 60  regulati                          constraints
                       ae 0a 00 e0 67
                       35 00 00 00 00
                 80510e8c 8c 75 4b 80     char *    s_axp_buck1_804b758c    *name         = "axp_buck1"
                 80510e90 60 ae 0a 00     int       AAE60h                  min_uV        v output range - v
                 80510e94 e0 67 35 00     int       3567E0h                 max_uV        v output range - v
                 80510e98 00 00 00 00     int       0h                      uV_offset
                 80510e9c 00 00 00 00     int       0h                      min_uA        i output range - i
                 80510ea0 00 00 00 00     int       0h                      max_uA        i output range - i
                 80510ea4 00 00 00 00     uint      0h                      valid_modes_
                 80510ea8 09 00 00 00     uint      9h                      valid_ops_mask
                 80510eac 00 00 00 00     int       0h                      input_uV      input v, if supply
                 80510eb0 00 00 00 00 00  regulato                          state_disk
                          00 00 00 00 00
                          00 00 00 00 00
                    80510eb0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510eb4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510eb8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510ebc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510ec0 00 00 00 00 00  regulato                          state_mem
                          00 00 00 00 00
                          00 00 00 00 00
                    80510ec0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510ec4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510ec8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510ecc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510ed0 00 00 00 00 00  regulato                          state_standby
                          00 00 00 00 00
                          00 00 00 00 00
                    80510ed0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510ed4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510ed8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510edc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510ee0 00 00 00 00     int       0h                      initial_state
                 80510ee4 00 00 00 00     uint      0h                      initial_mode
                 80510ee8 00 00 00 00     uint      0h                      ramp_delay
                 80510eec 00              uint:1    0h                      always_on:1
                 80510eec 00              uint:1    0h                      boot_on:1
                 80510eec 00 00 00 00     uint:1    0h                      apply_uV      apply uV constrain
              80510ef0 01 00 00 00     int       1h                      num_consumer
              80510ef4 2c 11 51 80     regulato  DAT_8051112c            *consumer_su
              80510ef8 00 00 00 00     int *     00000000                *regulator_i
              80510efc 00 00 00 00     void *    00000000                *driver_data
           80510f00 00 00 00 00 98  regulato                          [5]                               XREF[1]:     80510c74(*) 
                    75 4b 80 60 ae
                    0a 00 b8 b6 22
              80510f00 00 00 00 00     char *    00000000                *supply_regu                      XREF[1]:     80510c74(*) 
              80510f04 98 75 4b 80 60  regulati                          constraints
                       ae 0a 00 b8 b6
                       22 00 00 00 00
                 80510f04 98 75 4b 80     char *    s_axp_buck2_804b7598    *name         = "axp_buck2"
                 80510f08 60 ae 0a 00     int       AAE60h                  min_uV        v output range - v
                 80510f0c b8 b6 22 00     int       22B6B8h                 max_uV        v output range - v
                 80510f10 00 00 00 00     int       0h                      uV_offset
                 80510f14 00 00 00 00     int       0h                      min_uA        i output range - i
                 80510f18 00 00 00 00     int       0h                      max_uA        i output range - i
                 80510f1c 00 00 00 00     uint      0h                      valid_modes_
                 80510f20 09 00 00 00     uint      9h                      valid_ops_mask
                 80510f24 00 00 00 00     int       0h                      input_uV      input v, if supply
                 80510f28 00 00 00 00 00  regulato                          state_disk
                          00 00 00 00 00
                          00 00 00 00 00
                    80510f28 00 00 00 00     int       0h                      uV            suspend voltage
                    80510f2c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510f30 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510f34 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510f38 00 00 00 00 00  regulato                          state_mem
                          00 00 00 00 00
                          00 00 00 00 00
                    80510f38 00 00 00 00     int       0h                      uV            suspend voltage
                    80510f3c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510f40 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510f44 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510f48 00 00 00 00 00  regulato                          state_standby
                          00 00 00 00 00
                          00 00 00 00 00
                    80510f48 00 00 00 00     int       0h                      uV            suspend voltage
                    80510f4c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510f50 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510f54 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510f58 00 00 00 00     int       0h                      initial_state
                 80510f5c 00 00 00 00     uint      0h                      initial_mode
                 80510f60 00 00 00 00     uint      0h                      ramp_delay
                 80510f64 00              uint:1    0h                      always_on:1
                 80510f64 00              uint:1    0h                      boot_on:1
                 80510f64 00 00 00 00     uint:1    0h                      apply_uV      apply uV constrain
              80510f68 01 00 00 00     int       1h                      num_consumer
              80510f6c 34 11 51 80     regulato  DAT_80511134            *consumer_su
              80510f70 00 00 00 00     int *     00000000                *regulator_i
              80510f74 00 00 00 00     void *    00000000                *driver_data
           80510f78 00 00 00 00 a4  regulato                          [6]                               XREF[1]:     80510c80(*) 
                    75 4b 80 60 ae
                    0a 00 e0 67 35
              80510f78 00 00 00 00     char *    00000000                *supply_regu                      XREF[1]:     80510c80(*) 
              80510f7c a4 75 4b 80 60  regulati                          constraints
                       ae 0a 00 e0 67
                       35 00 00 00 00
                 80510f7c a4 75 4b 80     char *    s_axp_buck3_804b75a4    *name         = "axp_buck3"
                 80510f80 60 ae 0a 00     int       AAE60h                  min_uV        v output range - v
                 80510f84 e0 67 35 00     int       3567E0h                 max_uV        v output range - v
                 80510f88 00 00 00 00     int       0h                      uV_offset
                 80510f8c 00 00 00 00     int       0h                      min_uA        i output range - i
                 80510f90 00 00 00 00     int       0h                      max_uA        i output range - i
                 80510f94 00 00 00 00     uint      0h                      valid_modes_
                 80510f98 09 00 00 00     uint      9h                      valid_ops_mask
                 80510f9c 00 00 00 00     int       0h                      input_uV      input v, if supply
                 80510fa0 00 00 00 00 00  regulato                          state_disk
                          00 00 00 00 00
                          00 00 00 00 00
                    80510fa0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510fa4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510fa8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510fac 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510fb0 00 00 00 00 00  regulato                          state_mem
                          00 00 00 00 00
                          00 00 00 00 00
                    80510fb0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510fb4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510fb8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510fbc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510fc0 00 00 00 00 00  regulato                          state_standby
                          00 00 00 00 00
                          00 00 00 00 00
                    80510fc0 00 00 00 00     int       0h                      uV            suspend voltage
                    80510fc4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80510fc8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80510fcc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80510fd0 00 00 00 00     int       0h                      initial_state
                 80510fd4 00 00 00 00     uint      0h                      initial_mode
                 80510fd8 00 00 00 00     uint      0h                      ramp_delay
                 80510fdc 00              uint:1    0h                      always_on:1
                 80510fdc 00              uint:1    0h                      boot_on:1
                 80510fdc 00 00 00 00     uint:1    0h                      apply_uV      apply uV constrain
              80510fe0 01 00 00 00     int       1h                      num_consumer
              80510fe4 3c 11 51 80     regulato  DAT_8051113c            *consumer_su
              80510fe8 00 00 00 00     int *     00000000                *regulator_i
              80510fec 00 00 00 00     void *    00000000                *driver_data
           80510ff0 00 00 00 00 b0  regulato                          [7]                               XREF[1]:     80510c8c(*) 
                    75 4b 80 60 ae
                    0a 00 e0 67 35
              80510ff0 00 00 00 00     char *    00000000                *supply_regu                      XREF[1]:     80510c8c(*) 
              80510ff4 b0 75 4b 80 60  regulati                          constraints
                       ae 0a 00 e0 67
                       35 00 00 00 00
                 80510ff4 b0 75 4b 80     char *    s_axp_buck4_804b75b0    *name         = "axp_buck4"
                 80510ff8 60 ae 0a 00     int       AAE60h                  min_uV        v output range - v
                 80510ffc e0 67 35 00     int       3567E0h                 max_uV        v output range - v
                 80511000 00 00 00 00     int       0h                      uV_offset
                 80511004 00 00 00 00     int       0h                      min_uA        i output range - i
                 80511008 00 00 00 00     int       0h                      max_uA        i output range - i
                 8051100c 00 00 00 00     uint      0h                      valid_modes_
                 80511010 09 00 00 00     uint      9h                      valid_ops_mask
                 80511014 00 00 00 00     int       0h                      input_uV      input v, if supply
                 80511018 00 00 00 00 00  regulato                          state_disk
                          00 00 00 00 00
                          00 00 00 00 00
                    80511018 00 00 00 00     int       0h                      uV            suspend voltage
                    8051101c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80511020 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80511024 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80511028 00 00 00 00 00  regulato                          state_mem
                          00 00 00 00 00
                          00 00 00 00 00
                    80511028 00 00 00 00     int       0h                      uV            suspend voltage
                    8051102c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80511030 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80511034 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80511038 00 00 00 00 00  regulato                          state_standby
                          00 00 00 00 00
                          00 00 00 00 00
                    80511038 00 00 00 00     int       0h                      uV            suspend voltage
                    8051103c 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80511040 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    80511044 00 00 00 00     int       0h                      disabled      reg disabled in su
                 80511048 00 00 00 00     int       0h                      initial_state
                 8051104c 00 00 00 00     uint      0h                      initial_mode
                 80511050 00 00 00 00     uint      0h                      ramp_delay
                 80511054 00              uint:1    0h                      always_on:1
                 80511054 00              uint:1    0h                      boot_on:1
                 80511054 00 00 00 00     uint:1    0h                      apply_uV      apply uV constrain
              80511058 01 00 00 00     int       1h                      num_consumer
              8051105c 44 11 51 80     regulato  DAT_80511144            *consumer_su
              80511060 00 00 00 00     int *     00000000                *regulator_i
              80511064 00 00 00 00     void *    00000000                *driver_data
           80511068 00 00 00 00 bc  regulato                          [8]                               XREF[1]:     80510c98(*) 
                    75 4b 80 40 77
                    1b 00 a0 5a 32
              80511068 00 00 00 00     char *    00000000                *supply_regu                      XREF[1]:     80510c98(*) 
              8051106c bc 75 4b 80 40  regulati                          constraints
                       77 1b 00 a0 5a
                       32 00 00 00 00
                 8051106c bc 75 4b 80     char *    s_axp_ldoio0_804b75bc   *name         = "axp_ldoio0"
                 80511070 40 77 1b 00     int       1B7740h                 min_uV        v output range - v
                 80511074 a0 5a 32 00     int       325AA0h                 max_uV        v output range - v
                 80511078 00 00 00 00     int       0h                      uV_offset
                 8051107c 00 00 00 00     int       0h                      min_uA        i output range - i
                 80511080 00 00 00 00     int       0h                      max_uA        i output range - i
                 80511084 00 00 00 00     uint      0h                      valid_modes_
                 80511088 09 00 00 00     uint      9h                      valid_ops_mask
                 8051108c 00 00 00 00     int       0h                      input_uV      input v, if supply
                 80511090 00 00 00 00 00  regulato                          state_disk
                          00 00 00 00 00
                          00 00 00 00 00
                    80511090 00 00 00 00     int       0h                      uV            suspend voltage
                    80511094 00 00 00 00     uint      0h                      mode          suspend reg operat
                    80511098 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    8051109c 00 00 00 00     int       0h                      disabled      reg disabled in su
                 805110a0 00 00 00 00 00  regulato                          state_mem
                          00 00 00 00 00
                          00 00 00 00 00
                    805110a0 00 00 00 00     int       0h                      uV            suspend voltage
                    805110a4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    805110a8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    805110ac 00 00 00 00     int       0h                      disabled      reg disabled in su
                 805110b0 00 00 00 00 00  regulato                          state_standby
                          00 00 00 00 00
                          00 00 00 00 00
                    805110b0 00 00 00 00     int       0h                      uV            suspend voltage
                    805110b4 00 00 00 00     uint      0h                      mode          suspend reg operat
                    805110b8 00 00 00 00     int       0h                      enabled       reg enabled in sus
                    805110bc 00 00 00 00     int       0h                      disabled      reg disabled in su
                 805110c0 00 00 00 00     int       0h                      initial_state
                 805110c4 00 00 00 00     uint      0h                      initial_mode
                 805110c8 00 00 00 00     uint      0h                      ramp_delay
                 805110cc 00              uint:1    0h                      always_on:1
                 805110cc 00              uint:1    0h                      boot_on:1
                 805110cc 00 00 00 00     uint:1    0h                      apply_uV      apply uV constrain
              805110d0 01 00 00 00     int       1h                      num_consumer
              805110d4 4c 11 51 80     regulato  DAT_8051114c            *consumer_su
              805110d8 00 00 00 00     int *     00000000                *regulator_i
              805110dc 00 00 00 00     void *    00000000                *driver_data
                             axp_supply_init_data_805110e0                   XREF[1]:     80510ca4(*) 
        805110e0 54 11 51        axp_supp
                 80 20 03
                 00 00 20
           805110e0 54 11 51 80     power_su  power_supply_info_8051  *battery_info =                   XREF[1]:     80510ca4(*) 
           805110e4 20 03 00 00     uint      320h                    chgcur
           805110e8 20 03 00 00     uint      320h                    chgearcur
           805110ec 20 03 00 00     uint      320h                    chgsuscur
           805110f0 20 03 00 00     uint      320h                    chgclscur
           805110f4 68 10 00 00     uint      1068h                   chgvol
           805110f8 0a 00 00 00     uint      Ah                      chgend
           805110fc 00 00 00 00     int       0h                      limit_on
           80511100 32 00 00 00     uint      32h                     chgpretime
           80511104 e0 01 00 00     uint      1E0h                    chgcsttime
           80511108 19 00 00 00     uint      19h                     adc_freq
                             DAT_8051110c                                    XREF[1]:     80510d14(*) 
        8051110c 00              ??         00h
        8051110d 00              ??         00h
        8051110e 00              ??         00h
        8051110f 00              ??         00h
        80511110 60 75 4b 80     addr       s_ldo1_804b755c+4                                = "ldo1"
                             DAT_80511114                                    XREF[1]:     80510d8c(*) 
        80511114 00              ??         00h
        80511115 00              ??         00h
        80511116 00              ??         00h
        80511117 00              ??         00h
        80511118 6c 75 4b 80     addr       s_ldo2_804b7568+4                                = "ldo2"
                             DAT_8051111c                                    XREF[1]:     80510e04(*) 
        8051111c 00              ??         00h
        8051111d 00              ??         00h
        8051111e 00              ??         00h
        8051111f 00              ??         00h
        80511120 78 75 4b 80     addr       s_ldo3_804b7574+4                                = "ldo3"
                             DAT_80511124                                    XREF[1]:     80510e7c(*) 
        80511124 00              ??         00h
        80511125 00              ??         00h
        80511126 00              ??         00h
        80511127 00              ??         00h
        80511128 84 75 4b 80     addr       s_ldo4_804b7580+4                                = "ldo4"
                             DAT_8051112c                                    XREF[1]:     80510ef4(*) 
        8051112c 00              ??         00h
        8051112d 00              ??         00h
        8051112e 00              ??         00h
        8051112f 00              ??         00h
        80511130 c8 75 4b 80     addr       s_dcdc1_804b75c8                                 = "dcdc1"
                             DAT_80511134                                    XREF[1]:     80510f6c(*) 
        80511134 00              ??         00h
        80511135 00              ??         00h
        80511136 00              ??         00h
        80511137 00              ??         00h
        80511138 d0 75 4b 80     addr       s_vdd_cpu_804b75d0                               = "vdd_cpu"
                             DAT_8051113c                                    XREF[1]:     80510fe4(*) 
        8051113c 00              ??         00h
        8051113d 00              ??         00h
        8051113e 00              ??         00h
        8051113f 00              ??         00h
        80511140 d8 75 4b 80     addr       s_dcdc3_804b75d8                                 = "dcdc3"
                             DAT_80511144                                    XREF[1]:     8051105c(*) 
        80511144 00              ??         00h
        80511145 00              ??         00h
        80511146 00              ??         00h
        80511147 00              ??         00h
        80511148 e0 75 4b 80     addr       s_vdd_core_804b75e0                              = "vdd_core"
                             DAT_8051114c                                    XREF[1]:     805110d4(*) 
        8051114c 00              ??         00h
        8051114d 00              ??         00h
        8051114e 00              ??         00h
        8051114f 00              ??         00h
        80511150 c0 75 4b 80     addr       s_ldoio0_804b75bc+4                              = "ldoio0"
                             power_supply_info_80511154                      XREF[1]:     805110e0(*) 
        80511154 ec 75 4b        power_su
                 80 02 00
                 00 00 68
           80511154 ec 75 4b 80     char *    s_EASTROAD_804b75ec     name          = "EASTROAD"        XREF[1]:     805110e0(*) 
           80511158 02 00 00 00     int       2h                      technology
           8051115c 68 10 00 00     int       1068h                   voltage_max_
           80511160 48 0d 00 00     int       D48h                    voltage_min_
           80511164 00 00 00 00     int       0h                      charge_full_
           80511168 00 00 00 00     int       0h                      charge_empty
           8051116c e4 0c 00 00     int       CE4h                    energy_full_
           80511170 00 00 00 00     int       0h                      energy_empty
           80511174 00 00 00 00     int       0h                      use_for_apm
        80511178 00              ??         00h
        80511179 00              ??         00h
        8051117a 00              ??         00h

--- End code ---

Notes from above:

--- Code: ---dcdc1: 0.70 - 3.50
dcdc2: 0.70 - 2.275 *
dcdc3: 0.70 - 3.50
dcdc4: 0.70 - 3.50 **
ldo1: 1.25 - 1.25
ldo2: 1.80 - 3.30 ***
ldo3: 0.70 - 3.50
ldo4: 1.80 - 3.30
ldo io 0: 1.80 - 3.30

* dcdc2 notes: labelled "vdd_cpu"
**dcdc4 notes: labelled "vdd_core"
*** ldo2 notes: Standby state enabled, 3.30V, initial state "2"

--- End code ---

amachronic:
Yeah that's the manual I mean, and you have the GPIO numbering right. I have a "later" version of the manual which I got from Ingenic's FTP last year, marked October 2018. I don't know if there are any meaningful differences.

Re. power supply voltages -- after a reset all voltages will return to a default setting, and they can't be changed until fairly late in the boot. The ranges you got are simply ranges supported by the chip, and somewhere else, there may be an actual voltage setting. That might be in a data table, or could be buried inside a function call; who knows. But if none of the defaults are changed, then there may be nothing to see, unless they decided to redundantly set the defaults somewhere. The OF should be able to report the voltages through sysfs; I don't remember the full paths, but they are named axp_supplyer.N. I think that's how I learned about the Q1's voltage levels, because digging in the kernel wasn't revealing much. The M3K just used default voltages.

X1000 and AXP192 datasheets: https://drive.google.com/drive/folders/19Z_nSW88B7ibtFly0IaWw-yRYT97t9e7

dconrad:
So I've got enough code into this gerrit patch that it at least successfully compiles. It is definitely rough. I haven't successfully gotten any sort of life signs out of the player yet though - the backlight doesn't light, and the LCD doesn't show anything when I shine a flashlight into it.

I've been trying to use usbboot with:

--- Code: ---[root@localhost ingenic_tools]# ./usbboot --cpu x1000 --stage1 ../../build-erosqnative-boot/spl.erosq --wait 5 --stage2 ../../build-erosqnative/rockbox.erosq
--- End code ---

Is there anything super-obviously-wrong with what I'm doing - or my patchset?

amachronic:
The command line is wrong: use rockbox.bin. The scramble image has 8 bytes of header garbage at the beginning and obviously nothing will work if you get an illegal instruction right at the beginning of execution... assuming it gets that far. Does usbboot report everything is loaded? If you get an error on the 2nd stage it's a problem in the SPL (Use --verbose as the first argument)

I'll check your patch sometime tomorrow. I've been up till 2am trying to debug a weird issue with the shanling and my 256gb card with no luck. So, got to sleep now. Have fun with your problems!

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version