On Thu, Feb 9, 2017 at 2:42 AM, Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> wrote: >> The AMUX is just one big mystery to me, it's one of those areas where I >> think a real datasheet would be extremely helpful. >> > > After additional research and a long chat with Stephen this is what I > have come up with. > > On PM8058 you have 16 AMUX channels that can be either read as raw, > scaled or dived by 3, this is selected by the 2 "premux" bits in the > AMUX selector register. > > AMUX channel 5-9 are called MPP5-9, > connected to a switching matrix so each MPP is configured to output its > signal on one of the 5 mpp-amux-channels. I.e. it's probably better to > rename these just "AMUX5" through "AMXU9". Awesome, that part is encoded into the next iteration of the driver. > On PM8921 this changes somewhat and an additional mux is introduced. > The first premux looks similar to pm8058, but with no direct MPP AMUXes > to be selected. Premux 1 or 2 is used to select the second level mux. > > This mux has channels: > 1: usb_sns > 2: dcin_sns > 3: amux3 (reserved and called pa_therm) > 4: amux4 (reserved and called amux_in) > 5-8: amuxX (as configured output of MPPs) > > Premux 2 has the same set of channels, but with a divisor of 3. > > The MPP1/MPP2 AMUX channels in premux 0 found downstream are now > reserved - likely they the hardware used to select unity and div/3 input > from the second level mux. That is some serious silicon duct tape work going on here... OK I am trying to accomodate it, but I will likely need verification on real hardware making use of the premuxed thingies. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html