Combine onion and yam in large skillet and cook over medium-high heat with olive oil until onion becomes translucent (5-10 minutes). Remove from heat and toss with spices (cumin, cayenne, and chili powder).
In a large pot, combine beans, canned tomatoes, veggie stock, and onion/yam mixture and bring to a boil. Once boiling, turn heat down to simmer for about 45 minutes (no lid) until broth begins to thicken.
Add salt, pepper and corn kernels and cook for another 15 minutes.
Serve with sliced avocado, crushed tortilla chips, and cilantro.