Crumbled queso fresco, sliced avocado, sour cream, cilantro leaves and lime wedges, for serving
Make the beans
In a medium saucepan, heat the olive oil. Add the onion and garlic, and cook over moderately high heat until softened, about 8 minutes. Stir in the tomatoes, chipotle pepper, adobo sauce and cumin; cook for 5 minutes. Stir in the beans, cilantro and salt and cook until heated through, about 3 minutes.
Make the waffles
In a blender, combine the milk, onion, garlic, jalapeño, sugar and salt. Preheat a waffle iron to medium-high and grease with vegetable oil.
In a large bowl, whisk the flour with the masa harina and baking powder. Whisk in the eggs, butter and milk mixture until combined. Pour 1/4 cup of the batter into each waffle iron square; close and cook until crisp, about 5 to 6 minutes.
Meanwhile, prepare the eggs
In a large skillet, heat the butter. Crack the eggs into the skillet and season with salt and pepper; cook over moderate heat, turning once, until whites are set and yolks are slightly runny, about 3 minutes.
Transfer the waffles to plates and top with the beans and fried eggs. Serve, passing the queso fresco, sliced avocado, sour cream, cilantro and lime wedges at the table.