>>+ >>+static int __init brownstone_init_mmc(void) >>+{ >>+ /* >>+ * PDn: GPIO58; RESETn: GPIO57 >>+ * 8787, RESETn keeps high, PDn control power >>+ * on: PDn 1; off: PDn 0; >>+ */ > > Comment unclear > > GPIO57 is power > GPIO58 is reset yes, typo, thanks > > > >>+ int RESETn = mfp_to_gpio(MFP_PIN_GPIO58); >>+ >>+ if (gpio_request(RESETn, "sdio RESETn")) { >>+ pr_err("Failed to request sdio RESETn gpio\n"); >>+ return -EIO; >>+ } >>+ gpio_direction_output(RESETn, 1); >>+ gpio_free(RESETn); > > > The 8787 data sheet indicated that PDn should be inactive as well as reset before > initiating power up. > > Pull PDn high. The PDn is super-set of RESETn, keep RESETn high, and control 8787 with PDn is enough. The "Internal Reset" in data sheet is not RESET pin. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html