Presentation logic is the purview of View instances ( fyi, views are not dumb templates ).
Just because you decided to interact with the site via mobile device instead of desktop does not change the domain business logic. Model stays the same. This change affects only view and depends on how well written your views are. Basically there are two options:
View uses different templates for desktop and mobile; requests required information from model layer; renders templates. This relies on fact, that most of the information will be the same for both mobile and desktop clients.
You have different view for mobile and desktop, and it is already known which templates are available for each view. In this case view requests on very specific information from model layer, before rendering it with templates.
The second way would be better for high-load systems (you might save a little by having more precise interaction with storage), but come with some code duplication.
Of course you could have such precise requests in option nr.1, but that would require to have a if ($desktop) .. else
block repeating though-out the view, and would be a clear sign, that code has to be split in two classes and polymorphism employed.
What about the controllers ?
In both options controller stays the same. It only affects view by either changing a state of view (in first case) or deciding, which type of view will be created (in second case).
If you need to hide some controller actions from mobile users (which would be already partially accomplished by having different templates), you could implement some sort of ACL, which lets you decide, if user is allowed to access specific method on the controller.
Of course, this all depends on your understanding of MVC.